/ usr / lib,/ usr / share和/ usr / bin符号链接到另一个分区上的目录

我正在运行的服务器有15GB根分区,1GB交换分区和216.9GB主分区。 显然,服务器在某个时候在根分区上的空间不足,而不是扩展它,服务器的以前的维护者将/usr/lib/usr/share/usr/bin目录移动到/home/usr并build立符号链接到旧的位置的目录的新位置。

服务器运行Arch Linux 3.6.10-1。 根分区和主分区都有一个ext4文件系统。

除了小的细微差别,例如必须明确告诉在/usrsearch文件时遵循符号链接,这个设置是否有问题? 我对与安装相关的任何安全问题特别关心和好奇。

有两种可能的解决scheme,我会在这里考虑:

  1. 找出填满你的根分区的东西并修复它。
    这可能是正确的解决scheme – 有了15GB的根分区(和一个理智的分区布局 ),你真的不应该填满根分区。
    当然,如果数据是合法的并且分区布局不是理智的(例如, /var位于根分区上),则可能没有太多可以做的事情。

  2. 用合理的分区scheme重build服务器。
    如果你已经合法地填充了根分区,或者你的分区scheme不是理智的,那么你应该用更合适的分区布局来重build系统。
    这个解决scheme是非常痛苦的(你将不得不备份你的数据,重新安装系统,并恢复数据),但它会留下一个干净的机器,没有符号链接或绑定挂载点不应该是,为了你或者某个未来的pipe理员以后再行。

还有其他的解决scheme(比如瞄准使用绑定坐标的build议 ),但是我会认为这些是临时性的措施,当你计划一个真正的解决scheme的时候,让系统运行的时候给你一些时间。

使用装载与绑定选项,而不是符号链接,你不会有这样的问题

为此,您可以在/etc/fstab ( source ; french)中添加几行:

 /home/usr/bin /usr/bin none bind 0 0 /home/usr/share /usr/share none bind 0 0 /home/usr/lib /usr/lib none bind 0 0 

一般语法:

 /source /destination none [r]bind[,...] 0 0