如何将所有包恢复为正式版?
我从PPA安装了许多软件包,现在我想恢复正式版。 /etc/apt/sources.list.d
不再存在许多PPA,因此ppa-purge
不适用于它们。
最直接的方式是什么?
那么你可以删除并重新安装包
ppa-purge
可能仍然是您进行干净逃生的最佳选择。 只需重新添加包来自的PPA,然后使用ppa-purge
将其杀死。 我不确定你安装了多少个PPA但如果它少于10个, 我会考虑这样做。
如果您认为该方法太软,我刚刚编写了一些bash
-porn来帮助识别其安装源现在仅存在于/var/lib/dpkg/status
软件包版本。 这与“孤儿”包不同。
for p in `dpkg-query --showformat='${Package} ' -W`; do if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then echo $p; fi; done
我不确定这是否完美但是试一试。 请注意,它只会打印出包的名称。 您将不得不手动卸载/重新安装每个包。
要做到这一点,首先通过运行apt-cache policy
来查看该软件包可用的内容,然后您将看到软件包版本列表(包括/var/lib/dpkg/status
版本)。 找到最近的外部并运行:
sudo apt-get install =
您可能需要在install
后添加--reinstall
,但看看它是如何进行的。