解决 apt 或 dnf 无法 tab 补全的问题
在使用一些非标准安装或最小安装的 Linux 的时候发现包管理器无法使用 tab 补全,通常是因为没有安装 `bash-completion` 包。 ``` # Debian系: sudo apt install bash-completion # 红帽系: sudo dnf install bash-completion ``` 一般重启后会正常,为了让 bash 立即生效则需要: ``` source /usr/share/bash-completion/bash_completion ...
2026/1/26 02:14:22 Linux 问题解决
对 (MPA) 多页面切换实现丝滑动画的探索
有接触过一点 Web 的朋友应该知道,SPA (单页应用) 总能实现非常丝滑的切换动画,而传统 MPA (多页应用) 由于每次切换页面都会重载一次 HTML、CSS、JS 资源,即使写了一些延时跳转机制 (如执行动画后多少毫秒跳转目标页面)、使用首屏动画,但也总感觉不是很丝滑,通常有动画断层,浏览体验不是很好。 但是直到有天我发现了一种新的浏览器原生 API :`View Transition`,了解到它最早是给 SPA 做的,但后续扩展了对 MPA 的支持,这么一来丝滑的页面切换动画不再是 ...
2026/1/21 08:10:36 Web开发
让服务在非 Root 权限下使用 80 或 443 端口
有段时间自己写 web server 的时候考虑到想直接绑定 80 和 443 端口,但默认情况下 Linux 只有 root 用户或经过提权才能绑定 1024 以下的端口(如 80、443)。此时如果既不想用特权用户权限跑某个服务(避免安全问题),也想使用这些端口,那就需要一些配置。 ### 方法 1:iptables 端口转发 --- 例子:将 80 端口流量转发到 8080 ``` sudo iptables -t nat -A PREROUTING -p tcp --dport 80...
2026/1/7 21:59:38 Linux 系统运维
AppImage 应用打包快速上手
Linux 有非常多的发行版,有太多不同的包管理方式,要接触非常多的打包方式,如 Debian (deb)、ReadHat 系列 (rpm)、Arch (pkg.tar.zst) 等..... 当然,还有一些容器方案像:Flatpak、Snap、玲珑 而 AppImage 呢,则非容器,而是将许多依赖包含在一个文件中,更像是一个经过压缩且便携式的可执行文件,可以随便挪动并使用,它会在第一次启动时候临时解压和挂载资源,所以启动时间稍微慢,但它有缓存机制,后续启动会加快。 既然它是非容器,那么...
2025/12/19 19:28:59 Linux
Flatpak 使用和应用打包快速上手
Flatpak,它是一种 Linux 跨发行版的通用软件包管理,使用沙箱隔离环境来运行程序,为了解决发行版应用分发碎片化、依赖冲突、权限管理混乱问题。开发者可以把应用统一封装成 flatpak 格式进行分发,这样就不用关心那些杂七杂八的问题,主要用于桌面应用(当然如果想打包 cli 也是可以的) ### Flatpak 的安装 --- 这里以 Debian 系为例。 ``` # Debian / Ubuntu sudo apt install flatpak ``` 添加 flathub ...
2025/11/26 20:51:46 Linux 容器