ディスクサイズの管理

ディスクサイズの管理

私はFedora 16を使用しています。私の/dev/sda2は/(ルート)にマウントされており、約50Gが100%満たされています。

[foampile@~ 13:13:39]> df
Filesystem     1K-blocks     Used Available Use% Mounted on
rootfs          51606140 49025452         0 100% /
devtmpfs         2988452        0   2988452   0% /dev
tmpfs            2999424       96   2999328   1% /dev/shm
/dev/sda2       51606140 49025452         0 100% /
tmpfs            2999424    51992   2947432   2% /run
tmpfs            2999424        0   2999424   0% /sys/fs/cgroup
tmpfs            2999424        0   2999424   0% /media
/dev/sda1          99150    79569     14461  85% /boot
/dev/sda5      247972844 10782056 224594412   5% /home

第1四半期:ディレクトリ内のすべてのファイルを再帰的に一覧表示し、サイズの降順に並べ替えるコマンドまたはlsオプションはありますか?どのファイル/ディレクトリがデバイスを占有しているかを確認したいと思います。

第2四半期:私の/homeはあまり使われていません。ディスクを再パーティション化し、一部のディスク領域を/dev/sda5(/home)から/dev/sda2に切り替える方法はありますか?

ありがとう

答え1

50GBのrootfsは巨大な、盲目的に拡張するよりもファイルシステムがいっぱいになる理由を確認することをお勧めします。ルートファイルシステムのみを拡張すると、短時間で再入力される可能性が高くなります。 /var、/var/log、または/tmpを埋めたいです。

私の経験では、これは一般的に比較的小さなファイルが多いために起こるので、受動的で構造的な方法で実行するのが最善です。以下の方法では、1つの大きなファイルまたは複数の小さなファイルを含むディレクトリを見つけることができます。

sudo -i
cd /
du -sxh * | sort -h
  • duディスク使用量のリスト

    • -h人間が読める形式の印刷サイズ(例:1K 234M 2G)
    • -s各パラメータの合計のみを表示
    • -x他のファイルシステムのディレクトリをスキップするために使用されます。
  • sort -h最大のディレクトリが最後に表示されるようにします。

次に、最後のディレクトリを調べます。

cd the_large_diretory

そして繰り返す

du -sxh * | sort -h

大容量ファイルを含むディレクトリが見つかるまで。最後に、以下を使用してディレクトリの内容を確認できます。

cd the_large_directory
ls -hlrS
  • lsディレクトリの内容のリスト
    • -h「人が読める形式」でファイルサイズを表示
    • -lファイルの詳細を表示
    • -r逆順に並べ替え(最も大きいファイルを最後に)
    • -Sファイルサイズでソート

ノート

  • システムのコマンドduまたはコマンドのいずれかがsortこのフラグをサポートしていない場合-hを使用してくださいdu -sxk * | sort -n。出力は似ていますが、数値が長すぎて読みにくいです。
  • lsシステムがこのフラグをサポートしていない場合は-hスキップしてください。必須ではありませんが、読みやすさが向上します。
  • lsシステムがこのフラグをサポートしていない場合は、出力-Sを次にパイプします。sort -nk5

答え2

Q1.同様のことを試してくださいsudo du -a -m -x | sort -k1n -r | head -n40-atoフラグはdu再帰を示します。この-mフラグはサイズをMB単位で表示します。-x単一のファイルシステムに保持されます。これにより、ファイルとディレクトリが一覧表示され(オプションのため-n40)、最大40個しか表示されませんhead。一部のdu実装では、-t SIZESIZEより大きい項目のみを表示することを選択できます。

ファイルのみを一覧表示するには、次のようにしますfind / -xdev -type f -size +1M -ls/同じファイルシステム内の1 MBを超えるファイルのみが一覧表示されます。

Q2.ほぼ確実です。しかし、この質問は別々に尋ねるか、かなり頻繁に議論される「linux」や「repartition」などのキーワードを(ここまたは他の場所で)検索する必要があります。以下は、サイトの以前の質問の一部です。

答え3

A1: ls -larS / | head -50

A2:はい、しかし/homeのサイズを変更するときは注意して、ディスクのスキャンとバックアップを強制してください。

e2fsck -f /home

それから

resize2fs /home 50G

関連情報