我收到错误:
安装软件包 kernel-2.6.36-2.x86_64 需要 / 文件系统上的 52MB
我怎样才能安全地扩展“/”分区?
谢谢
答案1
如果您使用 LVM 并且卷组中有可用空间:
# lvextend -L +500M /dev/vg0/root
# resize2fs /dev/vg0/root
(假设您的根文件系统位于名为 vg0 的 VG 上名为 root 的 LV 上。)
如果你不使用 LVM,则需要使用 parted 等分区编辑器(http://www.gnu.org/software/parted/manual/parted.html) 调整磁盘分区大小以创建必要的空间。完成后,使用 resize2fs 扩大文件系统。请注意,如果不小心,此过程可能会导致数据丢失。
您还可以从根文件系统中删除一些内容。如果 /var 位于同一文件系统上,则可能存在一些文件(例如,/var/cache)可以简单地删除(例如,apt 和 yum 都在安装软件包之前将其存储在 /var/cache 的子目录中)。
答案2
您确定无法清除 / 分区上的 52MB 空间吗?也许可以删除旧内核(“rpm -qa | grep '^kernel'” 来列出它们),也许可以从 /var/tmp、/var/cache 或 /tmp 中清除一些空间?也许运行“du -x / | sort -rn | less”会显示一些可以清除的文件或目录?
也许您可以将某些内容存档到另一个系统,安装内核,删除旧内核,然后恢复?
答案3
如果不知道您当前的配置,就不可能给出合理的答案。Sean 的答案是一个很好的解决方案 - 假设您有/不需要的东西。但是如果您的整个磁盘真的已满,那么除了添加更多存储空间之外,您没有太多选择。
除了知道您是否使用 LVM、您当前设置了哪些分区以及这些分区的用途之外,我们还需要知道您设置了哪些文件系统。可能可以启动从 CD/USB并使用重新组织您的分区分区。
另一方面,它可能像降到单用户模式并映射到备用分区一样简单,例如
mkfs -t ext4 /dev/sdb5
mkdir /newvar
mount /dev/sdb5 /newvar
mv /var/* /newvar/
umount /newvar
rmdir /newvar
echo '/dev/sdb5 /var ext4 defaults 1 1' >>/etc/fstab
mount /var