![重新安装所有 Debian 软件包](https://linux22.com/image/48934/%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85%E6%89%80%E6%9C%89%20Debian%20%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我错误地杀死了在后台运行的 dpkg 进程,我想重新安装所有软件包以确保一切正常。
首先,我尝试获取所有软件包的列表并重新安装它们
dpkg --get-selections | grep -v deinstall | awk '{print $1}' > list.log
apt-get install --reinstall $(cat list.log)
但有这样的消息:
E: Couldn't configure pre-depend debconf:i386 for console-setup:i386, probably a dependency cycle.
我尝试过apt-get -f install
,但没有成功。
作为最后的手段,我重新安装了所有校验失败的程序:
dpkg -l | grep ^ii | awk '{ print $2 }' | xargs debsums -s -a
我应该怎么做才能重新安装所有内容?
编辑 :问题解决了。问题是别的(见评论)。我知道这是 Debian 应该避免的事情。
答案1
使用 Aptitude 时,有一种简单快捷的方法:
sudo aptitude reinstall '~i'
这将重新安装所有当前安装的软件包。
答案2
试试这个,记住我做过的不是测试一下:
dpkg --get-selections > selections
sudo dpkg --clear-selections
sudo dpkg --set-selections < selections
sudo apt-get install --reinstall dselect-upgrade
资料来源:
答案3
以防万一,尝试重新安装每个包裹:
for i in $(cat list.log); do apt-get install --reinstall "$i"; done
您可能还希望对所有问题选项添加“是”答案。
答案4
我有一些奇怪的行为,所以我像这样重新安装了所有软件包。为我解决了这个问题。需要几个小时。
for package in $(apt list --installed | grep -P ".*(?=/)" -o); do echo $package; done;
替换echo
为sudo apt install --reinstall -y
重新安装所有软件包,或者根据需要替换为其他任何内容。