Ubuntuの容量不足を防ぐ!ディスク空き容量を確認する方法

はい、承知いたしました。Ubuntuのディスク空き容量を確認し、容量不足を防ぐための詳細な記事を作成します。約5000語での記述を目指し、具体的なコマンドの使用例やGUIでの手順、容量不足の原因特定から解放方法、そして予防策までを網羅します。


Ubuntuの容量不足、もう怖くない!詳細解説:ディスク空き容量の確認から解放、原因特定まで

Ubuntuを使っていると、最初は快適でも、時間が経つにつれてシステムの動作が遅くなったり、新しいソフトウェアがインストールできなくなったりすることがあります。その最大の原因の一つが、「ディスク容量の不足」です。

ディスク容量が不足すると、単にファイルが保存できないだけでなく、システムの安定性が損なわれたり、セキュリティリスクが増大したりする可能性があります。しかし、ご安心ください。Ubuntuでは、ディスクの使用状況を確認し、不要なファイルを整理するための強力なツールが豊富に用意されています。

この記事では、Ubuntuのディスク空き容量を確認する様々な方法から、容量不足が引き起こす問題、そして実際に容量を解放してシステムを快適に保つための具体的な手順までを、詳細かつ網羅的に解説します。初心者の方からある程度使い慣れた方まで、すべての方が容量不足の問題を解決し、快適なUbuntuライフを送れるようになることを目指します。

はじめに:なぜディスク容量の確認・管理が重要なのか?

コンピュータのディスク(ストレージ)は、オペレーティングシステム本体、インストールされたソフトウェア、そしてユーザーが作成・保存するあらゆるデータ(文書、画像、動画、音楽など)を保管する場所です。例えるなら、あなたの家の収納スペースのようなものです。

使い始めは広々としていても、新しいものを購入したり、過去のものを捨てずに溜め込んだりしていると、いずれ収納スペースは一杯になってしまいます。コンピュータのディスクも同様で、OSのアップデート、ソフトウェアのインストール、一時ファイルの生成、ログファイルの蓄積、そして個人的なデータの増加によって、空き容量は徐々に減少していきます。

ディスク容量が不足すると、以下のような問題が発生し始めます。

  • パフォーマンスの低下: OSは一時ファイルを作成したり、仮想メモリ(スワップ領域)を使用したりするために空き容量を必要とします。これが不足すると、システムの動作が遅くなったり、アプリケーションが応答しなくなったりします。
  • ソフトウェアのインストール・アップデートの失敗: 新しいソフトウェアをインストールしたり、既存のソフトウェアやOS自体をアップデートしたりするには、一時的なファイル展開や新しいファイルの書き込みが必要です。容量が足りないと、これらの処理が途中で失敗してしまいます。特にセキュリティアップデートが適用できなくなるのは深刻な問題です。
  • アプリケーションの不安定化: ウェブブラウザやドキュメントエディタなど、一時ファイルを作成して動作するアプリケーションが、容量不足のために正常に動作しなくなったり、保存に失敗したりすることがあります。
  • エラーメッセージの頻発: 「ディスク容量が不足しています」といった警告メッセージが頻繁に表示され、作業の妨げになります。
  • データ損失のリスク: 容量不足が深刻化すると、ファイルシステムが破損したり、予期しないシステムクラッシュが発生したりするリスクが高まります。最悪の場合、システムが起動できなくなる可能性もあります。

これらの問題を未然に防ぎ、または発生した場合に迅速に対処するためには、まず現在のディスク使用状況、つまり「空き容量がどれくらいあるか」を正確に把握することが不可欠です。そして、必要に応じて不要なファイルを整理し、容量を解放するスキルが必要になります。

次に、そのための具体的な方法を見ていきましょう。

セクション1:ディスク空き容量を確認する – 基本編

Ubuntuでディスク空き容量を確認する最も一般的で強力な方法は、コマンドライン(端末)を使用することです。特に df コマンドと du コマンドは、ディスク使用状況の確認において必須のツールと言えます。

1.1. df コマンド:ファイルシステム全体の容量を確認する

df は “disk free” の略で、システムにマウントされているファイルシステム全体のディスク使用状況(容量、使用量、空き容量、使用率など)を表示するコマンドです。

基本的な使い方:

端末を開いて、単に df と入力して実行します。

bash
df

実行すると、以下のような出力が表示されます(表示内容はシステム構成によって異なります)。

Filesystem 1K-blocks Used Available Use% Mounted on
udev 4041308 0 4041308 0% /dev
tmpfs 810596 1740 808856 1% /run
/dev/sda1 205113084 1543216 190042756 1% /
tmpfs 4052968 0 4052968 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4052968 0 4052968 0% /sys/fs/cgroup
/dev/sda15 1068 2400 931888 1% /boot/efi
/dev/sda6 4052968 0 4052968 0% /swapfile
tmpfs 810592 68 810524 1% /run/user/1000

この出力は、いくつかのカラム(列)に分かれています。

  • Filesystem: 対象のファイルシステムの名前。/dev/sda1 のようなデバイス名や、tmpfs, udev のような仮想ファイルシステムなどがあります。/dev/sda1 のようなエントリが、実際にディスク上のパーティションに対応します。
  • 1K-blocks: ファイルシステムの合計サイズを1KB単位で表示。
  • Used: 使用されているディスク容量を1KB単位で表示。
  • Available: 利用可能なディスク容量を1KB単位で表示。root ユーザーのための予約領域(通常5%)は含まれない場合があります。
  • Use%: ディスクの使用率をパーセントで表示。この値が高い(90%以上など)場合は注意が必要です。
  • Mounted on: ファイルシステムがシステムツリー上のどこにマウントされているか(アクセスできる場所)を示します。/ はルートファイルシステム(OSの大部分が置かれる場所)、/home はユーザーのホームディレクトリが置かれる場所、/boot/efi はUEFIブート関連のファイルが置かれる場所などです。

主要オプションの詳細な解説:

