如何将所有包恢复为正式版?

我从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 ,但看看它是如何进行的。