如果我有足够的空闲硬盘空间,我可以安全地移动 /tmp 分区或扩展 Ubuntu Linux 上的 /var 分区吗?

如果我有足够的空闲硬盘空间,我可以安全地移动 /tmp 分区或扩展 Ubuntu Linux 上的 /var 分区吗?

我已经有好几年没有定期使用 Linux 了。

几个月前,当我设置运行 Ubuntu 的新电脑时,我按照说明指南为 efi、swap、root、boot、var 和 tmp 创建单独的分区(按此顺序)。

因为我有一个 3 TB 的驱动器,所以我在磁盘末尾还添加了一个 FAT 分区,并留下 1.3Tb 未格式化/空白。

以下是磁盘工具中的内容

不幸的是,这导致

问题: 我大大低估了 /var 所需的空间大小。

建议解决方案 1: 首先,将分区 6(即 /tmp)进一步移至可用空间。然后,扩展分区 5(即 /var)以填充剩余空间。

建议解决方案2: 在空白处创建一个新的、更大的 /var 分区作为 sd8,然后将 /var 复制到该位置并删除原始的 /var[sd5]

这两种解决方案是否有效?如果有效,我该如何进行?

我认为我需要非常小心地进行安装、卸载和权限设置。我需要启动 LiveCD 吗?

或者,如果这些不起作用,我该怎么办?

谢谢!

PS,这是我通过终端设置的当前文件系统:

$ sudo df -h
[sudo] password for redacteduser: 
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           6.3G  2.6M  6.3G   1% /run
/dev/sda2       117G  6.2G  105G   6% /
tmpfs            32G     0   32G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
/dev/sda4       4.6G  175M  4.2G   4% /boot
/dev/sda1       3.9G  7.9M  3.9G   1% /boot/efi
/dev/sda3       1.1T  828G  216G  80% /home
/dev/sda6        23G   45M   22G   1% /tmp
/dev/sda5        23G   12G   11G  52% /var
/dev/sda7        58G   32K   58G   1% /dos
tmpfs           6.3G  904K  6.3G   1% /run/user/1000

我正在运行 Groovy Gorilla

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.10
DISTRIB_CODENAME=groovy
DISTRIB_DESCRIPTION="Ubuntu 20.10"
NAME="Ubuntu"
VERSION="20.10 (Groovy Gorilla)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.10"
VERSION_ID="20.10"

答案1

尝试任何操作之前请先备份。我了解到磁盘操作非常危险。

理论上是的,您可以直接扩展 /var。因为后面有空白空间。步骤是调整分区大小并让操作系统重新读取它 - 最佳做法是从可启动磁盘执行此操作,以便卸载文件系统,但我们当中的勇敢者/鲁莽者可能会在线执行此操作。调整 bock 设备大小后,重新启动,以便操作系统重新读取分区表并使用 resize2fs(或 resize4fs,具体取决于发行版 - 相同的工具)扩展分区。扩展分区可以在线完成。

如果您确实重建了系统,请考虑实施 LVM,它会插入一个抽象层,使磁盘操作变得更加容易。(此外,我通常发现较少的分区比多个分区效果更好)。

最后,我猜想一下,并提出一个可能有用的技巧。根据我的经验,/var 通常会因为 /var/log 而变得无法控制。如果是这样,您可以通过调整 logrotate 来解决根本问题。您还可以在另一个挂载点上创建一个新的日志目录,然后将 /var/log 移动到该目录,rmdir /var/log 和 ln -s /new/log/path /var/log - 重新启动或重启/重新加载任何打开的日志文件(例如 syslog)。这可以相当安全地远程完成,风险仅限于您的日志,假设这是问题的原因。

相关内容