Kernel
/ 上沒有足夠的空間來安裝新的核心更新
在最近的一次更新中,我收到了這個:
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% /
怎麼
/
長得這麼大!?這是一種常見的情況嗎?是否有一個快速的技巧來釋放一些空間?我假設有些東西我沒有在那裡使用,並且在過去的一年裡我已經能夠輕鬆地更新核心——所以有些東西正在積累。我寧願弄清楚我釋放了什麼(舊核心是否保留?)而不是重新分區我的整個驅動器來增長
/
。
在進行以下任何更改之前進行備份
如果沒有備份或願意失去所有數據,請不要繼續操作。
跑步
du -sh /home
獲取 /home 目錄使用的大小。
如果它足夠大(>=4G),/home 是擁有自己分區的好選擇。
從 livecd 或 SystemRescueCd
引導 根據您的分區表類型(GPT 或 MBR),使用gdisk
、parted
或fdisk
。使用您喜歡的 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。如果是這樣,請重新提出問題