アーカイブファイルを削除してディスクに空きを作る

概要

Debian10(Buster)でシステム領域の残量が少なくなったと警告があった。/var/cache/apt/archives が肥大していて、apt-get clean で解決。空き容量が半分ぐらいになった。

加えて「ディスク使用量アナライザー」について。

通知が届く

できるだけ、ディストリビューションのデフォルトで使うようにしているので、この通知の設定も自動でなされたもの。スクリーンショットもないし、文面もよく覚えていないが、ストレージの残量が少ないというもの。

[検査・確認]と[今回は放置]の二択のボタンが付いている。ボタンの文面もこのとおりではないが、意味でいうとこうだろう。通知ウィンドウなので、どちらも選ばずに閉じることも可能であったか、他の作業をすることで自動的に閉じられたかもしれない。

今回は検査することにした。

apt/archivesが肥大

開いたのは「ディスク使用量アナライザー」の次の画面。

apt/archivesが肥大している図

このSSDは全部で250GB。swapを15GB、/homeを205GB確保して、30GBをその他のシステムに当てている。そのうちの26.9GBが使用済みとなっている。

/var/cache/apt/archives が相当量を占めていることがわかる。その中身は、

....略....
-rw-r--r-- 1 root root   3542016  4月 19 21:57 xserver-xorg-core_2%3a1.20.4-1+deb10u3_amd64.deb
-rw-r--r-- 1 root root   2240344  8月 28  2020 xserver-xorg-legacy_2%3a1.20.4-1+deb10u1_amd64.deb
-rw-r--r-- 1 root root   2240408 12月  2  2020 xserver-xorg-legacy_2%3a1.20.4-1+deb10u2_amd64.deb
-rw-r--r-- 1 root root   2240488  4月 19 21:57 xserver-xorg-legacy_2%3a1.20.4-1+deb10u3_amd64.deb
-rw-r--r-- 1 root root   3074348  8月 28  2020 xwayland_2%3a1.20.4-1+deb10u1_amd64.deb
-rw-r--r-- 1 root root   3075368 12月  2  2020 xwayland_2%3a1.20.4-1+deb10u2_amd64.deb
-rw-r--r-- 1 root root   3074036  4月 19 21:57 xwayland_2%3a1.20.4-1+deb10u3_amd64.deb

というようにパッケージファイルで、インストール後は不要になるはずのもの。少なくとも古いバージョンもそのままにしてあり、グレードアップするたびに容量を食っていることになる。

システムから時々更新を知らせてくれるが、何が更新されるかはsnapticを使って確認することが多い。そのまま更新しても、snapticから更新してもインストールのためにダウンロードした.debファイルはそのままになる。apt-cache などのコマンドの実行の効率化に寄与することがあるかは知らないが、インストールされたパッケージのバージョン管理に使われるわけではなく、削除しても構わないとのこと。

apt-get autoclean

この解消には、apt-get clean または apt-get autoclean を使うとのこと。

  clean - ダウンロードしたアーカイブファイルを削除する
  autoclean - ダウンロードした古いアーカイブファイルを削除する

使用量はわかっているが、du で確認。

root@fumita:/root# du -sh /var/cache/apt/archives/
11G	/var/cache/apt/archives/

まず、autocleanで一部を消してみる。

root@fumita:/root# apt-get autoclean
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
Del firefox-esr 68.11.0esr-1~deb10u1 [48.0 MB]
Del libuim-custom2 1:1.8.8-4+deb10u3 [41.4 kB]
Del exim4-config 4.92-8+deb10u3 [323 kB]
Del qt5-gtk-platformtheme 5.11.3+dfsg1-1+deb10u1 [149 kB]
...省略...
Del thunderbird-l10n-ja 1:78.3.1-2~deb10u2 [773 kB]
Del libjavascriptcoregtk-4.0-18 2.28.3-2~deb10u1 [5,376 kB]
Del libuim-data 1:1.8.8-4+deb10u4 [32.0 kB]

どのぐらいになったか確認。

root@fumita:/root# du -sh /var/cache/apt/archives/
4.8G	/var/cache/apt/archives/

autoclean実行後

apt-get clean

さらに、cleanで全て消してみる。

root@fumita:/root# apt-get clean
root@fumita:/root# du -sh /var/cache/apt/archives/
140K	/var/cache/apt/archives/

