新手到Linux,我认为apt-get purge
通常用于完全删除一个pkg,但今天它真的崩溃我的whold系统。我想删除以前安装的python 3.4
发行版,但我不确定它属于哪个pkg,所以我使用find /usr -type f -name "python3.4"
找到它,该命令返回几行,第一行是{ {1}},然后我输入/usr/bin/python3.4
来确定哪个pkg python3.4属于它,它返回dpkg -S /usr/bin/python3.4
,所以我键入了python-minimal
,但随后又删除了很多pkgs,一些安装,我完全糊涂了,我看到甚至应用程序商店都消失了,很多系统被删除了......有人能帮助我吗?
答案 0 :(得分:1)
当您运行apt remove <package>
或apt
时,您不仅要指示apt
删除指定的程序包,还要指示依赖它的任何其他程序包。当然Y
没有先征得你的同意就不会执行那个意外的操作,所以我想它会显示它要删除的包列表,当你按下purge
时它会删除所有的它们。
所以,为了解决这个混乱局面,如果你仍然有运行apt install
的窗口,那么检查它告诉你它将删除哪些包,并手动apt-get install ubuntu-gnome-desktop
它们。如果您没有列表,那么您需要手动安装每个无法正常工作的软件包。
如果是窗口管理器损坏,请尝试drop=FALSE
或您的分发/窗口管理器的相应软件包。
删除/更新软件包时的经验法则:始终读取受影响的软件包列表,有时会出现意外情况。
答案 1 :(得分:1)
我将分享一种最方便的方法来查找命令/文件属于系统中的哪个包
sudo apt-get install apt-file
sudo apt-file update
# which python
sudo apt-file find bin/python
我正在使用Debian,但上面的方法可以帮助Ubuntu,我想
注意搜索路径bin/python
不一定是完整路径可能是真实路径的子串,因为每个Debian包都会将可执行文件放在bin/
文件夹中,这对于它来说非常方便找到bin/CommandName