df コマンドには、出力をより見やすくしたり、必要な情報だけを表示したりするための便利なオプションが多数あります。

  • -h, --human-readable:

    • 最もよく使うオプションです。サイズを1KB単位ではなく、人間が読みやすい単位(B, K, M, G, T, P, E – バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト、エクサバイト)で表示します。
    • 例: df -h

    bash
    df -h

    出力例:
    Filesystem Size Used Avail Use% Mounted on
    udev 3.9G 0 3.9G 0% /dev
    tmpfs 792M 1.8M 791M 1% /run
    /dev/sda1 196G 1.5G 182G 1% /
    tmpfs 3.9G 0 3.9G 0% /dev/shm
    tmpfs 5.0M 4.0K 5.0M 1% /run/lock
    tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
    /dev/sda15 1.1G 2.4M 932M 1% /boot/efi
    /dev/sda6 3.9G 0 3.9G 0% /swapfile
    tmpfs 792M 68K 792M 1% /run/user/1000

    1K-blocks などの数値が 196G, 1.5G, 182G のように表示され、非常に分かりやすくなります。容量確認ではほぼ必須のオプションと言えます。

  • -a, --all:

    • 容量0のファイルシステムや、擬似ファイルシステム(proc, sysfsなど)も含め、全てのファイルシステムを表示します。通常は不要な情報が多く含まれるため、空き容量確認の目的ではあまり使いません。
  • -T, --print-type:

    • ファイルシステムのタイプ(種類)を表示するカラムを追加します。ext4, xfs, vfat, tmpfs, ntfs など、様々なファイルシステムの種類を確認できます。
    • 例: df -hT

    bash
    df -hT

    出力例:
    Filesystem Type Size Used Avail Use% Mounted on
    udev devtmpfs 3.9G 0 3.9G 0% /dev
    tmpfs tmpfs 792M 1.8M 791M 1% /run
    /dev/sda1 ext4 196G 1.5G 182G 1% /
    tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
    tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
    tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
    /dev/sda15 vfat 1.1G 2.4M 932M 1% /boot/efi
    /dev/sda6 swap 3.9G 0 3.9G 0% /swapfile
    tmpfs tmpfs 792M 68K 792M 1% /run/user/1000

    特に//home といった実際のディスクパーティションのファイルシステムタイプを確認したい場合に便利です。

  • -i, --inodes:

    • ディスク容量ではなく、inode(アイノード)の使用状況を表示します。inodeはファイルやディレクトリといったオブジェクトの情報を管理するための構造体で、ファイルシステムごとにinodeの総数に上限があります。ファイル数が多い場合、ディスク容量には余裕があってもinodeが枯渇して新しいファイルが作成できなくなることがあります。このオプションは、そのような稀なケースで役立ちます。
    • 例: df -hi

    bash
    df -hi

  • -x <ファイルシステムタイプ>, --exclude-type=<ファイルシステムタイプ>:

    • 指定したタイプのファイルシステムを除外して表示します。例えば、容量確認の際に不要な tmpfsudev といった仮想ファイルシステムを除外したい場合に便利です。
    • 例: df -h -x tmpfs -x devtmpfs

    bash
    df -h -x tmpfs -x devtmpfs

    これにより、実際のディスクパーティションに関する情報だけを絞り込んで表示できます。

  • -t <ファイルシステムタイプ>, --type=<ファイルシステムタイプ>:

    • -x とは逆に、指定したタイプのファイルシステムのみを表示します。
  • --total:

    • 全ての表示行の合計を最後に表示します。システム全体の合計容量や使用量を把握したい場合に便利です。
    • 例: df -h --total

    bash
    df -h --total

  • <パス>:

    • 特定のファイルやディレクトリが存在するファイルシステムの情報を表示します。例えば、/home ディレクトリが別のパーティションにマウントされている場合、そのパーティションの情報だけを表示したいときに使います。
    • 例: df -h /home

    bash
    df -h /home

df コマンドのまとめ:

df コマンドは、システム全体のディスク空き容量を素早く確認するための基本ツールです。特に -h オプションと組み合わせて使用することで、主要なパーティション(/, /home など)の現在の使用率を一目で把握できます。まずは df -h を実行して、どのパーティションの空き容量が少ないかをチェックすることから始めましょう。通常、/ (ルートパーティション) と /home パーティションの容量が重要になります。

1.2. du コマンド:特定のファイルやディレクトリの容量を確認する

du は “disk usage” の略で、指定したファイルやディレクトリが使用しているディスク容量を表示するコマンドです。df がファイルシステム全体を見るのに対し、du はその「中身」に焦点を当てて調べます。どのファイルやディレクトリが容量を圧迫しているかを特定する際に非常に強力です。

基本的な使い方:

端末を開いて、du <パス> の形式で使用します。パスを指定しない場合は、カレントディレクトリ(現在いるディレクトリ)の使用量を表示します。

bash
du /home/user

実行すると、指定したディレクトリ以下のファイルやサブディレクトリそれぞれの容量が、再帰的に表示されます。デフォルトでは1KB単位で表示され、非常に多くの出力が表示されることがあります。

主要オプションの詳細な解説:

