- 1 1. 前提知識:Linux/Ubuntu におけるストレージ構造とマウント
- 2 2. コマンドで容量を確認する基本方法
- 3 3. GUI(視覚的)で容量を確認する方法(Ubuntu デスクトップ向け)
- 4 4. 容量不足時の調査手順と対策
- 5 5. 応用Tips(便利技・注意点)
- 6 6. FAQ(よくある質問)
- 6.1 Q1. Ubuntuで現在の空き容量を確認する簡単な方法は?
- 6.2 Q2. ディレクトリごとの容量を確認するにはどうすればいい?
- 6.3 Q3. df と du の違いは何ですか?
- 6.4 Q4. GUIで空き容量を確認するには?
- 6.5 Q5. 「ディスクがいっぱい」と表示されたら、何から削除すべき?
- 6.6 Q6. Snapアプリが容量を圧迫していると聞きました。どうすればいい?
- 6.7 Q7. /var や /home が大きすぎるときはどう対処すればいい?
- 6.8 Q8. du を実行したら時間がかかります。短縮方法はありますか?
- 6.9 Q9. 容量不足が再発しないようにするには?
- 6.10 Q10. 容量を拡張したい場合の選択肢は?
- 6.11 Q11. root権限がない場合でも容量を調べられますか?
- 6.12 Q12. GUIがない(サーバー)環境で容量を確認するには?
- 6.13 Q13. 容量確認でシステムを壊すリスクはありますか?
- 6.14 Q14. 容量を節約するための裏技はありますか?
- 6.15 Q15. 容量を監視するおすすめのツールは?
- 6.16 まとめ
1. 前提知識:Linux/Ubuntu におけるストレージ構造とマウント
Ubuntu(および多くの Linux 系 OS)でストレージ容量を確認する際、正しく理解しておきたい基本構造があります。この章では、読者が混乱しやすい以下の概念を整理します。
- デバイス・パーティションの意味
- マウント(mount)とマウントポイント
- LVM(論理ボリューム管理)の基本
- Ubuntu における典型的な構成例
以下、順を追って説明します。
1.1 デバイスとパーティションの基本
デバイス(物理・論理ディスク)
Linux では、個々の記憶装置は デバイスファイル として扱われます。たとえば、HDD や SSD、USB ドライブなどは /dev/sda
、/dev/sdb
、/dev/nvme0n1
のような名前で表されます。
デバイス名の末尾アルファベット(a
, b
, c
…)は、システムが検出した順番を示します。
パーティション
1 つの物理デバイスを、そのまま使うこともできますが、一般的には複数の論理区画(パーティション)に分割して使います。パーティションを切ることで、OS 部分・データ部分・ログ用領域などを分けて管理できます。
たとえば、/dev/sda1
, /dev/sda2
といった名称がパーティションを表します。これは「デバイス sda 上の第 1/第 2 のパーティション」を意味します。
この区切り(パーティション)上にファイルシステムを作成し、実際のデータを保存します。
(Linux におけるパーティションの解説例)エンジニアの入り口
パーティションには、MBR(古い方式)および GPT(新しい方式)などのパーティションテーブル形式があり、それぞれ制約や利点があります。
1.2 マウントとマウントポイント
マウント(mount)
ファイルシステムを使えるようにするには、「マウント」という操作が必要です。これは「パーティション(または論理ボリューム)を特定のディレクトリ(マウントポイント)に紐づける」作業です。
マウントをしないと、パーティション上のデータにはアクセスできません。
たとえば、/dev/sda1
に ext4 ファイルシステムがあったとしても、mount /dev/sda1 /mnt/data
のようにしないと、/mnt/data
以下にその内容を操作できません。
マウントポイント
マウント先のディレクトリを「マウントポイント」と呼びます。
典型的な例:
/
(スラッシュ):ルート(システム全体の起点)/home
:ユーザーのホームディレクトリを置く場所/var
:ログ、キャッシュ、可変データを置く場所/boot
:起動関連ファイルを置く場所
このように、OS や用途に応じて複数のパーティションを異なるマウントポイントに割り当てる構成がよく使われます。
Ubuntu や多くの Linux 系 OS では、/etc/fstab
ファイルに「どのデバイス/UUID をどこにマウントするか(起動時に自動マウントする設定)」が記載されています。
1.3 LVM(論理ボリューム管理)の概要
パーティション方式だけでは、ディスク構成を後から柔軟に変えるのが難しいことがあります。そこで使われるのが LVM(Logical Volume Manager) という仕組みです。
LVM の基本構成要素
- 物理ボリューム(PV: Physical Volume)
物理ディスクまたはパーティションがそれにあたります。 - ボリュームグループ(VG: Volume Group)
複数の PV を束ねて、仮想的な大きな領域を作る層。 - 論理ボリューム(LV: Logical Volume)
VG の中から適宜論理的に切り出した領域。ファイルシステムはこの LV 上に作られます。
このような階層構造により、後から論理ボリュームを拡張/縮小したり、物理ディスクを追加してまとめることが容易になります。
LVM を使うメリット・注意点
メリット
- 容量の拡張・縮小が柔軟
- 複数ディスクをまとめて使える
- スナップショット(バックアップ用途)に対応しやすい環境を構築できる
注意点
- 設定・操作がやや複雑
- 誤操作でデータ損失リスクあり
- 拡張手順が非 LVM 環境とは異なる
Ubuntu をインストールする際に LVM を選択するオプションがあることが多いですが、用途や管理方針で使わないことも一般的です。
1.4 Ubuntu における典型的な構成例
Ubuntu を使っている環境によって構成は変わりますが、よく見られるパターンをいくつか挙げます。
単一パーティション構成(シンプル構成)
最小構成では、ルート(/
) にすべてを詰め込む構成です。パーティションが少ない分シンプルですが、後から分割・拡張が難しくなることがあります。
分割構成例
以下のように複数のパーティションに切っておく構成がよく使われます:
/
(ルート):システム本体/home
:ユーザーデータ/var
:ログや可変データ/boot
:起動用ブート領域- スワップ領域(物理またはスワップファイル)
このような構成にしておけば、ログやキャッシュの肥大化がシステムを圧迫する可能性を抑えやすくなります。
LVM + 論理ボリューム構成
もう少し進んだ構成例として、LVM を使って以下のようにします。
- 物理ディスク → PV
- 複数 PV を VG に統合
/
、/home
、/var
などを LV に分割- 将来、その他の LV を追加、拡張が可能
この方式を使っていれば、ディスクを追加したり、論理ボリュームを拡張したりといった操作が柔軟に行えます。
2. コマンドで容量を確認する基本方法
Ubuntu では、ディスク容量の確認をコマンドで行うのが最も確実で柔軟な方法です。
コマンドを使えば、サーバー環境のように GUI がない場合でも、どのディスクがどれだけ使用されているか、どのディレクトリが容量を占めているかを正確に把握できます。
ここでは、基本的な df
、du
コマンドを中心に、補助ツールも紹介します。
2.1 df
コマンドでファイルシステム全体を確認
df
の概要
df
(disk free)は、ディスク全体の使用量と空き容量を表示するコマンドです。
Ubuntu を含む Linux 環境で最も一般的な容量確認方法といえます。
基本的な使い方
df -h
このコマンドを実行すると、すべてのファイルシステムの容量が「人間が読みやすい単位(K, M, G)」で一覧表示されます。
主な列の意味は以下のとおりです。
列名 | 意味 |
---|---|
Filesystem | 対象デバイス名(例:/dev/sda1) |
Size | ファイルシステム全体の容量 |
Used | 使用済み容量 |
Avail | 残りの空き容量 |
Use% | 使用率(%) |
Mounted on | マウントされているディレクトリ(例:/, /home など) |
よく使うオプション
オプション | 説明 |
---|---|
-h | 容量を MB / GB 単位で表示(必須レベルで便利) |
-T | ファイルシステムの種類(ext4, xfs など)も表示 |
--total | 最後に合計行を追加表示する |
df -h /home | 特定のディレクトリを含むファイルシステムだけ表示 |
実行例
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 100G 55G 40G 59% /
/dev/sda1 512M 120M 392M 24% /boot
tmpfs 16G 32M 16G 1% /run
この出力から、どの領域がどれくらい使われているかを一目で把握できます。
注意点
- マウントされていないパーティション は
df
の対象外です。 - スナップパッケージ(
/var/lib/snapd/snaps
)が容量を圧迫している場合は別途確認が必要です。 - root 権限でないと見えないマウントポイントもあります。
2.2 du
コマンドでディレクトリ単位の使用量を確認
du
の概要
du
(disk usage)は、ディレクトリやファイル単位の容量を調べるコマンドです。
df
が「全体像」を見るのに対し、du
は「どこが重いのか」を探すのに向いています。
基本的な使い方
du -sh /home
この例では /home
ディレクトリの合計使用量を「人間が読みやすい形式(-h)」で表示します。
よく使うオプション
オプション | 説明 |
---|---|
-s | 合計だけを表示(詳細を省略) |
-h | 単位を自動変換して見やすく表示 |
--max-depth=1 | 指定ディレクトリ直下の使用量を一覧表示 |
-c | 総合計を最後に表示 |
--exclude=PATTERN | 特定フォルダを除外(例:キャッシュ) |
実行例(全体比較)
sudo du -h --max-depth=1 /var
出力例:
1.2G /var/log
2.5G /var/lib
800M /var/cache
4.5G /var
このようにすれば、どのフォルダが容量を占めているかをすぐに把握できます。
応用:大きい順に並べ替える
du
と sort
を組み合わせることで、大容量ディレクトリを簡単に特定できます。
sudo du -hsx /* | sort -rh | head -10
このコマンドは、ルート直下の各フォルダの使用量を算出し、上位10件を表示します。
システム全体で「容量を食っている犯人」を探すのに非常に有効です。
注意点
- ディレクトリ階層が深い場合、処理に時間がかかることがあります。
- root 権限がないと、一部ディレクトリの容量が正しく表示されません。
- SSD など高速ストレージでも、数十GB規模の計測は数分を要する場合があります。
2.3 その他の便利な補助コマンド・ツール
lsblk
:ブロックデバイスの構成を確認
lsblk
lsblk
は、ディスクデバイスとそのパーティション構成をツリー状に表示します。
容量とマウントポイントの対応関係を視覚的に把握できる便利なコマンドです。
例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 512M 0 part /boot
└─sda2 8:2 0 99.5G 0 part /
ncdu
:インタラクティブな容量分析ツール
du
をもっと直感的に使いたい場合は ncdu
(NCurses Disk Usage)がおすすめです。
インストールは次の通りです。
sudo apt install ncdu
起動:
sudo ncdu /
上下キーでフォルダを開閉しながら、どのディレクトリが容量を食っているかを調査できます。
サーバーでも GUI なしで視覚的に分析できるため、管理者にも人気のツールです。
find
コマンドとの組み合わせ
容量の大きなファイルだけを探したい場合は、find
を使います。
sudo find / -type f -size +1G
このコマンドは、1GB を超えるファイルをすべて検索します。
ログや仮想イメージなど、不要な大容量ファイルの特定に役立ちます。
2.4 どの方法を使えばよいか(比較まとめ)
目的 | コマンド例 | 特徴 |
---|---|---|
システム全体の空き容量を確認 | df -h | ファイルシステム単位で把握 |
特定フォルダの容量を知りたい | du -sh /path | 詳細なサイズを表示 |
容量を食っている場所を探したい | `du -hsx /* | sort -rh |
デバイス構成を確認 | lsblk | パーティション関係を可視化 |
大きなファイルを探す | find / -type f -size +1G | サイズ条件で抽出 |
3. GUI(視覚的)で容量を確認する方法(Ubuntu デスクトップ向け)
Ubuntu には、ターミナルを使わなくてもディスク容量を確認できる便利なグラフィカルツール(GUI)が標準または追加で用意されています。
ここでは、主に以下の2つの方法を紹介します。
- Ubuntu標準の「ファイルマネージャ(Nautilus)」で確認
- 「ディスク使用量の解析ツール(Baobab)」で確認
それぞれの特徴と使い方を見ていきましょう。
3.1 ファイルマネージャで空き容量を確認する(Nautilus)
Ubuntu標準の方法
Ubuntuデスクトップをお使いの場合、最も簡単にディスクの空き容量を確認する方法はファイルマネージャ(Nautilus)を開くことです。
- 左のドック(アプリランチャー)から「ファイル」アイコンをクリック
- 右上または左下に表示されるステータスバーを確認
- 下部に「〇〇 GB 中 △△ GB 使用中」または「残り〇〇 GB」といった情報が表示されます
この表示で、システムドライブの空き容量をすぐに確認できます。
プロパティから詳細を確認する方法
フォルダやドライブのアイコンを右クリックして [プロパティ] を選ぶと、
そのフォルダ単位で使用容量・空き容量の詳細を確認することも可能です。
特定のディレクトリ(例:/home
や/Downloads
)ごとのサイズを直感的に見たい場合に便利です。
メリットと制約
メリット | 制約 |
---|---|
クリック操作だけで簡単 | システム全体や隠し領域までは見えにくい |
初心者でも使いやすい | /var/log やシステム領域の肥大化は把握しにくい |
GUIで気軽に全体の「感覚」を掴むには便利ですが、より深く分析したい場合は次のBaobabツールが有効です。
3.2 ディスク使用量の解析ツール(Baobab)
Baobabとは?
「Baobab」(正式名称:ディスク使用量の解析)は、Ubuntu標準で利用可能なグラフィカルツールで、
どのフォルダがどれくらい容量を使っているかを円グラフやツリーマップで視覚的に表示してくれます。
多くの環境では初期インストールされていますが、もし存在しない場合は次のコマンドで導入できます。
sudo apt install baobab
起動方法
- アクティビティ(左上の検索)で「ディスク使用量」と入力
- 「ディスク使用量の解析(Baobab)」をクリックして起動
- 起動後、「フォルダーをスキャン」または「ファイルシステム全体をスキャン」を選択
しばらくスキャンが進むと、円グラフまたはツリービューで各ディレクトリの使用量が視覚的に表示されます。
表示例(イメージ)
- 外周に行くほどディレクトリ階層が深くなり、
- 各領域のサイズが円グラフの面積で表現されます。
視覚的に「どのフォルダが肥大化しているか」がすぐにわかるのが特徴です。
主な操作機能
機能 | 説明 |
---|---|
スキャン対象の指定 | /home など特定ディレクトリだけを対象に可能 |
ツリービュー | フォルダ構造とサイズを一覧で確認できる |
不要ファイルの特定 | 一目でサイズの大きいフォルダを発見可能 |
右クリック → 開く | ファイルマネージャで直接該当ディレクトリを開ける |
メリットと注意点
メリット
- グラフィカル表示で初心者でも直感的に把握できる
- 削除や整理の判断がしやすい
- ルート権限で起動すればシステム領域も分析可能
注意点
- システム全体をスキャンする際は時間がかかる
- 権限の制限により一部のフォルダが正確に測定できない場合がある
- 容量が大きいディスクではメモリ使用量も増える
3.3 GNOMEディスクユーティリティでディスク情報を確認
Ubuntu には、GNOME Disks(ディスクユーティリティ)という標準アプリも付属しています。
これは「ディスク構造そのもの」を確認するツールで、空き容量以外にも次の情報を参照できます。
- デバイス名(例:/dev/sda)
- ファイルシステムの種類(ext4, NTFS など)
- マウントポイント
- 使用率・空き容量のグラフ
起動方法:
- アクティビティで「ディスク」と検索
- GNOME ディスクを開く
- 左側の一覧からディスクを選択
視覚的なゲージで容量の使用率が示され、df
コマンドと同等の情報をグラフィカルに確認できます。
3.4 GUIとコマンドの使い分け
Ubuntuデスクトップでは、GUIツールだけでも十分に容量管理が可能です。
しかし、正確なトラブル分析やサーバー管理を行う場合は、df
や du
などのコマンドライン操作が必須となります。
状況 | 推奨ツール |
---|---|
空き容量をざっくり確認したい | ファイルマネージャ(Nautilus) |
どのフォルダが大きいか分析したい | Baobab(ディスク使用量の解析) |
デバイス構成を確認したい | GNOME Disks |
サーバーやリモート環境 | df , du , lsblk , ncdu |
3.5 GUI環境がない場合(サーバー利用者向け)
もし Ubuntu Server など GUI がインストールされていない環境で運用している場合は、
Baobab やファイルマネージャは利用できません。
その場合は、前章で紹介した df
, du
, ncdu
コマンドを使うことで、
テキストベースでも十分に詳細な容量分析が可能です。
まとめ
GUIを利用すれば、容量の確認や整理ポイントの特定をクリック操作だけで完結できます。
特にBaobabは、Ubuntu初心者から上級者まで幅広く使われる定番ツールです。
この章で紹介した方法を使い分けることで、日常的なストレージ監視がぐっと楽になります。
4. 容量不足時の調査手順と対策
Ubuntuを使っていると、長期間の使用やパッケージ更新の積み重ねでディスク容量が逼迫することがあります。
容量不足のまま放置すると、アップデートが失敗したり、ログが記録できずシステムが不安定になる原因にもなります。
このセクションでは、容量不足の原因を調べる手順と効果的な解消法をステップごとに解説します。
4.1 容量逼迫のサインを確認する
まずは、容量が不足している兆候を確認します。
以下のような現象が見られたら、ストレージの使用量を確認すべきタイミングです。
apt upgrade
で「空き容量が不足しています」と表示される- GUIで「ディスクの空き容量が不足しています」と警告が出る
- 一部のアプリが設定保存やログ出力を行えない
/var
や/tmp
の領域が満杯になり、動作が重くなる
こうした状況では、単に空き容量を増やすだけでなく、どこが容量を使っているのかを把握することが重要です。

4.2 ステップ1:全体の使用量を把握する(df)
まずは df -h
コマンドで、全体の容量状況を確認します。
df -h
出力例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 48G 1.2G 98% /
/dev/sda1 512M 120M 392M 24% /boot
Use%
が90%以上の領域は要注意です。
特に /
(ルート)、/var
、/home
が満杯になっている場合は、次のステップに進みましょう。
4.3 ステップ2:どのディレクトリが容量を占めているか調査する(du)
容量が逼迫しているパーティションが特定できたら、du
コマンドで中身を分析します。
例:容量上位10件を確認
sudo du -hsx /* | sort -rh | head -10
出力例:
15G /var
10G /home
5.2G /usr
3.1G /snap
/var
が大きい場合はログやキャッシュ、/home
が大きい場合はユーザーデータが原因であることが多いです。
/var
内をさらに掘り下げて確認
sudo du -hsx /var/* | sort -rh | head -10
このように階層をたどることで、容量を消費しているディレクトリを特定します。
4.4 ステップ3:不要ファイルやキャッシュを削除する
容量を圧迫している要因がわかったら、安全に削除できる不要ファイルから整理していきましょう。
(1) APTキャッシュの削除
Ubuntuは、ソフトウェア更新時に一時ファイルを /var/cache/apt/archives
に保存します。
これを削除すると、数GB単位で空き容量が戻ることがあります。
sudo apt clean
sudo apt autoremove
apt clean
:APTのキャッシュをすべて削除apt autoremove
:不要になった依存パッケージを削除
(2) 古いログファイルの削除
/var/log
は容量肥大化の代表的な原因です。
sudo journalctl --vacuum-time=7d
上記は「7日より古いシステムログを削除」します。
さらに不要な .gz
(圧縮ログ)ファイルを手動で削除することも可能です。
sudo rm -f /var/log/*.gz
(3) Snapパッケージの古いバージョン削除
UbuntuではSnapアプリの古いバージョンが自動的に残ります。
次のコマンドで古いスナップを削除できます。
sudo snap list --all | grep disabled | awk '{print $1, $3}' | \
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
※あるいは簡単に「Snap Cleaner」系ユーティリティを使う方法もあります。
(4) サムネイルキャッシュの削除
画像や動画を多く扱う場合、~/.cache/thumbnails
に大量のキャッシュがたまります。
rm -rf ~/.cache/thumbnails/*
(5) ゴミ箱を空にする
GUIで削除したファイルも、実は ~/.local/share/Trash/files
に残っていることがあります。
rm -rf ~/.local/share/Trash/*
4.5 ステップ4:アプリケーションやログによる肥大化対策
(1) Docker環境の場合
Dockerを使っている場合、不要なイメージやコンテナが容量を圧迫します。
docker system df
docker system prune -a
docker system df
:Docker関連の使用量を確認docker system prune -a
:未使用のイメージ・コンテナを削除
(2) FlatpakやSnapを多用している場合
GUIアプリを多くインストールしている環境では、アプリの残骸(古いバージョン)が溜まりがちです。
flatpak uninstall --unused
などで整理しましょう。
(3) ログローテーション設定を見直す
/etc/logrotate.conf
や /etc/logrotate.d/
を確認し、
ログの保存期間やサイズ制限を適切に設定しておくと再発防止になります。
4.6 ステップ5:リサイズやディスク追加で根本的に解決
ファイル削除だけでは限界がある場合、以下のような構成変更も検討します。
(1) LVMを使っている場合
LVM(Logical Volume Manager)を導入している環境では、論理ボリュームを簡単に拡張できます。
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
これで /
の容量を増やすことが可能です。
(2) 新しいディスクを追加してマウント
新しいストレージを /mnt/data
などにマウントし、
容量の大きいディレクトリ(例:/var/lib/docker
や /home
)をそこに移動する手法もあります。
(3) クラウドストレージ活用
Google Drive、Dropbox、Nextcloud などにログやバックアップを移すのも一つの手です。
4.7 再発防止のための定期チェック
容量不足は、定期的に監視するだけで防げるトラブルです。
次のような運用を取り入れると効果的です。
- 定期的に
df -h
やdu -sh /var
を確認 - 大容量ディレクトリを自動チェックするスクリプトを作成
- 容量閾値を超えたらメールで通知する設定(
cron
+mailutils
など)
簡単な例:
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi
4.8 まとめ:容量対策の優先順位
優先度 | 対策 | 備考 |
---|---|---|
★★★★★ | APTキャッシュ削除 (sudo apt clean ) | 即効性が高い |
★★★★☆ | ログ削除 (sudo journalctl --vacuum-time=7d ) | 安全で確実 |
★★★★☆ | Snap/Flatpak不要バージョン削除 | デスクトップ環境で有効 |
★★★☆☆ | Docker不要データ削除 | サーバー用途で有効 |
★★☆☆☆ | ディスク拡張・マウント追加 | 根本解決策として有効 |
★☆☆☆☆ | 定期監視スクリプトの導入 | 長期運用で効果発揮 |
Ubuntuで容量が逼迫した場合、
「どこが重いのかを把握し → 安全な範囲から削除 → 構成を見直す」
この3段階を意識することで、ほとんどの問題は解決できます。
5. 応用Tips(便利技・注意点)
これまで紹介した方法で容量を確認・整理できるようになっても、運用を続けるうちに再びディスクがいっぱいになることがあります。
ここでは、Ubuntuをより快適に使うための応用的なテクニックを紹介します。
5.1 定期的なディスクチェックを自動化する
手動で df
や du
を実行するのは面倒ですが、自動化スクリプトを使えば手間を減らせます。
簡単な監視スクリプトを cron
に登録しておけば、容量が一定以上になったときに警告を送ることができます。
例:空き容量が10%を切ったらメール通知するスクリプト
#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "警告: ルートディスクの使用率が ${USAGE}% に達しました。" | \
mail -s "Ubuntu容量警告" user@example.com
fi
これを /usr/local/bin/check_disk.sh
として保存し、chmod +x
で実行権限を付与。
次に crontab -e
で次のように登録します:
0 8 * * * /usr/local/bin/check_disk.sh
→ 毎朝8時に自動チェックが行われます。
便利ポイント
- メール以外にもSlack WebhookやLINE Notifyを使って通知可能
- 複数のマウントポイントを同時に監視できるように拡張可能
5.2 大容量ファイルを探すワンライナー
容量不足の原因は「特定の巨大ファイル」であることも多いです。
以下のワンライナーで、1GBを超えるファイルを一覧表示できます。
sudo find / -type f -size +1G -exec ls -lh {} \; | awk '{print $9 ": " $5}'
出力例:
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G
このようにして、削除または移動すべきファイルを素早く見つけられます。
応用例:特定ディレクトリだけを検索
sudo find /var -type f -size +500M
→ /var
以下で500MB以上のファイルを探す場合に便利です。
5.3 よく使うコマンドをエイリアス化する
毎回長いコマンドを打つのは面倒なので、エイリアス設定をしておくと効率的です。
例:~/.bashrc
に追記
alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'
設定後に反映:
source ~/.bashrc
これで、
dfh
→ 全体容量の確認duh
→ 上位10フォルダ確認logs
→ ログの容量調査
といった操作をすぐに実行できるようになります。
5.4 容量の変化を継続的に観察する(モニタリング)
Ubuntuで長期的に運用していると、「いつの間にか容量が増えていた」問題が発生します。
そのため、履歴として容量変化を記録しておくのが有効です。
例:ログファイルに容量を記録するスクリプト
#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log
これを1日1回 cron
で実行しておくと、後から容量増加の傾向を追跡できます。
さらに発展的な方法
collectd
やnetdata
を導入してグラフ化- Prometheus + Grafana で監視可視化
- クラウド運用時はAWS CloudWatchやGCP Ops Agentと連携
GUIツールに頼らず、運用管理レベルでのモニタリングが可能になります。
5.5 権限の壁に注意する
容量確認や削除を行う際、root権限がないと正確な結果が得られないケースがあります。
例:
du -sh /var
と入力しても、一般ユーザーでは一部のフォルダが「Permission denied」でスキップされ、
実際より少ない値が表示されることがあります。
→ 対策として sudo
を付けるか、管理者権限で操作しましょう。
5.6 SSD/HDD環境での注意点
SSD環境
- 不要な書き込みを避けるため、
fstrim
で定期的にTRIMコマンドを実行:
sudo systemctl enable fstrim.timer
これにより、削除済みブロックをSSDが最適化します。
HDD環境
- ログやキャッシュの断片化が進みやすいので、不要ファイル削除後に再起動すると効果的です。
- I/O負荷の高い
du
の実行は深夜など低負荷時間帯に行うのがおすすめです。
5.7 容量管理を「再発防止」まで仕組み化する
最後に、容量管理の最適解は「習慣化と仕組み化」です。
実践チェックリスト
df -h
を定期的に確認している/var/log
の肥大化を月1でチェックapt autoremove
を週1回実行- SnapやDockerの不要データを定期的に削除
- 自動通知スクリプトを導入済み
これらを定期的に実施していれば、ほとんどの容量トラブルは未然に防げます。
まとめ
このセクションでは、Ubuntuでの容量管理をより効率化するための応用テクニックを紹介しました。
ポイントは次の3つです。
- 自動化・通知による「早期発見」
- エイリアスやワンライナーによる「操作効率化」
- 権限やデバイス特性を意識した「安全な管理」
これらを組み合わせることで、容量管理を「面倒な作業」から「システム運用の一部」へと昇華できます。
6. FAQ(よくある質問)
Q1. Ubuntuで現在の空き容量を確認する簡単な方法は?
最も簡単なのは、ターミナルで次のコマンドを入力する方法です。
df -h
このコマンドで、各ドライブ(パーティション)の全体容量・使用量・空き容量を一目で確認できます。
-h
オプションを付けると、人間に読みやすい形式(GBやMB)で表示されます。
Q2. ディレクトリごとの容量を確認するにはどうすればいい?
du
コマンドを使います。
特定フォルダの容量を確認するには、以下のように実行します。
du -sh /home
オプションの意味:
-s
: 合計のみ表示-h
: サイズを人間が読みやすい単位で表示
より詳細にフォルダごとの使用量を見たい場合は次のようにします。
sudo du -h --max-depth=1 /var
Q3. df
と du
の違いは何ですか?
簡単に言えば、測っている対象が違います。
コマンド | 対象 | 主な用途 |
---|---|---|
df | ファイルシステム全体 | 空き容量を確認する |
du | ファイル/ディレクトリ単位 | どこが容量を使っているか調べる |
例えば /
全体の空き容量を知りたい場合は df
、
特定のフォルダがどのくらい容量を使っているか知りたい場合は du
を使うのが適切です。
Q4. GUIで空き容量を確認するには?
Ubuntuデスクトップでは、ファイルマネージャ(Nautilus)やディスク使用量の解析(Baobab)を使うと視覚的に確認できます。
- ファイルマネージャ → 下部バーに「残り〇〇GB」と表示
- Baobab → グラフで容量の内訳を分析可能
どちらも初心者向けで、クリック操作だけで結果を確認できます。
Q5. 「ディスクがいっぱい」と表示されたら、何から削除すべき?
まずは安全なキャッシュや不要ファイルから削除します。
順番としては以下が推奨です。
- APTキャッシュ削除
sudo apt clean
- 不要パッケージ削除
sudo apt autoremove
- ログの整理
sudo journalctl --vacuum-time=7d
- ゴミ箱・サムネイルキャッシュ削除
rm -rf ~/.cache/thumbnails/* rm -rf ~/.local/share/Trash/*
これらだけで数GBの空きが戻ることもあります。
Q6. Snapアプリが容量を圧迫していると聞きました。どうすればいい?
Snapはバージョンごとにアプリを保持するため、古いバージョンが残ることがあります。
以下のコマンドで不要な古いリビジョンを削除できます。
sudo snap list --all | grep disabled | awk '{print $1, $3}' | \
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
または、GUIツール「Snap Store」から手動で削除することも可能です。
Q7. /var
や /home
が大きすぎるときはどう対処すればいい?
/var
→ ログ (/var/log
) やキャッシュ (/var/cache
) の整理/home
→ ダウンロードや動画ファイルのバックアップ・外部ストレージ移動
さらに容量を拡張する必要がある場合は、LVMを使ってボリュームを拡張したり、新しいディスクをマウントして分割管理する方法もあります。
Q8. du
を実行したら時間がかかります。短縮方法はありますか?
du
はすべてのファイルを再帰的に確認するため、フォルダが多いと時間がかかります。
高速化するには以下の工夫が有効です。
--max-depth=1
で深い階層を除外- 不要なフォルダを除外(例:
--exclude=/proc
) ncdu
コマンドを使う(インタラクティブに確認可能)
sudo apt install ncdu
sudo ncdu /
ncdu
は操作感が軽く、視覚的に容量を確認できる便利ツールです。
Q9. 容量不足が再発しないようにするには?
次のような定期運用を行うと効果的です。
- 毎週1回
sudo apt autoremove
を実行 - 月1で
/var/log
や/home
の使用量を確認 df -h
の結果をログに保存して変化を把握- 定期的にスナップ(
snap
)やDockerの古いデータを削除 - SSDなら
sudo systemctl enable fstrim.timer
で自動最適化
こうした運用を自動化することで、容量不足を未然に防げます。
Q10. 容量を拡張したい場合の選択肢は?
主に次の3つの方法があります。
- LVMでボリュームを拡張
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
- 新しいディスクを追加してマウント
/mnt/data
などを作成し、容量を分散管理 - クラウドストレージを活用
Google Drive や Nextcloud に大きなファイルを移動
物理的な拡張が難しい場合は、古いファイルのアーカイブ化も効果的です。
Q11. root権限がない場合でも容量を調べられますか?
基本的な df -h
は実行できますが、du
で一部ディレクトリ(例:/var/log
)の中身を見るには権限が必要です。
root権限を持たない環境では、ホームディレクトリ内 (~
) のみを対象にしましょう。
du -sh ~/*
Q12. GUIがない(サーバー)環境で容量を確認するには?
サーバー版UbuntuではGUIが使えないため、次のコマンド群で代替します。
目的 | コマンド |
---|---|
全体の容量を確認 | df -h |
ディレクトリ別容量を確認 | `sudo du -hsx /* |
大きなファイルを探す | sudo find / -type f -size +1G |
視覚的に確認(テキストUI) | sudo ncdu / |
これらを組み合わせることで、GUIなしでも快適に容量分析が行えます。
Q13. 容量確認でシステムを壊すリスクはありますか?
容量を確認するだけならリスクはありません。
ただし、削除やリサイズの操作を行う際は注意が必要です。
sudo rm -rf
を使うときはパス指定を慎重に/bin
,/lib
,/etc
などシステム領域の削除は厳禁- 不安な場合はバックアップを取ってから実行
Q14. 容量を節約するための裏技はありますか?
- ログ保存期間を短縮 (
/etc/logrotate.conf
の設定) - 不要な言語パッケージを削除
sudo apt install localepurge
- 古いカーネルの削除(自動的に残ることがあります)
sudo apt autoremove --purge
これらを実施すると、数百MB〜数GBの節約になることもあります。
Q15. 容量を監視するおすすめのツールは?
Ubuntuでは以下のような監視ツールが利用可能です。
ツール名 | 特徴 |
---|---|
ncdu | 軽量・高速なCLIツール |
Baobab | GUIで視覚的に容量を確認 |
duf | df の拡張版、見やすいテーブル形式 |
Netdata / Prometheus / Grafana | サーバー監視・グラフ化向け |
まとめ
この記事のFAQを通じて、Ubuntuにおける容量管理のポイントを整理すると次の通りです。
- 確認は
df
(全体) とdu
(詳細)の2軸で行う - 不要データの削除は安全な順で実施(APT → ログ → キャッシュ)
- 再発防止には自動化スクリプトや監視ツールが有効
これらを習慣化すれば、容量トラブルとはほぼ無縁になります。
Ubuntuの運用を安定させるうえで、ディスク容量の管理は「地味だけれど最重要なメンテナンス」と言えるでしょう。