今天在使用
sudo apt-get install ccache
命令安裝ccache時報出了一個錯誤:
liuru@liuru-ThinkPad-Edge-E540:~$ sudo apt-get install ccache 正在讀取軟件包列表... 完成 正在分析軟件包的依賴關系樹 正在讀取狀態信息... 完成 您可能需要運行“apt-get -f install”來糾正下列錯誤: 下列軟件包有未滿足的依賴關系: linux-image-extra-4.4.0-101-generic : 依賴: linux-image-4.4.0-101-generic 但是它將不會被安裝 linux-image-extra-4.4.0-87-generic : 依賴: linux-image-4.4.0-87-generic 但是它將不會被安裝 linux-image-generic : 依賴: linux-image-4.4.0-101-generic 但是它將不會被安裝 E: 有未能滿足的依賴關系。請嘗試不指明軟件包的名字來運行“apt-get -f install”(也可以指定一個解決辦法)。
剛開始時沒有想到是因為內核的版本過多的原因,並且使用它的提示
apt-get -f install
也是同樣沒有得到任何的有用的改變,還以為是我的apt-get 有問題了,所以才會出現這樣的問題,使用了如下的命令
sudo apt-get update
同樣是有錯,錯誤信息如下:
W: 校驗數字簽名時出錯。此倉庫未被更新,所以仍然使用此前的索引文件。GPG 錯誤:http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: 下列簽名無效: KEYEXPIRED 1507497109 W: 倉庫 “http://ppa.launchpad.net/vokoscreen-dev/vokoscreen/ubuntu xenial Release” 沒有 Release 文件。 N: 無法認證來自該源的數據,所以使用它會帶來潛在風險。 N: 參見 apt-secure(8) 手冊以了解倉庫創建和用戶配置方面的細節。 W: 無法下載 http://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/3.2/Release.gpg 下列簽名無效: KEYEXPIRED 1507497109 E: 無法下載 http://ppa.launchpad.net/vokoscreen-dev/vokoscreen/ubuntu/dists/xenial/main/binary-amd64/Packages 403 Forbidden W: 部分索引文件下載失敗。如果忽略它們,那將轉而使用舊的索引文件。
后來我就強制安裝了它的未安裝的依賴,但是出現了磁盤寫滿了的錯誤,/boot的分區內存不夠的問題,后來查了一下說是有多余的內核、舊的版本,需要使用下面的命令查看一下:
dpkg --get-selections |grep linux-image
liuru@liuru-ThinkPad-Edge-E540:~$ dpkg --get-selections | grep linux-image linux-image-4.4.0-38-generic deinstall linux-image-4.4.0-47-generic deinstall linux-image-4.4.0-51-generic deinstall linux-image-4.4.0-53-generic deinstall linux-image-4.4.0-64-generic install linux-image-4.4.0-66-generic install linux-image-4.4.0-71-generic install linux-image-4.4.0-72-generic install linux-image-4.4.0-75-generic install linux-image-4.4.0-78-generic install linux-image-4.4.0-79-generic install linux-image-4.4.0-81-generic install linux-image-4.4.0-83-generic install linux-image-extra-4.4.0-101-generic install linux-image-extra-4.4.0-38-generic deinstall linux-image-extra-4.4.0-47-generic deinstall linux-image-extra-4.4.0-51-generic deinstall linux-image-extra-4.4.0-53-generic deinstall linux-image-extra-4.4.0-64-generic install linux-image-extra-4.4.0-66-generic install linux-image-extra-4.4.0-71-generic install linux-image-extra-4.4.0-72-generic install linux-image-extra-4.4.0-75-generic install linux-image-extra-4.4.0-78-generic install linux-image-extra-4.4.0-79-generic install linux-image-extra-4.4.0-81-generic install linux-image-extra-4.4.0-83-generic install linux-image-extra-4.4.0-87-generic install linux-image-generic install
而我使用了uname -a 查看了我正在使用的內核版本是哪個
Linux liuru-ThinkPad-Edge-E540 4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
如上可以看出我正在使用的是83,所以其他的我便可以刪除,清理一些/boot的空間.
於是我便使用了
sudo apt-get autoremove linux-image-4.4.0-31-generic linux-image-4.4.0-34-generic
命令打算刪除了多余的內核,但是又報錯了,因為,我的內核版本中有一個以上的內核依賴缺失,於是乎,嘗試了另外一種方法,並且autoremove 和remove purge 都行不通。但是前兩種的原因是不能清理徹底,后面的可以清除干凈
但是還可以通過下面的命令直接清除干凈
sudo dpkg -P linux-image-4.4.0-71-generic linux-image-extra-4.4.0-71-generic linux-image-4.4.0-72-generic linux-image-extra-4.4.0-72-generic
刪除deinstall類型的內核時,同樣使用上面的方法。