du コマンドも、出力を制御するための様々なオプションがあります。

  • -h, --human-readable:

    • df と同様に、サイズを人間が読みやすい単位(B, K, M, G, Tなど)で表示します。du を使う際も、通常はこのオプションを組み合わせて使用します。
    • 例: du -h /home/user

    bash
    du -h /home/user

    出力例:
    4.0K /home/user/.config/htop
    4.0K /home/user/.config/pulse
    8.0K /home/user/.config/menus
    ... (たくさんの行) ...
    4.0K /home/user/Documents/report.txt
    1.2G /home/user/Videos
    500M /home/user/Downloads
    2.7G /home/user

    各行の先頭にサイズが表示され、最後に指定したパス(ここでは /home/user)の合計サイズが表示されます。

  • -s, --summarize:

    • 各引数の合計サイズのみを表示し、サブディレクトリの詳細を表示しません。特定のディレクトリがどれくらいの容量を使っているかをすぐに知りたい場合に最も便利なオプションです。
    • 例: du -sh /var/log (ログディレクトリの合計サイズを表示)

    bash
    du -sh /var/log

    出力例:
    250M /var/log
    このコマンドは、特定のディレクトリが全体としてどれくらいの容量を占めているかを把握するのに最適です。容量を圧迫している箇所を特定するステップで非常に役立ちます。

  • -c, --total:

    • 全ての引数の合計サイズを最後に表示します。複数のディレクトリの合計サイズを知りたい場合に便利です。
    • 例: du -hc /var/log /home/user/Downloads

    bash
    du -hc /var/log /home/user/Downloads

  • --exclude=<パターン>:

    • 指定したパターンに一致するファイルやディレクトリを計算から除外します。例えば、特定の種類のファイルを計算に含めたくない場合などに使用できます。
    • 例: du -h --exclude="*.iso" /home/user/Downloads (Downloads ディレクトリ内の .iso ファイルを除いて計算)
  • --max-depth=<数値>:

    • 表示するサブディレクトリの深さを指定します。デフォルトでは制限がなく、全階層が表示されます。-s は深さ0に相当します。容量を圧迫しているディレクトリを階層的に絞り込んでいく際に非常に便利なオプションです。
    • 例: du -h --max-depth=1 /var (/var 直下のディレクトリそれぞれのサイズを表示)

    bash
    du -h --max-depth=1 /var

    出力例:
    4.0K /var/account
    24K /var/backups
    250M /var/cache
    4.0K /var/crash
    4.0K /var/games
    32K /var/lib
    250M /var/log
    4.0K /var/mail
    4.0K /var/opt
    0 /var/run
    4.0K /var/spool
    16K /var/snap
    4.0K /var/tmp
    2.0G /var

    この出力から、/var ディレクトリの中で /var/cache/var/log が比較的容量が大きいことが分かります。さらに詳細を調べたい場合は、例えば du -h --max-depth=1 /var/cache のように掘り下げていきます。

  • -a, --all:

    • ディレクトリだけでなく、個々のファイルについてもサイズを表示します。特定のディレクトリ内でファイルごとのサイズを見たい場合に便利ですが、ファイル数が多いと出力が膨大になります。

du コマンド使用時の注意点:

  • 権限: システムの重要なディレクトリ(/root, /var/log など)の使用量を調べるには、root権限が必要です。 sudo du -sh /root のように sudo を付けて実行してください。権限がないと「Permission denied」(許可がありません)というエラーが表示され、正確なサイズが計算できません。
  • ハードリンク: du はハードリンクされたファイルを複数回カウントする可能性があります。通常の使用では大きな問題になりませんが、非常に正確な容量が必要な場合は注意が必要です。
  • ファイルシステムの状態: ファイルが削除されても、そのファイルを開いているプロセスが存在する場合、df の空き容量はすぐに増えませんが、du の使用量は減ることがあります。この差異は一時的なもので、プロセスが終了すれば一致します。

dfdu の違いと使い分けのまとめ:

  • df: ファイルシステム全体の空き容量と使用率を確認する。全体の状況把握が目的。
    • 例: 「ルートパーティション (/) の使用率が90%を超えている!」
  • du: 特定のディレクトリやファイルが使用している容量を確認する。容量を圧迫している場所の特定が目的。
    • 例: 「/var ディレクトリが2GBも使っているな。その中でも /var/log が特に大きい。」

