![使用符号链接移动 .deb 包创建的目录 - 会有什么破坏吗?](https://linux22.com/image/69783/%E4%BD%BF%E7%94%A8%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E7%A7%BB%E5%8A%A8%20.deb%20%E5%8C%85%E5%88%9B%E5%BB%BA%E7%9A%84%E7%9B%AE%E5%BD%95%20-%20%E4%BC%9A%E6%9C%89%E4%BB%80%E4%B9%88%E7%A0%B4%E5%9D%8F%E5%90%97%EF%BC%9F.png)
有时,在 tmpfs / 闪存或 ssd / 硬盘之间移动包的目录似乎很有用。管理闪存寿命、磁盘旋转或仅管理可用空间。
如果用符号链接替换包使用的目录,包管理器有时会不会感到困惑吗?例如考虑 debsums...
绑定安装会更好地隐藏它吗?
答案1
另一方面,我相信systemd
一般不会考虑支持这样的符号链接。例如,我现在在启动时看到一条警告,何时/var/log
是符号链接:
systemd-tmpfiles[432]: "/var/log" already exists and is not a directory.
这是因为/usr/lib/tmpfiles.d/var.conf
。据我了解,这是作为一个概念的一部分设置的,您可以以某种方式启动/usr
并自动初始化系统状态的其余部分。例如,如果您简单地擦除/etc并重新启动,系统将恢复到系统默认设置。
另一个警告 - 如果您要从嵌套的绑定安装座。确保处理好依赖关系。在启动时,安装通常会自动排序,这很棒。但如果安装是通过符号链接而不是直接相互依赖,那么它似乎并没有神奇地解决。 (我相信启动时的安装是由 systemd 完成的)。
想要使用符号链接的可能原因是
- dpkg 将无法正常处理它们,例如,如果升级时更改了目录。
- 它们被视为单独的
fatrace
,因此更难以监视对单个设备的写入。 (从技术上讲,这并不完全是 的错误fatrace
;更多的是它使用的内核接口的一个怪癖)。 - 他们在 方面并不出色
df
。icinga
如果绑定安装的目录不是全局可读的,则的磁盘空间监控将发出警报。 - 如果您尝试绑定挂载 tmpfs 的某些部分,你正掉进兔子洞;您需要一个自定义 shell 脚本来首先创建目录。