我在 ec2 上运行 Linux 实例,图像的快照排序已被禁用。
在尝试从系统中卸载 open-jdk 时。我愚蠢地运行了命令
sudo apt-get remove open*
它开始删除许多包,所以我通过Ctrl+停止了该过程C。
我做了两次:
sudo apt-get remove open*
sudo apt-get remove openjdk*
我停止了两者之间的过程(Ctrl+ )。C
现在我发现我的其他应用程序无法运行,因为删除了软件包。
请指点,如何才能回到 apt-get remove 之前的状态。
提前致谢。
答案1
您可以获取文件中有关最近删除的软件包的信息(最近删除的所有软件包是什么)/var/log/dpkg.log
以及日期和时间。
awk '$3=="remove"' /var/log/dpkg.log
通过 查找并重新安装软件包apt-get
。
答案2
如果你查看该文件/var/log/dpkg.log
,你会看到所有与软件包相关的操作。因此,可以从此日志中检索已删除软件包的列表。
$ LIST=$(grep remove /var/log/dpkg.log|grep -v startup|grep open|awk '{print $4}')
$ sudo apt-get install $LIST
将建立一个以下列内容开头的软件包列表打开被删除的文件,将它们放在 shell 变量中,并允许您一次性将它们重新安装回去。