ubuntu16.04刪除舊的linux內核:(在/boot空間滿了的情況)
今天想安裝搜狗輸入法,遇到了一個問題,就是/boot空間滿了,配置不了一些文件。
這裏記錄以下如何刪除不用的內核。
第一步:查看當前的內核情況
在終端輸入:
dpkg --get-selections |grep linux-image
然後發現列出來很多,install的表示已經是安裝的,deinstall表示未安裝。
查看我們在使用的是哪個內核:
uname -a
這個時候,網上教的辦法都是使用:sudo apt-get autoremove
,或者是:apt -f autoremove --purge
但是由於/boot已滿,以上的命令你用的時候都會提示:(什麼什麼依賴於什麼,但是它不會被安裝。。。。)
就算用:sudo apt-get -f install
一樣會提示依賴的問題。
這裏的解決辦法就是手動一個一個的卸載,並且,把依賴的不用包也能卸載掉
執行命令
在終端輸入:
dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)
左邊的終端顯示了我當前的內核安裝情況,它是不會列出你當前使用的內核的。(說明列出的這些內核都在佔用你的/boot分區)
如我右邊的終端顯示,依次刪除對應的內核即可:
例如刪除最下面這個內核:
sudo dpkg --purge linux-image-4.4.0-165-generic
注意,可能會發現這內核還會依賴於某個配置文件!!!
比如我要刪除 linux-image-4.4.0-171-generic的時候,
我運行:sudo dpkg --purge linux-image-4.4.0-171-generic
會提示我,這個文件被linux-modules-extra-4.4.0-171-generic依賴或者
被linux-image-unsigned-4.4.0-171-generic依賴
這個時候必須先刪除提示的依賴文件。
先
sudo dpkg --purge linux-unsigned-image-4.4.0-171-generic
再
sudo dpkg --purge linux-image-extra-4.4.0-171-generic
再
sudo dpkg --purge linux-image-4.4.0-171-generic
在刪除了多個內核文件以後,查看自己的/boot空間
運行:
df- lh
發現原本100%的/boot區現在變成了70%哈哈。空間就騰出了了。
再來安裝搜狗輸入法,成功!!!