将 /var/lib 移至新分区

将 /var/lib 移至新分区

我有一个完全驻留在(相对较小)单个硬盘(/dev/sda)上的系统。现在我预计 /var/lib/ 会填充越来越多的文件(由于使用 lxd 容器),因此我想将其转移到我正在添加到系统的另一个硬盘或分区上。

我想到两种方法,我想向更有经验的人寻求一些建议,看看哪种方法更可取

方法 A - 符号链接

  1. sudo cp -a -r /var/lib/ /mnt/new-hd/
  2. sudo mv /var/lib /var/old-lib
  3. sudo ln -s /mnt/new-hd/lib
  4. 重启

方法 B - 在现有的 /var/lib 上安装新文件夹

  1. sudo mnt /dev/new-hd
  2. /mnt/temp sudo
  3. cp -a -r /var/lib/* /mnt/temp
  4. sudo 卸载 /mnt/temp
  5. 为 /dev/new-hd 创建 fstab 条目(挂载到 /var/lib)
  6. sudo 安装 -a

现在来看。我赞成方法 B稍微。有什么评论吗?

在我的用例中,它与 lxd 有关,所以我还想知道移动整个 /var/lib 是否是最佳选择,还是应该只移动相关部分?移动整个 /var/lib 的优点是具有与默认结构非常相似的结构(因此需要注意的自定义事项更少)

答案1

如果您是从头开始构建系统,您可能会使用方法 B,因为这是将文件系统分布到多个物理设备上的正确方法。因此,如果您可以执行 B,我认为那是更合理的方法。如果您计划频繁交换不同的副本,或者需要将一个副本放在两个地方,我才会使用方法 A。

答案2

真的有必要在正在运行的机器上执行此操作吗?为什么不下载任何 Linux 发行版的 LiveCD,然后从 CD/USB 运行系统?您应该能够将 /var/lib 移动到任何其他位置而不会出现任何问题。不要忘记复制/移动文件权限。

相关内容