web-dev-qa-db-ja.com

インストールされているどのソフトウェアパッケージが、Debianで最もディスク容量を使用していますか?

ルートパーティションのディスク領域が少なくなっているので、一部のアプリケーションをシステムから削除したいと思います。最も多くのディスク容量を使用しているソフトウェアパッケージを確認するにはどうすればよいですか? aptitudeから表示することはできますか?

dfbaobabなどの汎用ディスクスペースアナライザーについては知っていますが、インストールされているアプリケーションのソリューションが必要です。

89

最も簡単なのは、wajig largeを実行することです。パッケージはapt-install- awayである必要があります。

他の方法でのリンクは次の2つです。

また、インストールされたサイズは、パッケージが占めるスペースの一部にすぎないことも覚えておいてください。圧縮されたバージョンはおそらくまだキャッシュ内にあり、それもいくらかのスペースを占有します。これらはapt-get cleanで削除できます。

60
killermist

(追加パッケージをインストールせずに)最も簡単な方法は次のとおりです。

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n

パッケージをサイズ順に表示し、最大のパッケージを最後に表示します。

残念ながら、少なくとも一部のシステムでは、このリストには削除されたがパージされていないパッケージが含まれています。このようなパッケージはすべて、次のコマンドを実行して削除できます。

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs Sudo dpkg --purge

または、アンインストールされたパッケージをパージしたくない場合は、このバリアントを使用して、リストから「インストール済み」状態にないパッケージを除外できます。

dpkg-query -Wf '${db:Status-Status} ${Installed-Size}\t${Package}\n' | sed -ne 's/^installed //p'|sort -n
110
JosephH

see which [installed] software packages use the most disk space[,] from aptitudeにしたいので...もちろんaptitudeを使用できます! CLIまたは{インタラクティブ、TUI、非CLI}の素晴らしさを介して。最初にCLI、次にTUIについて説明します。いずれにせよ、あなたは知っている必要があります

  • 使用するコマンドラインオプション。以下のテキストは長いオプションを使用しています(ドキュメントの検索を容易にするため)が、もちろん短いオプションも使用できます。
  • 使用するコマンドライン引数
  • 使用する出力フォーマット文字列

インストールされているソフトウェアパッケージのうち、最も多くのディスク領域を使用していることを示す最も基本的なコマンドラインは、

aptitude search --sort '~installsize' --display-format '%p %I' '~i' | head

それを分解してみましょう:

  • --sortはパッケージのソート順であり、~installsizeパッケージソートポリシー を指定します。
  • installsizeは「(推定)インストールサイズでソートする」を意味し、前の~は降順でソートする(すべてのソートポリシーのデフォルトが昇順であるため)。
  • --display-format<you guessed :->を変更します。 フォーマット文字列'%p %I'は、aptitudeにパッケージ名を出力してから、インストールされているサイズを出力するように指示します。
  • '~i'は、インストールされたパッケージのみを検索するようにaptitudeに指示します。
  • ...そして、very少数のインストール済みパッケージ(私の汎用的なDebianワークステーションには2400以上ある)がない限り、headまたはlessまたはファイル、あるいはwc -lだけでaptitudeが返す行数を確認できます。

あなたもしたいかもしれません

  1. --width <your desired integer value/>を使用して、表示時に使用するaptitudeの線幅(文字単位)を指定します。 aptitudeのデフォルトは、端末の幅と思われる値になりますが、間違って推測する場合や、ファイルに書き込みたい場合などがあります。
  2. フォーマット文字列に詳細情報を表示するか、フィールド幅を変更します。たとえば、拡張フォーマット文字列'%30p %I %r %60d'が表示されます

    • %30p:フィールドのパッケージ名width = 30文字
    • %I:推定インストールサイズ
    • %r: 'reversedepends count':このパッケージに依存する他のインストール済みパッケージのおおよその数
    • %60d:フィールドwidth = 60文字でのパッケージの短い説明

出力フィールドに変更が表示されない場合は、--widthを設定する必要があることに注意してください。

...そして、{interactive、TUI} aptitudeでこの種のことを行うこともできます。たとえば、表示形式の設定を行うには、

  • クリックするか、オプション->設定に移動します。
  • までスクロールしますパッケージビューの表示形式
  • %Iを現在の値の必要な位置に追加します

インタラクティブaptitudeにインストールされているパッケージに検索を制限するには、

  • 押す l (小文字L
  • ダイアログに~iと入力します

インタラクティブaptitudeでインストールサイズを並べ替えるには、

  • 押す Shift-S (大文字S
  • ダイアログにinstallsizeと入力します

参照:

23
Braiam

Wajigをインストールしたくない場合。私は誰もがdebian-goodiesをインストールしていると思います:

dpigs              - Show which installed packages occupy the most space
9
dfc

まず、 baobabSudo apt-get install baobab)スペースが使用されていることを示しますwhere

enter image description here

これにより、すてきなグラフィカルな概要が得られ、スペースを占有しているものを絞り込むのに役立ちます。この情報は、duを使用してコマンドラインで取得することもできます。

$ Sudo du -ch /

これをsortに渡して(GNU sort、Debianの場合はwhicihと仮定して))、ディレクトリサイズで並べ替えます。

$ Sudo du -ch / | sort -h

次のステップとして、このコマンドで特定のパッケージが使用しているスペースの量を確認できます。

