aptを使用してmysqlをインストールすると、「使用する追加のディスク容量」は必要なファイルサイズより10倍大きくなります。どのように?

aptを使用してmysqlをインストールすると、「使用する追加のディスク容量」は必要なファイルサイズより10倍大きくなります。どのように?

私は以前他のアプリケーションでこれを見たことがありますが、今夜はmysqlでこれを見つけました。

$ sudo apt install mysql-server
[...]
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 18.7 MB of archives.
After this operation, 161 MB of additional disk space will be used.

圧縮では違いを説明できません。そうですか?

ベストアンサー1

mariadb-client-10.1、このコマンドがインストールするパッケージの1つ、5,704kiBです(amd64から)。設置されたサイズは45,347kiBで、サイズの約8倍で、18.7/161比とほぼ一致しています。

ファイルを抽出し、そのファイルのソースを見てみましょう。

$ ar x mariadb-client-10.1_10.1.26-0+deb9u1_amd64.deb
$ tar xJf data.tar.xz
$ du -shc usr/bin usr/share etc
45M     usr/bin
200K    usr/share
20K     etc
45M     total

したがって、パッケージが公開されたサイズに非常に近いように抽出されることがわかります。私たちがしたことは標準的な抽出ツールを使っただけで、特別なことはapt起こりませんでした。

もう少し詳しく見てみましょう。

$ du -s usr/bin/mariabackup
18M     usr/bin/mariabackup
$ xz < usr/bin/mariabackup|wc -c
4542540

だから私たちは見ることができます単一ファイルパッケージサイズの3倍のサイズで、特別な努力なしにパッケージよりも小さいサイズに圧縮できます。他の圧縮ははるかに良いです。圧縮tarファイルは、複数のインクルードファイルの追加の冗長性を利用できます。

はい。圧縮はほとんどどこでも違いを説明できます。

おすすめ記事