挂载到非空目录,然后删除原始文件

挂载到非空目录,然后删除原始文件

我的磁盘上有一些未使用的空间,并决定使用其中的一小部分来创建一个单独的 /var 分区。可能有一种更简单的方法可以做到这一点,但我的想法是

  1. 将现有的 /var 目录复制到该分区;
  2. 将分区挂载到现有的 /var 目录上;
  3. 使用另一个系统(磁盘上的另一个发行版或 Live CD)在未安装分区时删除原始 /var 内容。

我已经完成了前两个步骤,到目前为止似乎还不错。我在 fstab 中创建了一个条目以在启动时安装,我将在删除之前对其进行测试。但我想知道这是否是一个有效的策略,是否是一个好主意和/或是否有更好的方法。对我来说,更多地尝试超越基础知识的安装对我来说是一种学习经历。

编辑(结果):

感谢以下建议,我完成了步骤 3,而无需使用第二个系统。我使用的方法是使用命令重新挂载根文件系统mount --bind / /mnt/temp,然后/mnt/temp/var删除那里的文件和目录。

我这样做后提出的一个建议是创建一个虚拟文件,然后检查安装的 /var 目录以确认该目录中没有看到它。但我比较了时间戳,发现它们不同,所以我确信自己没问题。

谢谢大家的建议。

答案1

如果您使用的是 Linux,您可以:

  • 将根文件系统挂载到随机挂载点上。我通常用于/mnt此类事情。

    mount --bind / /mnt
    
  • 然后您可以(重新)移动文件/mnt/var

并非所有操作系统都允许文件系统同时安装在第二个安装点上,这就是我写“在 Linux 上”的原因。只要尝试一下安装,它不会破坏任何东西。

答案2

我将假设(非常危险,我知道)您的主分区空间不足,并且已添加新磁盘。

/dev/sda1 /boot /dev/sda2 / /dev/sdb1 /var

假设您已将 sda2 上的 /var 文件夹复制到 sdb1 上的分区,您可以再次挂载 sda2:

mount /dev/sda2 /root/tmp
cd /root/tmp/var
rm -rf *

您现在位于旧的“/var”目录中,您可以通过创建一个文件来检查,它不会在/var下,而是在/root/tmp/var下

现在您可以安全地删除 /root/tmp/var 上的文件并 umount tmp。

免责声明:没有保修,使用风险自负,不要相信我(或互联网上的任何其他人)进行备份!

相关内容