我是 Linux 新手,不小心卸载了很多软件包。我尝试按照此帮助页面上的建议全新安装 Wine:如何卸载 wine 1.5?在我注意到后面的用户发出的警告之前,我打开了终端并执行了:
apt-get remove wine\*
显然apt-get
将像 * 这样的字符解释为正则表达式中的符号,而不是 shell 样式的通配符,我刚刚删除了计算机上名称中带有字符串“win”的大多数软件包。
我在一切关闭之前退出了终端。有没有办法重新安装这些软件包并修补我的系统,而无需重新安装操作系统?
答案1
您可能需要进行备份,然后完全重新安装。
我刚刚在虚拟机上尝试过这个来查看效果。
sudo apt-get remove wine\*
它警告我即将删除 120 个软件包,包括
Removing account-plugin-windows-live ...
Removing aisleriot ...
Removing apt-transport-https ...
Removing nautilus-share ...
Removing apturl ...
在其他人中
在实际系统上我会停在那里,因为那足以告诉你你做错了什么。但由于这只是一个测试系统,所以我继续进行。
我的完整清单如下:Ubuntu Pastebin
您可以在系统中找到列表,/var/log/apt/term.log
我将其复制到外部驱动器并将其打印出来。
当我重新启动时,Unity 已经消失了,所以我不得不使用Ctrl+ Alt+F6来进入文本控制台。
您可以使用以下方法恢复这些内容
sudo apt-get install package
用每个包名替换包。我试了几次,看起来效果不错,但您会收到一些“此包已安装”错误,因为安装一个包可能会将其他包作为依赖项引入,因此当您要求安装它时,它已经安装好了。
使用实时 DVD 或 USB 启动、复制个人文件然后重新安装可能比手动放回所有软件包更容易。如果我遇到这种情况,我就会这么做。
答案2
如果您打开软件中心,选择历史记录>删除,您将看到按日期从计算机中删除的软件列表,如下所示:
您可以使用它来查看哪些软件包已被删除,以便重新安装它们。
笔记: apt-get remove wine\*
应该删除软件包但没有删除配置文件,所以您的设置应该没问题。
答案3
我在错误地 --purge wine* 时遇到了类似的问题,我设法使用以下步骤解决了该问题:
. CTRL + ALT + F1 . sudo vi /etc/resolvconf/resolve.conf.d/tail
将这两行添加到文件中
名称服务器 8.8.8.8 名称服务器 8.8.4.4
使用 ESC 保存然后 : 然后 :wq
. sudo /etc/init.d/resolvconf restart . sudo apt-get install ubuntu-desktop . sudo apt-get upgrade . sudo apt-get update . sudo reboot