Answers:
Synaptic软件包管理器(可从软件中心获得)是用于管理软件包的图形工具,在许多功能中,它允许您按软件包的状态过滤软件包。单击几下,通过在左侧面板上选择所需的类别,将显示需要修复的软件包列表。
无需下载,无需GUI:
您可以列出损坏的包裹:
dpkg -l | grep ^..r
r state(在第三个字段上)表示:reinst-required(软件包已损坏,需要重新安装)
列出并删除这些软件包:
dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done
(从此线程复制答案。)
要清理从ppa安装的软件包,应该使用ppa-purge
,假设ppa是ppa:xorg-edger / ppa
sudo apt-get install ppa-purge
sudo apt-get update
sudo ppa-purge ppa:xorg-edger/ppa
sudo apt-get install -f
如果在第5步之后您仍然有错误,请返回并更新您的问题。
祝好运。
我已经制作了一个脚本来修复损坏的程序包。这将在/var/log/dist-upgrade/apt.log中搜索损坏的软件包,然后找到软件包名称,然后对它们应用指定的命令。
请谨慎使用此脚本,因为有时某些损坏的软件包与系统相关,并且可能会引起新问题。因此,请使用install或upgrade命令而不是remove命令。
使用以下命令下载脚本:
wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh
然后运行它:
./fix-broken.sh
您还可以设置要应用于损坏的软件包的操作,如下所示:
./fix-broken (install|upgrade|remove)
默认操作是remove。
Broken dependencies
在我的状态页面。