我不小心删除了所有以名称开头的包jpeg
:
sudo apt-get remove jpeg*
Run Code Online (Sandbox Code Playgroud)
这搞砸了很多事情,删除了 Unity、Firefox、Flash 播放器等。
我以某种方式设法恢复了桌面和统一,但是很多事情仍然存在问题。例如.rpm
文件,.tag.gz
根本不会打开。
我想要的是一种解决所有问题的方法。相当于使用 Windows 光盘进行“修复安装”的东西。
任何提示,任何人?
And*_*ini 43
您可以安装ubuntu-desktop
任务:
sudo apt-get install ubuntu-desktop^
Run Code Online (Sandbox Code Playgroud)
这将安装您已删除的标准 Ubuntu 桌面的所有软件包。它不会恢复您安装的不属于标准桌面的软件包(即它会重新安装 Unity 和 Firefox,但不会重新安装 Flash 播放器)。
要安装这些软件包,您可以查看/var/log/apt/history.log
并准确查看已删除的内容。
注意:安装ubuntu-desktop^
任务与安装ubuntu-desktop
包不同。第一个会给 APT 一些解决涉及虚拟包的依赖的提示,后者会给 APT 选择包的自由(并且最终会安装无用的东西,比如ubiquity
)。
为什么会出现问题? apt-get remove jpeg*
将不删除开头的所有包jpeg
。相反,它将删除包含jpe
在其名称中的所有包。这是因为 apt-get 使用正则表达式,因此jpeg*意味着:包含jpe后跟零个或多个g 的所有内容。
Eli*_*gan 12
解决此问题的最佳方法可能是重新安装 Ubuntu。(您应该先备份您的文档,即使您打算在不重新格式化的情况下重新安装。)
如果您确实想尝试修复系统,请查看包管理器的日志文件以查看删除了哪些包,然后重新安装它们:
/var/log/dpkg.log
(完整的信息,但很难阅读)/var/log/apt/history.log
(缩写会告诉您删除或以其他方式修改的每个包 - 可能是您最好的选择)/var/log/apt/term.log
(如果您apt-get
在终端中删除了软件包,这应该显示您当时看到的内容,包括将要删除的软件包的列表 - 所以这可能是最好的方法)仅重新安装名称以 开头的包是jpeg
行不通的,因为许多(几乎可以肯定是大多数)被删除的包都被删除了,因为它们依赖于这些包。
以后,我建议仔细检查卸载软件包的后果。如果您从命令行工作,您将始终收到通知。(除非您使用该-y
选项,在这种情况下,通常不会。我建议不要使用该选项,除非您知道自己在做什么,尤其是对于删除。)
检查使用 执行的包管理操作的后果的一种方法apt-get
是运行apt-get -s
而不是sudo apt-get
. 这只是模拟指定的操作,并报告哪些包会受到影响以及如何受到影响。