まずは df -h で全体を把握し、もし特定のパーティション(特に //home)の使用率が高い場合は、そのマウントポイントに対して du -h --max-depth=1 <マウントポイント> を実行し、容量を圧迫しているディレクトリを順に特定していく、という流れが効率的です。

1.3. GUI ツールでの確認

コマンドラインに抵抗がある方や、視覚的にディスクの使用状況を把握したい方のために、GUI(グラフィカルユーザーインターフェース)ツールも用意されています。Ubuntuのデフォルトデスクトップ環境(GNOME)には、「ディスク使用状況アナライザー」という便利なツールがあります。

“ディスク使用状況アナライザー” (Disk Usage Analyzer / baobab)

これは、ディスク上のファイルやディレクトリのサイズをツリーマップやリンググラフなどの視覚的な方法で表示し、容量を多く占めている場所を簡単に特定できるツールです。

起動方法:

  1. アプリケーションメニューを開きます。
  2. 検索バーに「ディスク使用状況」または「Disk Usage Analyzer」と入力します。
  3. 表示されたアイコンをクリックして起動します。

使い方:

  1. ツールを起動すると、どの場所をスキャンするかを選択する画面が表示されます。「ファイルシステム」を選択するとシステム全体(アクセス権のある範囲)、「ホーム」を選択すると自分のホームディレクトリがスキャンされます。外部ドライブなども選択できます。
  2. スキャンが開始され、完了すると結果がグラフとツリー構造で表示されます。
  3. リンググラフ: 中央がスキャン対象のルートディレクトリで、外側に向かってサブディレクトリが階層的に表示されます。グラフの扇形の大きさが、そのディレクトリが占める容量の割合を示します。容量の大きなディレクトリは大きな扇形として表示されるため、一目で容量を圧迫している場所が分かります。
  4. ツリーマップ: ディレクトリやファイルを面積で表現します。面積が大きいほど容量を占めていることを意味します。色の違いで階層や種類を区別します。
  5. ツリービュー: 左側のペインには、ディレクトリがツリー構造で表示されます。それぞれのディレクトリのサイズも表示されるため、容量の大きいディレクトリをドリルダウンして中身を確認できます。
  6. グラフやツリービューで特定のディレクトリをクリックすると、その詳細な情報が表示されたり、表示範囲をそのディレクトリに絞り込んだりできます。右クリックメニューから、そのディレクトリをファイルマネージャーで開いたり、削除したりする操作も可能です(削除は慎重に行ってください)。

GUIツールのメリット:

  • 視覚的に分かりやすい:グラフやツリーマップで容量の割合を直感的に把握できます。
  • 操作が簡単:クリック操作でドリルダウンしたり、ファイルマネージャーを開いたりできます。

GUIツールのデメリット:

  • コマンドラインほど細かい制御や自動化は難しい。
  • root権限が必要なシステムディレクトリをスキャンする場合、起動時に権限を昇格させる必要がある場合や、一部の情報が表示されない場合がある。

「ディスク使用状況アナライザー」は、コマンドラインに不慣れな方でも簡単にディスク容量を確認できる優れたツールです。まずはこれで全体像を把握し、必要であればコマンドラインでさらに詳細を調べるという使い方も有効です。

その他のGUIツール:

  • GParted: パーティションエディターとして有名ですが、ディスク上のパーティション構成とその使用状況を確認するのにも使えます。容量確認が主目的ではありませんが、ディスク全体のパーティション構成を把握する際に役立ちます。通常はUbuntuのインストール時にライブUSB/DVDから起動して使用します。

セクション3:容量不足のサインとそれが引き起こす問題

ディスク容量が不足し始めると、Ubuntuシステムは様々な形で警告を発したり、異常な振る舞いを見せたりします。これらのサインに気づくことが、早期の対処につながります。

容量不足の具体的なサイン:

  • ポップアップ通知: デスクトップ環境が「ディスク容量がほとんど残っていません」といった警告メッセージを通知領域に表示します。
  • エラーメッセージ: ファイルを保存しようとしたとき、ソフトウェアをインストールしようとしたとき、システムアップデートを実行しようとしたときなどに、「No space left on device」(デバイスに空き容量がありません)といったエラーメッセージが表示されます。
  • 動作の遅延: アプリケーションの起動やファイルの読み書き、マルチタスク処理などが全体的に遅くなります。これは、スワップ領域の使用が増えたり、一時ファイルが作成できなかったりすることに起因します。
  • アプリケーションの異常終了やフリーズ: 特に一時ファイルを多用するアプリケーション(動画編集ソフト、画像編集ソフト、仮想マシンなど)が不安定になったり、クラッシュしたりすることがあります。
  • システムログのエラー: システムログファイル(/var/log 以下)に、容量不足に関連するエラーメッセージが頻繁に記録されるようになります。
  • アップデートマネージャーの問題: システムのソフトウェアアップデートを実行しようとしても、必要なファイルをダウンロードしたり展開したりする容量がないために失敗します。

容量不足が引き起こす深刻な影響:

上記のサインに気づかず容量不足を放置すると、以下のようなより深刻な問題に発展する可能性があります。

  • システムの不安定化とクラッシュ: OSの重要なプロセスが一時ファイルを作成できなかったり、必要な情報を書き込めなかったりすることで、システムが不安定になり、突然フリーズしたりクラッシュしたりするリスクが高まります。
  • 作業内容やデータの損失: 容量不足が原因でアプリケーションが異常終了したり、システムがクラッシュしたりすると、保存していない作業内容が失われるだけでなく、ファイルシステムの一部が破損してデータが読めなくなる可能性もあります。
  • ファイルシステムが読み取り専用になる (Read-Only): 深刻な容量不足やファイルシステムのエラーが発生した場合、システムがデータの整合性を保つために、ファイルシステムを自動的に読み取り専用モードでマウントすることがあります。こうなると、ファイルを保存したり、システム設定を変更したりといった書き込み操作が一切できなくなります。
  • 起動不能 (Boot Failure): ルートパーティション (/) やブートパーティション (/boot) の容量不足が極端になると、システム起動に必要なファイルが読み込めなくなったり、起動プロセスの途中でエラーが発生したりして、システムが正常に起動できなくなることがあります。
  • セキュリティリスク: OSやアプリケーションのセキュリティアップデートが適用できなくなるため、既知の脆弱性が放置されることになり、マルウェア感染や不正アクセスのリスクが増大します。
  • 予約領域の消費: 通常、ファイルシステム(特にext4)にはrootユーザーのために約5%の予約領域が確保されています。これは、一般ユーザーが容量を使い切ってシステムが完全に麻痺するのを防ぎ、rootユーザーがログインして容量を解放するための「緊急通路」のようなものです。しかし、この予約領域すら使い果たしてしまうと、rootユーザーであってもログインすら困難になる場合があります。

これらの深刻な事態を避けるためにも、日頃からディスク空き容量を意識し、容量不足のサインが見られたら迅速に対処することが非常に重要です。

セクション4:容量を圧迫している原因を特定する

df -h で特定のパーティション(例: /)の使用率が高いことが分かったら、次に「どのディレクトリが」容量を多く使っているのかを特定する必要があります。ここで du コマンドが威力を発揮します。

du コマンドを使った原因特定の手順:

  1. df -h で問題のパーティションを特定する:

    • まずは df -h を実行し、どのファイルシステム(マウントポイント)の使用率が高いかを確認します。例えば、/ マウントポイントの使用率が95%になっているとします。
  2. 対象パーティションの直下を du で調べる:

    • 使用率の高いパーティションのマウントポイント(例: /)に対して、du -h --max-depth=1 オプションを使って直下(深さ1)のディレクトリサイズを調べます。rootパーティションを調べる場合は sudo が必要です。
    • 例: sudo du -h --max-depth=1 /

    bash
    sudo du -h --max-depth=1 /

    出力例:
    4.0K /bin
    380M /boot
    4.0K /cdrom
    4.0K /dev
    ...
    2.5G /home
    2.5G /opt
    16K /root
    16M /sbin
    4.0K /snap
    4.0K /srv
    0 /sys
    4.0K /tmp
    8.5G /usr
    3.2G /var
    4.0K /vmlinuz
    ...
    20G /

    この出力から、/home/opt/usr/var といったディレクトリが容量を多く使っていることが分かります。

  3. 容量の大きいディレクトリをさらに掘り下げる:

    • ステップ2で見つかった容量の大きいディレクトリ(例: /var が3.2GB)に対して、同じように du -h --max-depth=1 を実行し、さらにその中のディレクトリサイズを調べます。
    • 例: sudo du -h --max-depth=1 /var

    bash
    sudo du -h --max-depth=1 /var

    出力例:
    4.0K /var/account
    24K /var/backups
    1.8G /var/cache <-- 怪しい!
    4.0K /var/crash
    4.0K /var/games
    32K /var/lib
    800M /var/log <-- 怪しい!
    4.0K /var/mail
    ...
    3.2G /var

    これで /var/cache が1.8GB、/var/log が800MBを使っていることが分かりました。これらのディレクトリが容量圧迫の主な原因であることが推測できます。

  4. 特定したディレクトリの内容をさらに詳しく調べる:

    • 容量が大きいと分かったディレクトリ(例: /var/cache)の中をさらに調べたい場合は、ファイルの一覧を表示したり、さらに du で掘り下げたりします。
    • 例: sudo du -h --max-depth=1 /var/cache または ls -lhS /var/cache (サイズが大きい順にファイル/ディレクトリをリスト表示)

この手順を繰り返すことで、容量を圧迫しているファイルやディレクトリの「犯人」を絞り込むことができます。

容量を圧迫しがちな定番箇所と調査方法:

経験上、Ubuntuでディスク容量を圧迫しやすい場所はいくつか決まっています。以下にそれらの場所と調査方法をまとめます。

  • /home/<ユーザー名>:

    • 内容: ユーザーの個人ファイル全般。ダウンロードしたファイル、作成したドキュメント、画像、音楽、動画、デスクトップ上のファイル、隠しファイル・ディレクトリ(設定ファイル、アプリケーションキャッシュなど)が含まれます。
    • 調査方法: du -h --max-depth=1 /home/<ユーザー名> を実行し、Downloads, Videos, Pictures, Music, Documents や、.cache, .local, .config といった隠しディレクトリのサイズを確認します。
    • 原因例: 大量の動画ファイルやISOイメージファイル、古いダウンロードファイル、溜まったブラウザキャッシュなど。
  • /var:

    • 内容: システムのログファイル、キャッシュ、一時ファイル、スプールファイルなど、システムが運用中に生成・変化するデータが置かれます。
    • 調査方法: sudo du -h --max-depth=1 /var を実行し、var 直下のディレクトリサイズを確認します。特に /var/log/var/cache が容量を圧迫しやすい箇所です。
    • 原因例:
      • /var/log: システムやアプリケーションのログファイル。ログローテーションによって自動的に管理されますが、特定のサービスが大量のエラーを吐き続けると肥大化することがあります。
      • /var/cache/apt/archives: aptパッケージマネージャーがダウンロードしたdebパッケージのアーカイブファイル。ソフトウェアのインストールやアップデートのたびに溜まります。
      • /var/tmp: 再起動しても消えない一時ファイル。
      • /var/lib/docker: Dockerを使っている場合、イメージやコンテナデータがここに溜まります。
  • /usr:

    • 内容: システムの主要なプログラム、ライブラリ、ドキュメントなどが置かれます。OSの大部分を占めるディレクトリの一つです。
    • 調査方法: sudo du -h --max-depth=1 /usr を実行します。通常、/usr/lib/usr/share が大きいですが、/usr/src に古いカーネルのソースコードなどが残っている場合も容量を圧迫することがあります。
    • 原因例: 大量のソフトウェアをインストールした場合、開発環境など巨大なパッケージを入れた場合、古いカーネルソースやヘッダーファイルが残っている場合。
  • /opt:

    • 内容: 標準のリポジトリに含まれないサードパーティ製のソフトウェア(例: Google Chrome, Slack, Docker Desktopなど)がインストールされることがあります。
    • 調査方法: du -h --max-depth=1 /opt を実行します。
    • 原因例: 複数のバージョンのサードパーティ製ソフトウェア、巨大なアプリケーション。
  • /boot:

    • 内容: OS起動に必要なカーネルイメージ、initramfsイメージ、GRUBブートローダー関連ファイルなどが置かれます。通常は独立した小さなパーティション(数十MB〜数百MB、最近は1GB以上も)として確保されます。
    • 調査方法: du -h /boot または df -h /boot
    • 原因例: 古いカーネルイメージが多数残っている場合。/boot パーティションが特に小さい場合に問題になりやすいです。
  • ゴミ箱 (~/.local/share/Trash):

    • 内容: GUIのファイルマネージャーで削除したファイルは、すぐには消えず一旦ゴミ箱に移動されます。ゴミ箱を空にしない限り、ディスク容量は解放されません。
    • 調査方法: ファイルマネージャーでゴミ箱の内容を確認する。または du -sh ~/.local/share/Trash
    • 原因例: 大容量ファイルを削除したが、ゴミ箱を空にするのを忘れていた場合。
  • スナップショット:

    • 内容: Timeshiftのようなツールでシステムの復元ポイントとして作成されたスナップショットデータ。デフォルトではルートパーティションや別のパーティションに保存されます。
    • 調査方法: スナップショットツールの設定を確認する。または du -sh <スナップショット保存ディレクトリ>
    • 原因例: スナップショットの数が多すぎる、または差分ではなくフルスナップショットを頻繁に作成している場合。

これらの定番箇所を順に調査していくことで、容量を圧迫している根本的な原因を見つけ出すことができるでしょう。

セクション5:ディスク容量を安全に解放する方法

容量を圧迫している原因が特定できたら、いよいよ不要なファイルを削除して容量を解放する作業に入ります。この作業は慎重に行う必要があり、誤って必要なファイルを削除しないように注意が必要です。

ステップ0:重要なデータのバックアップ(強調)

容量解放作業、特にシステムファイルの整理は、設定ミスや誤操作がシステムトラブルにつながる可能性があります。作業を開始する前に、個人的な重要なデータだけでも外部ストレージやクラウドストレージにバックアップしておくことを強く推奨します。 これにより、万が一の事態が発生しても、大切なデータを失うリスクを最小限に抑えることができます。

容量を解放するための具体的な方法:

以下に、安全かつ効果的にディスク容量を解放するための様々な方法を、一般的なものからシステム関連まで順に紹介します。

  1. 不要な個人ファイルの削除:

    • 最も簡単で安全な方法です。自分で保存したファイルの中で不要なものを削除します。
    • 対象:
      • ~/Downloads ディレクトリ内の、ダウンロードしたがもう使わないファイル。
      • 過去に作成したがもう不要なドキュメントファイル (~/Documents など)。
      • 見終わった動画、聴かなくなった音楽、重複した写真など (~/Videos, ~/Music, ~/Pictures)。
      • デスクトップ上に一時的に置いたままになっている不要なファイル。
    • 方法: ファイルマネージャーでこれらのディレクトリを開き、不要なファイルを選択して削除します。特に動画やISOイメージファイルなどの大容量ファイルは効果が高いです。
  2. ゴミ箱を空にする:

    • ファイルマネージャーで削除したファイルは、デフォルト設定ではゴミ箱に移動するだけで、すぐには容量が解放されません。ゴミ箱を空にすることで初めて容量が解放されます。
    • 方法: ファイルマネージャーを開き、サイドバーにある「ゴミ箱」を選択します。ツールバーまたは右クリックメニューから「ゴミ箱を空にする」を選択します。
    • コマンドラインでの方法: 端末で rm -rf ~/.local/share/Trash/* を実行することでもゴミ箱の中身を全て削除できます。このコマンドは確認なしに削除を実行するため、実行する際は十分注意してください。
  3. パッケージマネージャー apt を使ったクリーンアップ:

    • Ubuntuのソフトウェア管理に使われるaptコマンドには、ディスク容量を解放するための便利な機能があります。
    • sudo apt autoremove:
      • システムにインストールされているパッケージのうち、他のどのパッケージからも依存されていない「孤立した」パッケージを削除します。これは、あるソフトウェアをアンインストールした際に、そのソフトウェアが必要としていた依存パッケージが他に利用されずに残ってしまう場合に特に有効です。
      • 例: sudo apt autoremove
      • 実行すると、削除されるパッケージのリストが表示され、確認を求められます。内容を確認してから「y」と入力して実行します。
    • sudo apt clean:
      • aptがソフトウェアパッケージをダウンロードする際に使用するキャッシュディレクトリ(/var/cache/apt/archives)にある、ダウンロード済みのパッケージアーカイブファイル(.debファイル)を全て削除します。これらのファイルは、一度インストールやアップデートに使われた後は通常不要ですが、システムに溜まり続けると容量を圧迫します。
      • 例: sudo apt clean
      • このコマンドは確認なしに実行されます。削除されるのはアーカイブファイルだけで、インストール済みのソフトウェアには影響しません。
    • sudo apt autoclean:
      • apt clean と似ていますが、現在システムにインストールされているバージョンのパッケージアーカイブは残し、既に新しいバージョンがインストールされているか、完全にアンインストールされたパッケージのアーカイブのみを削除します。apt clean より安全性が高いと言えます。
      • 例: sudo apt autoclean
      • これも確認なしに実行されます。

    これらの apt コマンドは、システム関連の容量を解放する上で最も効果的かつ安全な方法の一つです。特に autoremoveclean (または autoclean) は定期的に実行することをお勧めします。

  4. 古いカーネルの削除:

    • OSのアップデートを行うと、新しいバージョンのLinuxカーネルがインストールされることがあります。Ubuntuは安全のために古いカーネルをいくつか残しておきますが、数が多くなると /boot パーティションや / パーティションを圧迫することがあります。
    • sudo apt autoremove コマンドは、通常、不要になった古いカーネルも自動的に削除してくれます。しかし、手動で確認・削除したい場合や、autoremove で削除されなかった場合は以下の手順で行います。
    • 現在使用中のカーネルを確認: uname -r を実行します。
    • インストール済みのカーネル一覧を表示: dpkg -l | grep linux-image を実行します。
    • 表示されたリストから、現在使用中のカーネル(uname -r の結果と同じバージョン)や、その一つか二つ前の安定したバージョンを残し、それより古いカーネルパッケージ(linux-image-x.y.z...linux-headers-x.y.z... といった名前)を sudo apt purge <パッケージ名> で削除します。
    • 例: sudo apt purge linux-image-x.y.z-generic
    • 注意: 削除するカーネルを間違えるとシステムが起動しなくなる可能性があります。現在使用中のカーネルや、直近のバージョンのカーネルは絶対に削除しないでください。不安な場合は sudo apt autoremove に任せるのが最も安全です。
  5. 不要なソフトウェアのアンインストール:

    • 使っていないアプリケーションはアンインストールすることで容量を解放できます。
    • 方法:
      • Ubuntuソフトウェアセンターを開き、「インストール済み」のタブから不要なソフトウェアを選択して「削除」をクリックします。
      • コマンドラインで sudo apt remove <パッケージ名> または sudo apt purge <パッケージ名> を実行します (purge は設定ファイルなども含めて完全に削除します)。
    • インストールした覚えのないソフトウェアでも、以前の依存関係でインストールされたものが残っている場合があります。容量を多く使っているソフトウェアがないか確認してみましょう。
  6. キャッシュファイルのクリア:

    • システムやアプリケーションは高速化のために一時的なキャッシュファイルを生成します。これらが溜まると容量を圧迫することがあります。
    • apt キャッシュ: 上記の sudo apt clean または sudo apt autoclean で削除できます。
    • ブラウザキャッシュ: ウェブブラウザ(Firefox, Chromeなど)は閲覧したウェブサイトのデータをキャッシュとして保存します。ブラウザの設定メニューから「履歴」や「プライバシーとセキュリティ」の項目にあるキャッシュクリア機能を利用します。これはユーザーディレクトリ (~/.cache) に保存されます。
    • サムネイルキャッシュ: ファイルマネージャーが画像のサムネイルを生成・保存します。これも削除可能です。端末で rm -rf ~/.cache/thumbnails/* を実行します。注意: 次回ファイルマネージャーを開いた際にサムネイルが再生成されるため、一時的にCPU負荷が高まることがあります。
  7. ログファイルの整理:

    • /var/log ディレクトリにはシステムの様々なログファイルが保存されています。通常は logrotate という仕組みによって自動的に古いログが圧縮・削除されますが、システム異常などで特定のログファイルが異常に肥大化することがあります。
    • 調査: sudo du -sh /var/log/*ls -lhS /var/log で容量の大きいログファイルを確認します。
    • 対処: 異常に肥大化したログファイルがあれば、内容を確認後、削除または圧縮して容量を解放します。注意: システムの診断に必要になることがあるため、安易な削除は推奨されません。可能であれば、ログサービスを再起動する、logrotateの設定を確認するといった根本的な対処も検討します。特定のログファイルを手動で削除する場合、サービスがファイルを開いていると削除しても容量が解放されないことがあります(後述のトラブルシューティングを参照)。
    • 例(システムログをクリアする場合 – 自己責任で!):sudo journalctl --vacuum-size=500M (journald のログを合計500MBになるように削除) や sudo journalctl --vacuum-time=7d (7日より古いログを削除) など。
  8. 一時ファイルの削除:

    • /tmp ディレクトリは一時ファイル置き場ですが、通常はシステムの再起動時に自動的に内容が削除されます。
    • /var/tmp は再起動しても削除されない一時ファイル置き場です。長期間使っていないファイルがあれば削除しても構いません。
    • 注意: これらのディレクトリには現在使用中のファイルが含まれている可能性もあるため、手動で削除する場合は慎重に行うか、システムを再起動するのが最も安全です。
  9. スナップショットの管理:

    • Timeshiftなどのシステムスナップショットツールを使用している場合、作成されたスナップショットが大量にあると大きな容量を消費します。
    • 対処: スナップショットツールのGUIを開き、不要になった古いスナップショットを削除します。設定で保持するスナップショットの数や頻度を調整することも重要です。
  10. 大容量ファイルの特定と移動/削除 (応用):

    • 特定のディレクトリだけでなく、ファイルシステム全体から指定したサイズ以上のファイルを検索したい場合は、find コマンドが役立ちます。
    • 例: / (ルートディレクトリ) 以下で、サイズが1GBより大きい通常ファイルを検索し、サイズと共に表示する場合。
      bash
      sudo find / -type f -size +1G -print0 | xargs -0 du -h

      • find / -type f -size +1G: / 以下で ( / )、種別がファイルで ( -type f )、サイズが1GBより大きい ( -size +1G ) ファイルを検索します。
      • -print0: 見つかったファイル名をヌル文字 (\0) で区切って出力します。ファイル名にスペースや特殊文字が含まれていても正しく扱えます。
      • xargs -0: ヌル文字区切りの入力を受け付けます。
      • du -h: 入力されたファイルそれぞれについて、人間が読みやすい形式でサイズを表示します。
    • 注意: /proc, /sys のような擬似ファイルシステムや、外部メディアなど、検索に含めたくないパスは -prune オプションで除外することを検討してください。また、sudo が必要になることが多いです。
    • 見つかった大容量ファイルが何か確認し、不要であれば削除、または別の場所に移動します。
  11. パーティションの再サイズ (高度):

    • もしディスクに未割り当て領域がある場合や、複数のパーティション構成で特定のパーティション(例: /)の容量が慢性的に不足し、別のパーティション(例: /home)に大きな空きがある場合は、パーティションのサイズを変更して容量を再配分するという手段があります。
    • 方法: GPartedのようなパーティション編集ツールを使用します。通常は、対象のパーティションがマウントされていない状態で行う必要があるため、UbuntuのライブUSB/DVDから起動して実行します。
    • 注意: パーティション操作は誤るとデータ損失につながる非常にリスクの高い作業です。十分な知識がない場合は、信頼できる情報源を参照するか、経験者の助けを借りることを強く推奨します。重要なデータは必ずバックアップしておいてください。
  12. 外部ストレージ/クラウドストレージの活用:

    • 動画、音楽、写真などの個人的な大容量データは、内蔵ディスクではなく、外付けハードディスク、USBメモリ、ネットワークストレージ(NAS)、またはクラウドストレージ(Google Drive, Dropbox, OneDriveなど)に移動・保存することを検討しましょう。これにより、システムドライブの容量を大幅に節約できます。

これらの方法を組み合わせることで、多くの容量不足の問題は解決できるはずです。まずは安全で効果の高い apt のクリーンアップから試してみるのが良いでしょう。

セクション6:ディスク容量管理のベストプラクティスと予防策

容量不足になってから慌てて対処するよりも、日頃から適切に容量を管理し、容量不足を予防する方がより快適で安定したUbuntuライフを送ることができます。以下に、容量管理のベストプラクティスをいくつか紹介します。

  • 定期的な空き容量の確認:
    • 月に一度など、定期的に df -h を実行して主要なパーティションの空き容量と使用率を確認する習慣をつけましょう。使用率が80%を超えたら注意信号、90%を超えたら本格的な対策を検討し始める目安にすると良いでしょう。GUIツールを使うのも簡単です。
  • ファイルを溜め込まない習慣:
    • ダウンロードしたファイルや一時的なファイルは、用が済んだらこまめに削除または整理しましょう。デスクトップを作業スペースとして使いっぱなしにせず、ファイルは適切なディレクトリに移動するか削除します。
  • ゴミ箱を定期的に空にする:
    • ファイルを削除したら、忘れずにゴミ箱も空にしましょう。
  • システムアップデート後のクリーンアップ:
    • OSやソフトウェアをアップデートした後に、sudo apt autoremovesudo apt clean を実行する習慣をつけましょう。これにより、不要になった依存パッケージやダウンロード済みのアーカイブファイルが削除され、容量を節約できます。
  • ソフトウェアのインストールは慎重に:
    • 必要のないソフトウェアは安易にインストールしないようにしましょう。試用したい場合は、仮想環境を利用することも検討できます。
  • 適切なパーティション設計 (インストール時):
    • Ubuntuをインストールする際、可能であれば / (ルートパーティション) と /home パーティションを分けて作成することを検討しましょう。これにより、仮に /home が個人のデータで満杯になっても、システム領域である / に影響が出にくくなります。また、/ パーティションには十分な容量(最近のアプリケーションやシステム構成を考えると、最低でも20-30GB、可能であれば50GB以上)を割り当てるのが安全です。/var を独立したパーティションにする構成もありますが、一般的なデスクトップ用途では //home を分けるだけでも効果があります。
  • 重要なデータのバックアップ:
    • 定期的にバックアップを取ることは、容量不足の問題とは直接関係ありませんが、システムトラブルやデータ損失からの復旧手段として非常に重要です。容量解放作業を行う上でも、安心して作業を進めるための保険となります。

これらの習慣を身につけることで、ディスク容量不足に悩まされるリスクを大幅に減らすことができます。

セクション7:トラブルシューティング – 容量が減らない、むしろ増える?

容量解放のためにファイルを削除したはずなのに df -h で確認しても空き容量が増えていない、あるいは原因不明で容量が勝手に減っていくように見える、といった困った状況に遭遇することもあります。ここでは、そのような場合の考えられる原因と対処法を説明します。

1. 削除したのに容量が解放されない場合:

これは比較的よくある現象です。ファイルを削除しても df コマンドで表示される空き容量がすぐに増えない主な原因は、その削除されたファイルが、まだ実行中のプロセスによって開かれている(ファイルハンドルが閉じられていない)ためです。ファイルシステム上ではエントリーが削除されて見えなくなっていますが、実体はまだディスク上に存在し、プロセスが終了するまで領域が解放されません。

  • 原因の特定:
    • lsof コマンドを使って、削除されたにも関わらず開かれているファイルを特定できます。
    • lsof | grep deleted
    • このコマンドは、開いているファイル (lsof) のリストから、「deleted」という文字列を含む行 (grep deleted) を抽出します。出力には、ファイルを開いているプロセスのID (PID)、コマンド名、ユーザー、ファイルディスクリプタ、ファイルサイズ、そしてファイル名に続けて “(deleted)” と表示されます。
  • 対処法:
    • lsof で特定されたファイルを開いているプロセス(多くはコマンド名で判断できます)を再起動または終了させます。ウェブサーバー、データベース、ログサービスなどのバックグラウンドプロセスがログファイルなどを開いていることが多いです。
    • プロセスのPIDが分かれば、sudo kill <PID> コマンドでプロセスを終了させることもできます(強制終了は慎重に)。
    • 最も確実な方法は、システムを再起動することです。再起動すれば全てのプロセスが終了し、開かれたままだったファイルの領域は確実に解放されます。ただし、これがサーバーなどの稼働中のシステムであれば、再起動の影響を考慮する必要があります。

2. dfdu の結果が大きく乖離している場合:

df -h でルートパーティションの使用率が90%なのに、sudo du -sh / と実行しても使用量が70%程度にしかならない、といったように、dfdu の示す容量が大きく異なる場合があります。これにはいくつかの原因が考えられます。

  • 原因: 上記の「削除したのに解放されないファイル」がある場合、df はまだ使用中の領域としてカウントしますが、du はファイルシステム上のエントリーをたどるため、既に削除されたファイルの実体をカウントしません。これが乖離の原因となります。
  • 原因: マウントポイントの下にファイルを作成してしまい、その後に別のファイルシステムをそこにマウントした場合。例えば、/mnt/mydata ディレクトリにファイルを置いた後、その /mnt/mydata に外部ハードディスクをマウントした場合、外部ハードディスクをアンマウントするまで、元の /mnt/mydata ディレクトリに置いたファイルにはアクセスできなくなります。df / はルートファイルシステム全体の使用量を見ますが、du / で再帰的にたどると、マウントされた外部ハードディスクの中身は計算しますが、マウントポイントの下に隠された元のファイルにはアクセスできないため、計算に含まれません。
  • 原因: ハードリンクやファイルシステムの特定機能(スナップショットなど)が du の計算に影響を与える場合があります。

  • 対処法: まずは lsof | grep deleted を確認し、開かれたままのファイルがないか調べます。マウントポイントの下に隠されたファイルがないか確認したい場合は、対象のマウントポイント(例: /mnt/mydata)を一度アンマウントして(sudo umount /mnt/mydata)、そのディレクトリの中身を ls -la /mnt/mydatadu -sh /mnt/mydata で確認します。確認後は再度マウントします。

3. ファイルシステムのエラー:

稀に、ファイルシステム自体にエラーが発生し、ディスク使用状況の計算が正しく行われなかったり、領域が正しく解放されなかったりすることがあります。

  • 原因: 不適切なシャットダウン、ハードウェアの問題など。
  • 対処法: ファイルシステムチェックツールである fsck を使用してエラーを修復します。
    • 注意: fsck を実行するには、対象のファイルシステムがアンマウントされている必要があります。これは、通常、システムをリカバリーモードで起動したり、ライブUSB/DVDから起動したりして行います。ルートファイルシステム (/) のチェックは、システム稼働中には行えません。
    • sudo fsck /dev/sdaX のように、チェックしたいパーティションを指定して実行します。
    • 警告: fsck はファイルシステム構造を直接操作するため、誤った使用はデータ損失につながる可能性があります。使用する際は、対象のパーティションを確認し、実行方法をよく調べてから行ってください。

これらのトラブルシューティング情報は、一般的な状況に対応するものですが、システム構成や問題の状況によっては原因や対処法が異なる場合があります。対処に困った場合は、Ubuntuの公式フォーラムやコミュニティで助けを求めることも有効です。

まとめ:快適なUbuntuライフのために

Ubuntuのディスク容量不足は、システムのパフォーマンス低下や不安定化、最悪の場合は起動不能といった深刻な問題を引き起こす可能性があります。しかし、この記事で解説したように、Ubuntuにはディスク使用状況を正確に把握し、効率的に容量を解放するための強力なツール(df, du, ディスク使用状況アナライザー)が豊富に用意されています。

まずは df -h で現在の空き容量を確認することから始めましょう。もし空き容量が少なければ、du コマンドやディスク使用状況アナライザーを使って、どのディレクトリやファイルが容量を圧迫しているのかを特定します。

原因が分かれば、不要な個人ファイルの削除から、apt autoremoveapt clean といったシステムクリーンアップ、古いカーネルの削除、スナップショットの管理など、様々な方法で安全に容量を解放することができます。

そして何よりも、定期的な空き容量チェックや、不要なファイルを溜め込まない習慣、システムアップデート後のクリーンアップといった「容量管理のベストプラクティス」を実践することが、容量不足を未然に防ぎ、常に快適で安定したUbuntu環境を維持するための鍵となります。

この記事が、あなたのUbuntu環境におけるディスク容量の問題を解決し、より快適なコンピュータライフを送るための一助となれば幸いです。ディスク容量管理をマスターして、Ubuntuのポテンシャルを最大限に引き出しましょう!


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール