我已经从 PPA 安装了许多软件包,现在我想恢复到正式版本。许多 PPA 不再存在于 中/etc/apt/sources.list.d,因此ppa-purge不会对它们起作用。
最直接的方法是什么?
Oli*_*Oli 11
好吧,您可以删除并重新安装软件包
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
Run Code Online (Sandbox Code Playgroud)
我不确定这是否完美,但试一试。请注意,它只会打印出包的名称。您将不得不手动卸载/重新安装每个软件包。
为此,首先通过运行查看该软件包可用的内容,apt-cache policy <package>您将看到软件包版本列表(包括/var/lib/dpkg/status版本)。找到最近的外部并运行:
sudo apt-get install <package>=<version>
Run Code Online (Sandbox Code Playgroud)
您可能需要在之后添加一个--reinstall,install但看看它是如何进行的。