在这种特定情况下,使用apt-get autoremove命令安全吗?


37

我上次使用时sudo apt-get autoremove,几乎所有重要的显示驱动程序或部件都被删除了。这使我对再次使用该命令感到非常沮丧。但是,每次我安装某些东西或使用apt-get update终端时,都会显示:

The following packages were automatically installed and are no longer required:
  devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
  kde-l10n-engb language-pack-kde-en-base libxv1:i386 libllvm3.2
  libllvm3.2:i386 linux-generic-lts-raring
Use 'apt-get autoremove' to remove them.  

我尝试了该命令clean,并且消息停止显示一段时间。我的问题是运行autoremove命令是否安全,还是我会再次丢失所有内容?有没有一种方法可以检查autoremove这种特殊(或任何一种情况)的安全性?


autoremove本身只会删除您不再拥有的软件包的剩余依赖项。如果您卸载了主软件包(如Ubuntu桌面),autoremove可能会感到困惑并删除了其他不再需要的东西。我已经用autoremove了很多,从来没有任何问题。
赛斯

1
有没有办法检查它是否安全?因为我确实在使用它时遇到了问题。
Nkciy84 2013年

在删除任何软件包之前,它将与您确认。
赛斯

无需在它们之间添加额外的线;)。
Braiam

大声笑@Braiam,我认为如果您使它更具可读性,那么这样做可能是正确的。试图使它变得更好:)
Nkciy84

Answers:


52

为了专注于您过去的经验,如果autoremove要删除“超出您的预期”,那么这样做是因为不再依赖那些软件包。当您不小心删除某些东西时,就会发生这种情况:)

过去的一个常见例子是删除与Compiz相关的内容。apt-get会向您显示将要删除的Compiz软件包列表,您会错过ubuntu-desktop其中的所有内容。ubuntu-desktop只是一个元软件包,它依赖于组成桌面的所有软件包,因此删除它不会直接删除任何内容...

...但是当您进行后续操作时autoremove,所有这些都是ubuntu-desktop唯一的依赖关系...它们将再见。

一些教训:

  • sudo apt-get remove <package>会警告您它将直接删除的内容。它不会通知您有关连锁效应的信息。
  • sudo apt-get autoremove 还应该警告您它将要做什么。
  • apt-get -s autoremove如果不确定,请使用进行模拟空转。您可以在所有apt-get命令上使用它。
  • 如果您重新启动,然后盯着TTY1,想知道这次您给猴子做了什么,那/var/log/apt/history.log应该是您最近的活动。
  • 如有疑问,请检查ubuntu-desktop是否已安装。

是否autoremove 安全?它是重型机械,因此仅与驾驶员一样安全。。。但是,这很难造成永久性损坏。


谢谢,这实际上是我需要的答案。至少感谢您通读整个帖子,然后再根据标题和思想进行假设; tl.dr。-s标志是我正在寻找的信息。
Nkciy84 2013年

不安全!我刚刚杀死了我的ros安装程序,因为apt认为自动删除它是一个不错的主意。不,我无法重新安装它,因为它unmet Dependencies和`持有损坏的软件包':(。真是一团糟!!!!
mcExchange

2
@mcExchange 在执行任何操作之前会发出警告并提示您。在最后一行,它仅与使用它的人一样安全。
奥利(Oli)

是的,我被警告/提示,然后阅读了您的回答,并认为这样做是安全的。但这是一场半灾难!我认为至少值得一提。对于依赖项,Ubuntu非常明智。也许这是ros 开发人员的错,但谁在乎呢。
让人

5

以下软件包是自动安装的,不再需要

如果不再需要它们,则apt将知道何时建立依赖关系。apt-get只是通知您“嘿,您删除了安装这些软件包的东西。由于您是老板,我希望您决定如何处理它们”。

现在,安全吗?是。如果您再次需要em会怎样?apt将下载它们。我应该检查清单吗?是。可能需要进行轻微检查。


对不起,但令我感到困惑的是,有一次我使用apt-get autoremove,只剩下CLI和x服务器。花费我重新安装的痛苦(阅读:时间和精力)不再是有趣的了。
Nkciy84 2013年

1
@ Nkciy84那是因为您可能删除了元包。并没有阅读您将要卸载的软件包。IMO,可能会问您是否要删除一个会使系统瘫痪/无法启动的软件包,因此,只有当您阅读该文件时,才会删除约100个不需要担心的软件包。
Braiam

它可以轻松地自动删除我所有的网络驱动程序。我很确定他们是必需的!:(
JamesRyan

@JamesRyan,您有要求您确认的软件包列表。另外,我很确定您没有安装这些软件包,因为它们被标记为自动安装。
Braiam '17

@Braiam并没有要求我进行确认,并且当PC现在已经被切断时,是否自动安装它们无关紧要,因此我不得不花力气尝试使用USB记忆棒对其进行修复。我的根本问题是ubuntu填满了/ boot分区。这些都不是用户应该触摸的东西,这是ubuntu造成的明显的糟糕用户体验。
JamesRyan

1

不安全的示例:

apt-get remove --purge icedove*

从不,除了libreoffice之外,几乎从不使用星号

拥有权利的同时也被赋予了重大的责任。通常,您应该使用突触包管理器,它比终端提供更好的表示(警告**)。

例如在debian Jessie(8.2)上,我注意到imagemagick无法正常工作,并且默认安装菜单中有2个快捷方式。我开始于:

apt-get remove --purge imagemagick

摆脱了一个捷径,然后我启动了突触,剩下了两个软件包,其中一个是imagemagick通用的。在选择要完全移除的包装后,它显示出墨迹是必须除掉的第一件事。

现在,在终端中执行相同的操作,它不会对您产生太大的影响。除非您是linux老手,否则它可能根本不会使您分阶段。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.