アナライザーの図示ではarchivesは面積として表示できない状態になっている。

clean実行後

もちろん今後アップグレードすれば、使用したファイルはarchiveに残るし、溜まってきたらまた削除すればよい。

apt-get autoremove

調子に乗ってapt-get autoremove も使ってみる。これは「自動インストールされたけれども、今は使われていないすべてのパッケージを削除する」というもの。依存関係があって自動的にインストールされたパッケージで、依存元が削除されて、おそらくは不要になているものを削除するコマンド。「今は使われていない」というのは他の現役のパッケージから依存されていないということだけで、本当に使われていないかは不明なのでそのままになっている。私はいままでこの機能を使ったことはない。

root@fumita:/root# apt-get autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
  linux-headers-4.19.0-10-amd64 linux-headers-4.19.0-10-common linux-headers-4.19.0-11-amd64
  linux-headers-4.19.0-11-common linux-headers-4.19.0-12-amd64 linux-headers-4.19.0-12-common
  linux-headers-4.19.0-13-amd64 linux-headers-4.19.0-13-common linux-headers-4.19.0-14-amd64
  linux-headers-4.19.0-14-common linux-headers-4.19.0-16-amd64 linux-headers-4.19.0-16-common
  linux-image-4.19.0-10-amd64 linux-image-4.19.0-11-amd64 linux-image-4.19.0-12-amd64
  linux-image-4.19.0-13-amd64 linux-image-4.19.0-14-amd64 linux-image-4.19.0-16-amd64
  linux-image-4.19.0-6-amd64 linux-image-4.19.0-8-amd64 linux-image-4.19.0-9-amd64
アップグレード: 0 個、新規インストール: 0 個、削除: 21 個、保留: 0 個。
この操作後に 2,762 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 413422 個のファイルとディレクトリがインストールされています。)
linux-headers-4.19.0-10-amd64 (4.19.132-1) を削除しています ...
linux-headers-4.19.0-10-common (4.19.132-1) を削除しています ...
....以下略....

パッケージの削除を連続して実行することになるので、通常の個別削除のようにメッセージが流れる。かなり長いので以下省略。

ディスク使用量アナライザーの図では次のようになる。

autoremove実行後

/usr の中の lib と share の位置が上のものと入れ替わっている。/usr/lib/modules 中に11個あったKernelが2個に激減したのが大きい。

ディスク使用量アナライザー

今回起動するように誘導されたツールは「ディスク使用量アナライザー」だった。DebianのGNOMEでのアイコンはこれ。

ディスク使用量アナライザーのアイコン

Ubuntuではこれと異なるアイコンが使われている。意外にもUbuntuのアイコンのほうが正式なものであるようだ。

ディスク使用量アナライザーのUbuntuアイコン

近頃のDebian/Ububtuでは、自分がどのツールを使っているのかわかりにくくなってきた。これからこれはGNOMEディスク使用量アナライザーとして通用していくのだろうか。このツールのコマンドとしての名前はbaobabである。

ディスク使用量アナライザーという名前は一般的すぎる。GNOMEディスク使用量アナライザーは名前としては長い。ディスクユーティリティという機能が異なるツールもあって、違いが印象に残らない。普通名詞のような名前はツールの名前を伝えるときに不便だし、日本語の名前はパッケージを探すのも面倒になる。synapticの検索では日本語の文字は使えないようだ。

baobabの名前はもともと知らなかった(植物は知っている)が、知っている名前が見えなくなったものも多い。エディタのgeditは「テキストエディタ」という名前になったし、pdfビュアーのevinceは「ドキュメントビュアー」になったし、Totemは「ビデオ」になった。

evinceやtotemは名前だけからは機能がわからないので、日本語の機能をその呼び名にするということなのだろうが、ネットの検索で該当する記事は見つかりにくくなるだろう。特に日本語よりも豊富な英語の記事にはヒットしない。コマンド名がすぐにわかるようにしておいてほしい。素人には知らなくてもいいことは調べる方法も用意しないというのでは知識が広がっていかない。

geditはWindowsでも使えるようになったのに、テキストエディタがWindowsでも使えるようになったとしか表現できなくなったとしたら困る。マイクロソフトがWindowシステムにWindowsという名前をつけ、ワープロにWordという名前をつけたときと同じ困惑を感ずる。