ダウンロードする前にaptを使用しながらパッケージのサイズを決定する方法は?


29

を使用しapt-get install <package_name>、ダウンロードする必要がある依存関係がある場合、ターミナルは追加パッケージの名前と合計サイズを出力し、ダウンロードする前に確認を求めます。

しかし、依存関係が満たされ、指定されたパッケージのみをダウンロードする必要がある場合、サイズの出力も確認もありません。

Synapticを使用する場合、インストール後に新しいパッケージが使用する合計サイズを確認できますが、ダウンロードする必要があるサイズを確認する方法はありません。ただし、パッケージからパッケージに移動し、圧縮サイズを確認するためにプロパティを使用します。

パッケージをダウンロードしてインストールする前に、ターミナルとSynapticでパッケージのサイズを確認する方法があるかどうか知りたいのですが?

回答:


27

ターミナルで、単一のパッケージの場合:

apt-cache --no-all-versions show $package | grep '^Size: '

パッケージ以上のもの:

apt-cache --no-all-versions show $packages | 
    awk '$1 == "Package:" { p = $2 }
         $1 == "Size:"    { printf("%10d %s\n", $2, p) }'

Synapticについてはわかりません。


これは何のユニットですか?
タツ

私はそれSizeがバイトでInstalled-Sizeあり、KiBだと思いますが、これがどこで定義されているかはわかりません。例:Firefoxバージョン:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen

意図された人間のCLIは最近aptです。たとえば、apt show firefox | grep Size
ミッコランタライネン

:documentatonが見つかりましたapt-cache show実際の値は、ファイルに指定された放出するdebian/controlのドキュメントInstalled-Size:ここで見つけることができますdebian.org/doc/debian-policy/...
ミッコRantalainen

11

apt-cache show <package>またはaptitude show <package>、サイズなど、パッケージに関する詳細情報を表示します。

パッケージサイズについてのみ、以下を使用できます。

apt-cache show <package> | grep Installed-Size

または

aptitude show <package> | grep 'Uncompressed Size'

以下のため.debのパッケージあなたが使用することができます。

dpkg-deb -I <package>.deb | grep Installed-Size

1
依存関係のサイズも表示されますか?
タキオン

@Tachyons質問は、「パッケージサイズを取得する方法はありますか?」です。依存関係のサイズに興味がある場合は、[ 質問する ]ボタンを使用して別の質問をすることができます。
ラドゥラデアヌ

1
ただし、depのサイズを含めると、答えが効率的になります。ちょうど私の友人を提案、:)
rɑːdʒɑ13年

1
@Jaidpkg-deb -I <package>.deb | grep Installed-Size
ラドゥラデアヌ

3
私にとっては68 ... MBを返しますか?GB?スプーン?
プーク

5

パッケージをダウンロードしてインストールするふりをする「ドライラン」モードを使用できます。

$ aptitude install -sy xlockmore
The following NEW packages will be installed:
  xlockmore 
0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 194 kB of archives. After unpacking 373 kB will be used.
Would download/install/remove packages.

試してみましたが、サイズが表示されません。行:アーカイブをx個取得する必要があります。解凍後、xが使用されます。表示されません。

1
申し訳ありませんが、これはapt-getではなくaptitudeである必要があります(そのためのシェルエイリアスがあります)。更新しました。このソリューションには、実際にダウンロードする必要があるものを表示できるという利点があります(既にインストールされている依存関係はカウントしません)。
アダムByrtek

5

これも正しいですが、サイズはバイト単位で表示されます。そしてこれはより良い形式でサイズを示しますが、パッケージが非常に小さいサイズ(たとえば1 MB未満)の場合、echo 'n'それにもかかわらずパッケージをインストールします(その場合、aptはプロンプトを表示しません)。

したがって、次のように使用--no-download--assume-noます。

sudo apt-get --no-download --assume-no install <package_name> | grep 'Need to get'

ここで--no-downloadは、パッケージをダウンロードしないと主張--assume-noし、(n、プロンプトが表示された場合に)です。

例:

$ sudo apt-get --no-download --assume-no install ttf-devanagari-fonts 2>/dev/null | grep 'Need to get'
Need to get 938 kB of archives.

この回答には、依存関係も含まれているため素晴らしいです。使い果たされる「実際の」ストレージを表示するには、「追加のディスク領域」のgrep
Panki

0

以下のコマンドを試して、特定のパッケージ用にダウンロードする必要があるアーカイブのサイズを確認できます。

echo 'n' | sudo apt-get install package | awk '/^Need to get/ {print $4,$5}'

@enzotibの答えは良いですが、mbではなく他の形式でダウンロードする必要があるアーカイブのサイズを示しています。ただし、このコマンドはサイズをMb単位で表示します。

例:

$ apt-cache --no-all-versions show chromium-browser | grep '^Size: '
Size: 41493718

$ echo 'n' | sudo apt-get install chromium-browser | awk '/^Need to get/ {print $4,$5}'
44.4 MB

echo 'n' | sudo apt-get install <package>パッケージのサイズが非常に小さい場合、インストールを開始します
Pandya
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.