为什么一个程序需要 64MB 才能安装,但稍后在 Ubuntu 中删除它时却释放了 3.5 MB?

为什么一个程序需要 64MB 才能安装,但稍后在 Ubuntu 中删除它时却释放了 3.5 MB?

好的,我安装了一个 64MB 大小的程序。现在我尝试使用终端卸载它:

sudo apt-get purge <program-name>

运行该命令后,确认消息将是:

blah blah blah...
The following packages will be REMOVED:
  <program-name>*

After this operation, 3,577 kB disk space will be freed.
Do you want to continue? [Y/n] 

现在我的问题是这里到底发生了什么?!

64MB安装时,3.5MB卸载后???!

答案1

Ubuntu 不像 Windows 那样工作

在 Windows 中,程序几乎附带了它所需的所有文件。

在 Ubuntu 中,程序会使用许多公共文件。这些文件称为依赖项。这些公共文件只需下载一次,即可供所有需要它们的程序使用。(这是 Ubuntu 不将所有文件安装在单个文件夹中的原因之一。它将不同类型的文件保存在该类型的公共文件夹中,以便其他程序可以在那里找到它们。)

您可能安装了一些其他程序,这些程序依赖于这些公共文件,第一个程序是作为 64MB 下载的一部分安装的。

当您删除该程序时,它会查看哪些其他程序将继续需要这些公共文件并将它们保留在原处。

有时这种方法效果不太好,会留下一些孤立的公共文件。您可以使用

sudo apt-get autoremove

删除这些文件。

希望这可以帮助

答案2

一个软件包可以依赖于其他软件包。这些软件包都是在您安装主软件包时安装的。sudo apt-get remove ...不会自动释放为您的软件包安装的现在孤立的依赖项。

简单sudo apt-get autoremove就可以释放剩余的空间。

答案3

可能您只卸载了主程序,而没有卸载与主程序一起安装的其他程序,因为他正在使用它们。

您需要apt-getautoremove命令一起使用但是...... 要格外小心!

几周前,我想卸载 Python2.7(我有较新的版本)。我这样做了sudo apt-get autoremove python2.7。我不知道我到底在做什么,所以写了“是”。当我收到“正在删除终端”的信息时,我发现出了问题。我删除了一半的 Ubuntu 系统,不得不重新安装它。

所以,格外小心使用 autoremove 命令。我认为,除非你真的需要更多可用空间,或者真的知道你在做什么。你不会损失太多不是使用自动删除,只需要一点磁盘空间,Ubuntu 不会变慢。除非我确定自己知道自己在做什么,否则我不会再使用它了。

相关内容