我正在运行 Ubuntu 14.04,但对它还不太熟悉。因此,每次我通过 aptitude 或 apt-get 安装某些东西时,我都会收到此消息,如下所示。除非我删除这些软件包,否则 Aptitude 不会让我继续安装,但是,我使用 apt-get 解决了这个问题。我可以安全地删除这些软件包而不会弄乱任何东西吗?
The following packages were automatically installed and are no longer required: gir1.2-totem-1.0 gir1.2-totem-plparser-1.0 libtotem0 linux-headers-3.19.0-25 linux-headers-3.19.0-25-generic linux-image-3.19.0-25-generic linux-image-extra-3.19.0-25-generic Use 'apt-get autoremove' to remove them.
答案1
当您安装一个软件包并且 APT 需要安装一个或多个您未明确请求的附加软件包(因为它们是依赖项)时,APT 会保留这些软件包“自动安装”的记录 - 即,它们没有被明确请求。
它记住这一点的唯一原因是,它知道当所有依赖于它们的包也被删除时,它可以自动删除这些额外的包。
使用 apt-get,可以通过以下方式完成
apt-get remove <mainpackage>
apt-get autoremove
或者,您可以告诉 apt-get 同时执行自动删除:
apt-get autoremove <mainpackage>
注意:其他 APT 前端(例如 aptitude)也可以利用这一点。
自动删除语句告诉 APT 删除任何标记为自动安装的包,并且不再安装依赖于它们的包。
在几乎所有情况下,此操作都是安全的,因为它们很可能是您从未直接交互过的包;只能通过依赖于它们的其他包进行交互。
唯一可能导致问题的情况是,最初自动安装某个包时没有明确请求,但后来您开始直接使用该包。当您在删除依赖该包的原始包后执行自动删除时,您会发现您开始使用的这个新包也消失了,因为它最初被标记为自动安装。
此操作很容易逆转,通常不会造成大问题,而且这种情况很少见。使用 apt-get,您可以通过以下方式明确请求安装已安装的软件包,从而确保不会自动删除已安装的软件包
apt-get install <package>
如果该软件包已经安装,它将保持安装状态,只是其“自动安装”状态被删除。