/ 没有足够的空间来安装新的内核更新

/ 没有足够的空间来安装新的内核更新

在最近的更新中我收到了这个:

Installing: kernel-default-2.6.37.6-0.11.1 [error]
Installation of kernel-default-2.6.37.6-0.11.1 failed:
(with --nodeps --force) Error: Subprocess failed. Error: RPM failed:    installing package kernel-default-2.6.37.6-0.11.1.x86_64 needs 147MB on the / filesystem


Abort, retry, ignore? [a/r/i] (a): i
Installing: kernel-desktop-2.6.37.6-0.11.1 [error]
Installation of kernel-desktop-2.6.37.6-0.11.1 failed:
(with --nodeps --force) Error: Subprocess failed. Error: RPM failed:    installing package kernel-desktop-2.6.37.6-0.11.1.x86_64 needs 148MB on the / filesystem


Abort, retry, ignore? [a/r/i] (a): i
Installing: kernel-source-2.6.37.6-0.11.1 [error]
Installation of kernel-source-2.6.37.6-0.11.1 failed:
(with --nodeps --force) Error: Subprocess failed. Error: RPM failed:    installing package kernel-source-2.6.37.6-0.11.1.noarch needs 432MB on the / filesystem

我认为这意味着我的/分区需要一些空间。所以我检查了尺寸/空间:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              25G   24G  208M 100% /

怎么/长到这么大了!?这是常见现象吗?是否有快速释放空间的技巧?我认为其中有些东西我没有使用,并且在过去的一年里我已经能够轻松更新内核 - 所以有些东西正在积累。

我宁愿弄清楚我释放了什么(旧内核是否保留?),而不是重新分区我的整个驱动器以增长/

答案1

在进行以下任何更改之前先进行备份
如果没有备份或不愿意丢失所有数据,请勿继续操作。

跑步

du -sh /home

获取 /home 目录使用的大小。
如果足够大(>=4G),/home 是拥有自己的分区的良好候选者。

从 livecd 或 系统救援光盘
根据您的分区表类型(GPT 或 MBR),使用gdiskpartedfdisk


使用您喜欢的 fstype创建新的分区格式
,例如

mkfs.ext4 /dev/sda2
mkdir /mnt/os
mkdir /mnt/home
mount /dev/sda1 /mnt/os    # mount your OS, now all on /
mount /dev/sda2 /mnt/home  # mount newly formatted partion
cp -a /mnt/os/home/* /mnt/home/ # copy current /home data to new partition
cd /mnt/os/home                 # remove old home data, leaving mountpoint
rm -rf .

现在您需要 cd 到 /mnt/os/etc 并编辑 fstab 并添加

/dev/sda2 /home ext4 defaults 0 1

有不止一种方法可以做到这一点。根据您的经验和技能,您可以通过 UUID 进行安装(首选,但不是必需的)。

可以对其他文件系统执行相同的操作,如果您安装了很多 google 工具或 eclipse,它们会安装在 /opt 中,并且它也是一个很好的候选者,可以放在自己的分区中。

如果您拥有许多分区,您将需要切换到 GPT 分区和/或 LVM。如果是这样,请重新提问

答案2

25GB 系统分区是大还是小取决于您安装了多少软件(这是单一用途服务器还是具有大量特定于域的软件的共享工作站?)以及潜伏着多少数据/var(您是否该分区中有 200 个用户的邮件?)。

寻找累积残渣的好地方包括:

  • /tmp:里面有旧的大文件吗?您可能想要创建/tmp一个tmpfs文件系统,以便它不消耗磁盘空间并在每次启动时重新启动。
  • /var/tmp: 里面有大文件吗?
  • /var/log:失控的服务是否产生了千兆字节的日志?
  • /var/cache:是否存在未正确清除的大型缓存?特别要检查您的发行版将下载的软件包放在哪里(例如/var/cache/apt/archives/在基于 APT 的发行版上)。
  • 您是否安装了任何未使用的软件?这通常不多,但您也许能够找到系统上仍没有任何可执行文件使用的库版本。像deborphan(在 Debian 及其衍生版本上)这样的程序可以提供帮助。检查一下您是否也受到旧内核的困扰。

如果您找不到要删除的内容,您至少可以查看占用空间的内容du图形替代方案例如猴面包树(Gnome 实用程序)。

/usr如果其他地方还有剩余空间,您可以将or /var(或/opt或,如果相关)的一些大块移动/srv到不同的分区并创建符号链接。

相关内容