$ Sudo apt-get --assume-no --purge remove "PACKAGE_NAME" | grep "be freed" | 
   awk '{print $4, $5}' 

たとえば、私のシステムでは、texliveパッケージをすべて削除すると、1,502 MBが解放されます。

$ Sudo apt-get --assume-no --purge remove "texlive*" | grep "be freed" | 
   awk '{print $4, $5}' 
1,502 MB

最後に、次のコマンドを使用して、allインストール済みパッケージのこの情報を取得できます。

$ for i in $(dpkg -l | awk '($1=="ii"){print $2}'); do  
    echo -e "$i\t"$(Sudo apt-get --assume-no --purge remove "$i" | 
                    grep "be freed" | awk '{print $4, $5}'); 
  done
8
terdon

wajig パッケージを使用して、コマンド

wajig large

ヘルプはこれが何をするかを説明します。

wajig large -h

usage: wajig large [-h]

List size of all large (>10MB) installed packages

プロジェクトページ も参照してください。

3
Faheem Mitha

他の答えに追加するには、コマンドラインが好きなら古き良きdurepを使用できます

# durep -td 1 /etc                         # or -td 2
[ /etc   319.4K (60 files, 43 dirs) ]
  90.2K [########                      ]  28.26% Apache2/
  27.5K [##                            ]   8.62% apt/
  23.7K [##                            ]   7.43% mime.types
  19.7K [#                             ]   6.18% cron.daily/
  18.7K [#                             ]   5.87% services
  18.0K [#                             ]   5.64% security/
  14.7K [#                             ]   4.61% init.d/
  13.2K [#                             ]   4.13% ssl/
  11.1K [#                             ]   3.48% ld.so.cache
   9.0K [                              ]   2.81% locale.gen
   7.8K [                              ]   2.43% pam.d/
   4.5K [                              ]   1.42% default/
   4.3K [                              ]   1.35% skel/
   2.9K [                              ]   0.92% locale.alias

おそらく、localepurgeを使用してスペースを解放できます。

# dpkg-reconfigure localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 26160 KiB
localepurge: Disk space freed in /usr/share/man: 1304 KiB

Total disk space freed by localepurge: 27464 KiB

最後に、おそらく多くのスペースを取ることができるアイコンとフォントを取り除くことができます。このウェブサイトで詳細を見る

https://ownyourbits.com/2017/02/18/squeeze-disk-space-on-a-debian-system/

(youryourbitsから抽出した例)

3
nachoparker

リストにいくつかのツールを追加して、システムでは常にdebfosterdeborphanを使用しました。アップグレード後にぶらさがっている古い依存関係を探すのに最も役立ちます。

apt-get autoremoveはすばらしいですが、すべてを取得するわけではありません。インストールマークに従っているため、何を保持したいかが常にわかるとは限りません。ただし、apt-markを使用すると、ある程度それを指示できます。

以下も確認してください: https://wiki.debian.org/ReduceDebian

2
XTL

これはKDE/QT Filelightを追加する素晴らしいツールのコレクションですが、他のGUIディスクスペース使用ツールと同様ですが、トピックのタイトルに対する文字どおりの回答ではありません。

このスレッドの質問に文字どおりに答えると、つまり、システムで最大のパッケージは、原則として次のようになります。

Libreofficeパッケージスイート。これは単一のパッケージではありませんが、非常に大きいものです。

Linuxカーネルと関連するヘッダーパッケージが2番目に来ると思います。複数のカーネルがインストールされている場合、ほとんどのシステムではその傾向がありますが、それぞれがおよそ135 MBのディスク容量を毎年大きくすると思いますが、それだけの大きさです。フリーでないビデオドライバーを使用する場合は、関連するドライバーパッケージ/ファイルも存在します。 libreofficeと同様に、各カーネルは実際には2つまたは3つのパッケージ、イメージ、ヘッダー、およびドライバーパッケージで構成できるため、パッケージサイズごとのリテラルは、大まかな意味を除いて実際にはそれほど正確ではありません。

その後、私が知っているDebianのパッケージプールには、膨大な数の大きなパッケージはありません。

ルートパーティションが大きくなり始め、パッケージを削除してそれを圧縮する方法を考え始めたところで、通常は大きなルートパーティションに移動/サイズ変更するときが来ました。

もちろんapt-get cleanが最初に実行され、キャッシュされたすべての.debファイルを削除しますが、それを削除して、2つのカーネルを除いてすべて削除しても、十分なスペースがない場合は、それ以上です。クリーンアップなどはルートパーティションスペースの近くで実行している赤旗であるため、パーティションサイズを増やすことは実用的です。/varにaptのパッケージを実際にダウンロードおよび抽出する十分なスペースがない場合、これは実際の問題になる可能性があります。アップグレード。削除されたパッケージから構成ファイルを取り除いたパージアクションによるクリーンアップは、ディスク領域が小さいため、ディスクスペースの回復という点ではまったく効果がありませんが、残骸をクリーンアップすることは今やいいのですが、すべきではありません。意味のあるディスク領域を実際に取り戻すことは間違いです。

apt-get auto-removeも悪くありませんが、パッケージが削除されるのは時々間違っていることに注意してください。そのため、aptに内容を削除させる前に、そのリストを注意深く確認する必要があります。技術的には、そのリストをパージする方が良いです。同時に、構成ファイルも削除するので、削除または自動削除はそのままにしておくと思います。

0
Lizardx