使用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  

这个命令

  • 删除依赖项
  • 不删除依赖项,这些依赖项也是某些其他已安装软件包的依赖项,
  • 但我不确定它是否删除了依赖项的配置。