LinuxMintをメインで使うようになって約3年半。
最近「空き容量が少なくなってきたので、データの削除をしましょう」というメッセージがやたら出るようになっていました。
全部で512GBのSSDのうち、Linuxシステムやインストールプログラム用に100GBパーテションを区切って使っていました。
追加アプリを入れても、これだけあれば大丈夫」と思っていたのに、調べてみたら、すでに95%近く使用済みになっていました!
最初は、重そうな動画データなどを別のデータ用パーテションに移動してみたのですが、さほど減りません。
そこで、不要データを根こそぎ削除する方法はないのか探してみました。
すると、以下のコマンドを管理者権限で実行すると、使用済みで要らなくなった設定ファイルなどを自動で削除できることが分かりました。
※ただし、OSの根幹を触るので、使用には細心の注意を払ってください!
$ sudo apt autoremove
ターミナルで、このコマンドを実行した結果を、若干説明(素人考えですが…)を交えて報告します。

$ sudo apt autoremove
[sudo] 「管理者」 のパスワード: (設定済みの)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
linux-headers-5.15.0-100 linux-headers-5.15.0-100-generic
linux-headers-5.15.0-101 linux-headers-5.15.0-101-generic
linux-headers-5.15.0-102 linux-headers-5.15.0-102-generic
linux-headers-5.15.0-105 linux-headers-5.15.0-105-generic
以下、この項目「ヘッダーパケージ」は188行ありました。
AIによる説明
Linux(Ubuntu/Debian系)で linux-headers-5.15.0-xx を削除するには、APTパッケージマネージャを使用して、不要になったヘッダーパッケージをパージ(設定ファイルを含めて削除)します。
現在使用中のカーネルヘッダーを削除しないよう注意してください。
(1)以上が第1項目
あとは、次の2項目が削除されるみたいです。
(2)
linux-image-5.15.0-100-generic linux-image-5.15.0-101-generic
同様のが29行ありました。
AIによる説明
HWE(Hardware Enablement)カーネル。
Ubuntu LTS(長期サポート版)で、新しいハードウェア(GPU、Wi-Fi等)に対応するために、後続の通常リリース版からバックポートされた、より新しいバージョンのカーネル
推測
ヘッダーと同じくナンバーが連番でだんだん大きくなっているので、バージョンアップ前の不要なカーネルを削除しているらしい。
(3)
linux-modules-5.15.0-100-generic linux-modules-5.15.0-101-generic
以下同じlinux-modulesが79行ありました。
AIによる説明
「これは、Ubuntu 20.04/22.04などで使われるLinuxカーネル5.15系のモジュールパッケージ。101は100に対する更新版であり、通常はセキュリティ修正や安定性向上のためのアップデートが含まれる。更新時に古いバージョン(100)が残ることは正常。」
更新前の不要な部分のチェックが終わると削除前のメッセージが出ました。
アップグレード: 0 個、新規インストール: 0 個、削除: 300 個、保留: 0 個。
この操作後に 35.1 GB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 2805451 個のファイルとディレクトリがイ
ンストールされています。)
linux-headers-5.15.0-100-generic (5.15.0-100.110) を削除しています ...
linux-headers-5.15.0-100 (5.15.0-100.110) を削除しています ...
linux-headers-5.15.0-101-generic (5.15.0-101.111) を削除しています ...
以下、膨大な削除処理が延々と続く。
途中に、以下のような警告メッセージがはさまっていました。
Warning: os-prober will be executed to detect other bootable partitions.
AIによる説明
「GRUB(Linuxの起動メニュー)が他のOS(Windowsなど)を自動で探してメニューに追加する準備ができていることを示しています。」
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
AIによる説明
「Its output will be used to...」: os-prober というツールが実行され、他のディスクにあるWindowsや別のLinuxなどの起動ファイルを自動検出して、メニューに追加しようとしている状態です。
「Adding boot menu entry for UEFI Firmware Settings」: パソコン自体の設定画面(BIOS/UEFI設定)へ、次回起動時のメニューから直接入れるようにショートカット(再起動用エントリ)をGRUBメニューに追加しています。
推測
これは、デュアルブートに関わるチェックみたいです。

結局、更新前の不要な設定データがすべて削除されるのに10分以上かかりました。
結果は以下のようになりました。
95%ほど使用済みだったhomeパーテションが47%ほどに激減しました。


ディスク使用量アナライザーで確認したhomeパーテションの使用状況は以下の通りです。

下半分は主に個人データ(作成したり、ダンロードしたりしたもの)
上半分が主にカーネルの本体と追加プログラムなど。(多分…)

この使用済みディスクの円グラフは中心から外側にむかってフォルダ構造の中身を表しています。中心部分が一番大元のフォルダ。
分かったこと
どうやらLinuxmintは、アップデート後もそれ以前のモジュールが自動削除にならないことが多いみたい。
結果的に、使用期間が長くなると(私の場合3年以上)蓄積した不要なモジュールがデータドライブを圧迫するようになる。
これは、3年半トラブルもなく使ってきたLinuxMintの意外な弱点だなあと思いました。
最近知ったのですが、Windowsは各アプリケーションごとに使用するライブラリが一つに格納されていて(相互利用するものもあるらしい)、独立しているので、インストールやアンインストールで設定ファイルやアップデート履歴なども同時に削除されるようになっている。一方Linuxでは各アプリケーションはライブラリを相互利用する場合が多い。だからアプリケーションを組み込んだ時、他のアプリケーションと相互依存関係が複雑になっている。
ここが、Linuxでは「管理者権限は安易に使わないこと」という決まりの理由らしい。
まあ、素人同然の私ですが、実際にアプリのアンインストールなどでトラブルが出たことはないので、普通に使用している分には大丈夫なんだと思います。
オープンソースのOSというのは、やはり基本的な理解が及ばない一般ユーザーにはお勧めしにくいということですかね。
ドライブをシステム部分とhomeで区切って使用している人は少ないかもしれませんが、個人データを保護するためには、やはり分けるか別のドライブを保存用に追加したほうがいいのかもしれません。