4 months ago
- modetc 是一个 Linux 内核模块,能够重写文件操作中的路径,使用户可以移动文件而程序不会察觉到这些变更。
- 主要用途:将 dotfiles 从主目录迁移以符合 XDG 基本目录规范,例如将 ~/.ssh 移动到 ~/var/lib/ssh。
- 通过模块参数配置:homedir、default_rule、rules_file 和 debug。
- 规则是简单的文本搜索替换操作,按顺序应用,最多支持 16 条规则。
- 可通过 /proc/modetc 发送运行时命令,例如暂停重写或重新加载规则。
- 构建说明包含使用 Nix 或基础工具链配合 make。
- 安装方式因发行版而异,提供针对 NixOS 和其他系统的具体指导。
- 工作原理是通过在 VFS 层函数插入 kprobes 来修改内核空间的文件路径。
- 相比替代方案(libetc、rewritefs)的优势:支持静态链接程序、开销极小、可快速切换。
- 采用 GNU GPL v3 或更高版本授权。