Ubuntuで不要パッケージを削除する方法

Ubuntuで不要パッケージを削除する方法

Ubuntuを使い続けていると、最初は必要だったが今は使っていないパッケージ、依存関係として入ったまま残っているライブラリ、古いカーネルやキャッシュファイルなどが少しずつ溜まっていく。これらを放置すると、ディスク容量を圧迫するだけでなく、アップデート時の確認対象が増えたり、環境の見通しが悪くなったりする。不要パッケージの削除は、単に容量を空ける作業ではなく、「今このサーバーやPCに何が入っているか」を整理するための基本メンテナンスでもある。この記事では、Ubuntuで安全に不要パッケージを整理するための基本コマンド、削除前の確認方法、やってはいけない操作までを順番にまとめる。

最初に理解しておくべきこと

Ubuntuで不要パッケージを削除するときは、次の3種類を分けて考えると整理しやすい。
・自分で入れたが今は使っていないパッケージ
・依存関係として自動インストールされたが、今は不要なパッケージ
・aptのキャッシュや古いカーネルのような補助ファイル
この区別をせずにいきなり大量削除すると、必要なソフトまで一緒に消してしまうことがある。特にサーバー環境では、Webサーバー、PHP、DB、SSH関連などを誤って消すと復旧が面倒になるため、削除前の確認が重要になる。

現在のシステム状態を更新してから作業する

最初にaptのパッケージ情報を更新しておくと、古い情報のまま誤判断しにくい。不要パッケージ整理の前に一度更新しておくと流れが安定する。

sudo apt update

必要なら、現在のアップグレード対象も確認しておく。

apt list –upgradable

ここで発生しやすい問題は、
・別のapt処理が動いていてロックされている
・sudo権限が無い
・古いパッケージ情報のまま整理を進めてしまう
といったもの。

自分で入れたパッケージを削除する基本

特定のパッケージが明確に不要だと分かっているなら、まずは remove を使う。
これはパッケージ本体を削除するが、設定ファイルの一部は残ることがある。

sudo apt remove package-name

たとえば、不要になったツールを削除するなら次のようになる。

sudo apt remove imagemagick

この方法は比較的安全で、「とりあえず本体だけ外したい」場面に向いている。
ただし、関連パッケージも一緒に消える場合があるため、実行前にaptが出す一覧は必ず確認した方が良い。

設定ファイルも含めて完全に消したいなら purge を使う

不要パッケージを「インストール前に近い状態まで戻したい」なら purge を使う。
これはパッケージ本体だけでなく、設定ファイルも削除対象にする。

sudo apt purge package-name

例。

sudo apt purge apache2

これにより設定もかなり整理しやすくなるが、再度使う可能性があるソフトに対して安易に使うと、後で再設定が必要になる。
開発環境ならよいが、本番サーバーでは「設定も消す」影響を理解してから使う方が安全。

不要な依存パッケージは autoremove で整理する

Ubuntuで最もよく使う整理コマンドの1つが autoremove
これは、以前は必要だったが、今はどのパッケージからも参照されなくなった自動インストール済みパッケージを削除する。

sudo apt autoremove

たとえば、あるソフトを削除したあとに残った依存ライブラリをまとめて整理したいときに便利。
不要な依存だけを片付けるにはかなり有効だが、ここでも実行前に削除候補一覧を確認した方がよい。
特にサーバー用途では、「本当に今は参照されていないか」を自分でも意識した方が安心しやすい。

設定ファイルも含めて依存を掃除するなら autoremove –purge

依存パッケージの整理に加えて、関連する設定ファイルも一緒に消したいなら次のようにする。

sudo apt autoremove –purge

これはかなり整理効果が高い一方で、後から「あの設定だけ残しておきたかった」となりにくいよう、用途を見極めて使う方がよい。
不要パッケージの掃除を徹底したい検証環境や個人開発PCでは使いやすいが、本番サーバーでは慎重に扱う方が良い。

aptキャッシュを削除して容量を空ける

Ubuntuでは、インストール済みパッケージの .deb ファイルがキャッシュとして残ることがある。これがディスクを圧迫している場合は cleanautoclean が有効。

全部消すなら次。

sudo apt clean

古くて再取得できないもの中心に整理するなら次。

sudo apt autoclean

ざっくり分けると、
clean は広く消す
autoclean は古い不要キャッシュ中心
という使い分けになる。
容量不足対策としてはかなり即効性があることが多い。

削除前に依存関係を確認する

不要だと思っているパッケージでも、実は別の重要パッケージから依存されていることがある。
そのため、削除前に依存関係を見ておくと事故が減る。

