我已经有好几年没有定期使用 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)。这可以相当安全地远程完成,风险仅限于您的日志,假设这是问题的原因。