使用apt-get删除包和依赖项
我最近阅读了很多有关删除包和依赖项的问题/答案/意见。 有很多不同的方法可以做到这一点,有些方法过于复杂,有些方法不够/不完整。 我想在一个地方问一下其他人认为最好的方法是清除包和所有内容,包括配置,依赖关系和依赖关系的配置。 我也会提供我的方法,这些方法来自于大量的试错和拔毛。
警告:这可以删除您可能仍需要的包。 如果发生这种情况,请重新安装。 但老实说,当您安装/卸载某些会对您的系统进行重大更改的内容时……为什么不先进行备份。
最彻底的方法,我已经想出完全删除一个包PLUS其依赖加上所有配置,包括那些依赖的配置,并做一点清理,这是PACKAGENAME是要删除的主要包:
-
从桌面注销,然后按Ctrl + Alt + F1,然后登录到TTY1并运行以下命令:
sudo apt-get purge
sudo apt-get purge $(apt-cache depends | awk '{ print $2 }' | tr '\n' ' ') sudo apt-get autoremove sudo apt-get update sudo apt-get check sudo apt-get -f install sudo apt-get autoclean -
如果需要重启
sudo shutdown -r now
那么第二行发生了什么? 管道从apt-cache取决于输出并重新格式化它。 第一个管道awk'{print $ 2}’获取apt-cache依赖的输出,并打印或“回声”,只有第二列。 没有它你也会在列表中有另一列依赖类型,即“依赖”,“推荐”等。然后第二个管道”\ n”’获取该结果并删除或截断(因此tr),换行符并用一个分隔名称的空格替换它们。 所有这些都返回一个“空格分隔”的PACKAGENAME依赖包的名称列表,该列表的格式友好,可用于清除命令选项的多个包输入。
这对元包非常有效。 我在最后运行最后一个命令“sudo apt-get -f install”来检查可能的破坏包并在一次进行如此多的更改后修复它们。 我特别这样做,我添加一个“DE”,并希望回去。 就在最近我在安装GNOME之后使用了它,它甚至修复了这样一个事实,即只有在我的GRUB发生更改并且在DM中保留登录选项后才用autoremove清除Gnome。 当我试用了lubuntu-desktop时,它修复了一些冲突并删除了清除和自动移动留下的DM登录条目。
类似的方法运行良好,可能更安全,但仍然不总是得到一切:
sudo apt-get --purge autoremove PACKAGENAME
哪些可能需要或可能不需要跟进:
sudo apt-get update sudo apt-get check sudo apt-get -f install sudo apt-get autoclean
我也使用aptitude purge
:
sudo aptitude purge
这个命令
- 删除依赖项
- 不删除依赖项,这些依赖项也是某些其他已安装软件包的依赖项,
- 但我不确定它是否删除了依赖项的配置。
- 16.04升级:无法获取空文件无法成为有效的存档
- 如何为32位lubuntu 16.04安装Brave Web浏览器?
- 如何让Scilab 6.0.1在Ubuntu 18.04 LTS上运行?
- 在ubuntu16.04上安装php时出错
- update-alternatives:错误:/ var / lib / dpkg / alternatives / vim corrupt:无效状态
- `usermod:user’mahmoud’不存在dpkg:error handlingkismet( – configure)`安装kismet时出错
- 使用ubuntu-vm-builder创建虚拟机
- 处理包shim-signed时出错
- 解决apt-get BADSIG GPG错误的最简单方法是什么?