インストール時のパッケージ サイズが削除時に報告されるパッケージ サイズと異なるのはなぜですか?

インストール時のパッケージ サイズが削除時に報告されるパッケージ サイズと異なるのはなぜですか?

私が何を尋ねようとしているのかを詳しく説明しましょう。

使うときは

sudo apk-get install blablabla

出力を得る

After this operation, 39.6 MB of additional disk space will be used.

しかし、実行すると

sudo apk-get purge blablabla

出力には、23.4 MB の追加ディスク容量があると表示されています。この違いは何によって生じるのでしょうか?

Linuxはまだ初心者

答え1

パッケージには依存関係と呼ばれるものがあります。たとえば、パッケージは( )cowsayに依存しておりperl、 で確認できますapt-cache show pkgname。パッケージをインストールすると、apt-getは追加の依存関係もインストールしますが、パッケージを削除すると、apt-getは依存関係をそのままにして、自動削除オプションを使用する必要があります

一方、キャッシュ パッケージ、つまりダウンロードしてからそこから内容を抽出してコンパイルする実際の.debパッケージも考慮されません。apt

これをチェックして:

$ apt-cache show cowsay | grep -i size
Installed-Size: 88
Size: 18532

すべてのdebパッケージにはこのInstalled-Size情報フィールドがあり、定義上は

インストールサイズ(バイト単位)の推定値を1024で割って切り上げた値

(注意: これは推定値であり、実際にインストールされるファイルの量によって変わる可能性があり、パッケージのメンテナーが詳細についてどれだけ細心の注意を払っているかによって異なります) したがって、推定インストール サイズは 88*1024 = 90112 または 90.1 kB になります。これは、次の内容と一致しますpurge

After this operation, 90.1 kB disk space will be freed.

パッケージを削除した後も、アーカイブはまだ残っています。

$ ls /var/cache/apt/archives/cowsay_3.03+dfsg1-6_all.deb               
/var/cache/apt/archives/cowsay_3.03+dfsg1-6_all.deb

apt-getフラグを使用しcleanたりautoclean手動で削除したりすることができます

答え2

その理由の一部は、設定が存在するためです (パージを実行していることがわかりました)。また、DEB アーカイブをダウンロードするときにキャッシュ領域が使用されることもあります。

関連情報