如何撤消 apt-get remove?

如何撤消 apt-get remove?

我知道这种情况很有趣,但是我使用 sudo apt-get remove python 从 Ubuntu 中删除了 python 及其所有相关程序?显然我可以重新安装 python,但安装我删除的所有程序需要花费大量时间。也许有解决办法?

谢谢

答案1

没有简单的方法,但如果你查看 /var/log/apt/history.log,你可以看到删除了什么。只需重新安装每个被删除的软件包即可。

答案2

我刚刚犯了这个错误,你可以运行下面的命令来撤消软件包的删除,这将从日志文件中提取已删除软件包的信息并重新安装它们

echo '#!/bin/bash' > restore
echo sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore 
./restore

答案3

我发现了一个很酷的技巧Ubuntu 论坛

可以在终端中运行以下命令:

awk '!/^Start|^Commandl|^End|^Upgrade:|^Error:/ { gsub( /\([^()]*\)/ ,"" );gsub(/ ,/," ");sub(/^Install:/,""); print}' /var/log/apt/history.log

查看输出,然后使用

sudo apt-get install [packages]

并将 [packages] 替换为返回的最后一行包(请注意,它可能会换行)。

答案4

要补充 ablackhat 的答案,您可以将最后一个删除命令后的所有内容复制并粘贴/var/log/apt/history.log到新的程序员编辑器中。正则表达式替换:.*?,(空字符串),并复制所有生成的空格分隔的包。然后运行$ sudo apt-get install <paste>

相关内容