如何撤消apt-get删除?

我知道这是有趣的情况,但我使用sudo apt-get remove python从Ubuntu删除了所有相关的程序的python? 很明显,我可以安装回python,但它会花费我很多时间来安装我删除的所有程序。 也许有一些解决办法?

谢谢

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

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

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 

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

可以在terminal中运行以下代码:

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

看看输出,然后使用

 sudo apt-get install [packages] 

并用返回的最后一行软件包replace[软件包](注意可以换行)。

查找所有卸载的软件包。 它存储在/var/log/apt/history.log 。 你可以编写一个shell程序来安装每个被删除的包。 写在任何文本编辑器GNU Emacs,vi,GNU Nano。 通过terminal执行。 所有卸载的程序将自行重新安装。

要添加到ablackhat的答案中,可以将/var/log/apt/history.log最后一个删除命令后的所有内容复制并粘贴到新的程序员编辑器中。 正则expression式replace:.*?, (空string),并复制所有由空格分隔的包。 然后运行$ sudo apt-get install <paste>

升级大部分恢复,其余..你可以使用上面显示的技术。 升级只需键入“sudo apt-get upgrade”

如果你

  apt-get install python 

Python将重新安装所有的先决条件,这是我所假设的所有相关的程序你说的?