apt-get remove libstdc++-4.8-doc | 101MB 将被释放?

apt-get remove libstdc++-4.8-doc | 101MB 将被释放?

apt-get remove libstdc++-4.8-doc这是我的系统上的输出。

$ sudo apt-get remove libstdc++-4.8-doc 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libstdc++-4.8-doc
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 101 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 272370 files and directories currently installed.)
Removing libstdc++-4.8-doc (4.8.2-19ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...

如您所见,apt-get声称删除包后将释放 101 MB 空间。以下是 的输出apt-get install libstdc++-4.8-doc

$ sudo apt-get install libstdc++-4.8-doc 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libstdc++-4.8-doc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/9,891 kB of archives.
After this operation, 101 MB of additional disk space will be used.
Selecting previously unselected package libstdc++-4.8-doc.
(Reading database ... 263557 files and directories currently installed.)
Preparing to unpack .../libstdc++-4.8-doc_4.8.2-19ubuntu1_all.deb ...
Unpacking libstdc++-4.8-doc (4.8.2-19ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up libstdc++-4.8-doc (4.8.2-19ubuntu1) ...

安装文件(.deb)只有 9,819 kB 左右。安装时文件怎么会膨胀到这么大?

答案1

我觉得这很合理。Debian 打包使用压缩(通常是 Gzip),而几乎完全是文本的包(如 doc 包)的压缩率很高。我有点惊讶它只有 1:10。

仔细检查后,软件包中包含的 HTML 文档(比手册页更完整)占用约 115MB。它包含大量图像,这可能是原因。现在我很惊讶压缩率达到了 1:10。

答案2

下载/缓存大小 != 安装大小

当你运行时sudo apt-get install libstdc++-4.8-doc它会说:

  1. 需要获取 0 B/9,891 kB 的档案。

    apt-get install从存储库下载 deb 档案到缓存目录 /var/cache/apt/archives但这 0 B/9,891 kB意味着所需的档案(这里是 9,891 kB 的 deb)已经存在/var/cache/apt/archives。所以没有什么可以从存储库下载

  2. 此操作后,将使用101 MB的额外磁盘空间。

    意思是安装(下载 9,891 kB 档案后)将使用 101MB 磁盘空间,因为 deb 包下载后apt会安装dpkg到您的系统中,从而创建库和二进制文件 + 共享文件,通常在/usr/lib, /usr/bin&/usr/share

以及当你运行时sudo apt-get remove libstdc++-4.8-doc它说:

此操作后,将释放101 MB的磁盘空间。

这意味着此软件包安装的所有文件都将随软件包一起删除(配置除外,因为purge未使用),大小约为 101MB;比如说安装的 101MB 将释放

  • 但有一个问题:缓存的(9,891 kB)档案仍然存在于/var/cache/apt/archives)中,因此请运行以下命令来清理它们:

    sudo apt-get clean
    

希望这能帮助您正确理解为什么会有差异报价。


附加信息:黛布是压缩档案,因此占用的空间较少;你会看到Unpacking libstdc++-4.8-doc (4.8.2-19ubuntu1) ...这意味着 deb 正在通过 解压dpkg

相关内容