apt depends package-name

逆に、そのパッケージを必要としているものを見たい場合は次のような確認も役立つ。

apt rdepends package-name

これにより、「このパッケージを消したら何が困るか」を事前に把握しやすくなる。
特に、PHP、MySQL、OpenSSH、Nginx、Apache、Python系では確認を省かない方が良い。

今入っているパッケージを一覧で確認する

何を削除するか迷うときは、まず今入っているパッケージを見える化した方が判断しやすい。
代表的な確認方法は次の通り。

apt list –installed

件数が多いので、絞り込みながら見る方が実用的。

apt list –installed | grep php
apt list –installed | grep mysql
apt list –installed | grep docker

この確認を入れるだけで、「入っていると思っていたものが無い」「逆に昔入れたものが残っている」といった状況を把握しやすくなる。

不要パッケージ候補を絞り込む考え方

不要かどうか判断しづらいときは、次の観点で絞ると考えやすい。
・現在の運用で本当に使っているか
・サービスとして起動しているか
・最近の作業に必要だったか
・同じ用途の別パッケージに置き換えていないか
・依存されていないか
たとえば、Apacheを使わずNginxだけで運用しているなら、Apache系が不要候補になることがある。
ただし「昔使っていたから残っている」と「今は裏で使っている」は違うため、サービス起動状態も合わせて確認した方がよい。

不要サービスが動いていないか確認する

パッケージを消す前に、サービスとして動いているかも見ると判断しやすい。
systemd環境なら次の確認が使いやすい。

systemctl list-units –type=service –state=running

特定のサービスだけ見たいなら次のようにする。

systemctl status apache2
systemctl status mysql
systemctl status nginx

ここで動いているものを「不要そうだから」という理由だけで消すと、意図せず本番サービスが止まることがある。
削除前に「今使っていない」が本当に成立しているかを見ることが大切。

古いカーネルの整理は慎重に行う

Ubuntuで容量を圧迫しやすい要素の1つが古いカーネル。
ただし、ここは通常の不要パッケージより慎重に扱う必要がある。
現在使っているカーネルは絶対に消してはいけないため、まず現在のカーネルを確認する。

uname -r

そのうえで、インストール済みカーネル関連を確認する。

dpkg –list | grep linux-image

古いものを整理すること自体は有効だが、安易に一括削除するより、現在使用中でないものを1つずつ確認しながら進める方が安全。
初心者のうちは、ここは autoremove に任せる方が事故が少ないことも多い。

よくある失敗とやってはいけないこと

不要パッケージ削除でやりがちな失敗はかなり典型的。
・削除一覧を読まずに Enter を押す
・本番サーバーで試し感覚で purge する
・SSHやネットワーク関連を消してリモート接続不能になる
・PHPやDBを消してアプリが落ちる
cleanautoremove の違いを理解せず使う
・設定ファイルを残したいのに purge してしまう
特にサーバーでは、openssh-server、ネットワーク管理系、Webサーバー、DB、PHPまわりは「不要に見えても本当に不要か」を二重確認した方がよい。

削除後に確認しておくこと

不要パッケージを削除したら、終わりではなく確認も必要。
最低限、次を見ておくと安心しやすい。

df -h
apt list –installed | grep package-name
systemctl list-units –type=service –state=running

たとえば、
・容量は本当に減ったか
・削除したかったものは消えたか
・必要サービスは落ちていないか
を確認する。
特にサーバーでは「削除は成功したが、翌日バッチが落ちる」ということもあるため、直後の簡易確認を省かない方が安全。

安全寄りのおすすめ手順

Ubuntuで不要パッケージを整理するとき、比較的安全寄りに進めるなら次の流れが分かりやすい。

sudo apt update
apt list –installed | grep キーワード
apt rdepends package-name
sudo apt remove package-name
sudo apt autoremove
sudo apt autoclean
df -h

この流れなら、
・現状把握
・依存確認
・本体削除
・不要依存整理
・キャッシュ整理
・結果確認
まで一通り通せる。
最初から purge や大規模削除へ行くより、段階的に進めた方が失敗しにくい。

まとめ

Ubuntuで不要パッケージを削除するときは、
remove で本体削除
purge で設定も含めて削除
autoremove で不要依存整理
clean / autoclean でキャッシュ整理
という役割分担を理解しておくと進めやすい。
重要なのは、「不要そうだから消す」ではなく、
・今使っているか
・依存されていないか
・動作中サービスに関係ないか
を確認してから進めること。
特に本番サーバーでは、容量確保より安定動作の方が優先になるため、削除前確認を丁寧に行うことが結果的に安全につながる。