ubuntu解決依賴未安裝的問題


今天在使用

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類型的內核時,同樣使用上面的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM