/boot空間不足造成Ubuntu apt-get無法使用的問題

最近發現自己管理的一些Ubuntu Server的apt-get功能竟然無法使用,只要是要安裝新的套件就會出現類似下面這樣的錯誤。

root@serv01:/home/joseph# apt-get install php-mail
Reading package lists… Done
Building dependency tree
Reading state information… Done
You might want to run `apt-get -f install’ to correct these:
The following packages have unmet dependencies:
linux-image-server: Depends: linux-image-2.6.31-21-server but it is not going to be installed
php-mail: Depends: php-pear but it is not going to be installed
Recommends: php-net-smtp but it is not going to be installed
E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).

但如果是照著提示下 apt-get -f install 的話安裝也不會成功,經過檢查原來是Ubuntu Server在安裝套件時會自動更新Linux Kernel的image。

而我安裝系統的時後總是習慣將/boot切割為磁碟的第一個獨立的分割區,這樣做有一個好處是/boot總是會放在磁碟最裡面的cylinder。而/boot會使用的空間不多,一般而言50MB綽綽有餘。但是apt在更新image的時候並不會把舊的image丟棄,所以造成/boot爆滿的情況。

此時只要將/boot中舊的images搬走釋放出/boot的空間然後在下 apt-get -f install 就會自動更新kernel的image。