msys2のパッケージキャッシュの削減
msys2を入れているPCのHDDの空き容量を増やすために、
コマンドpaccache
を使おうとしたところ入ってなかった。
$ pacman -S pacman-contrib
これでpaccache
やpactree
が入る。
以前にpactree
を使った気がしていたけれど他のPCだったのかも?
対象のPCではmsys2を入れて以来、パッケージのキャッシュを消したことは無いが、
msys2自体をあまり利用していないこともあり、それほど頻繁にパッケージを更新したりしていない。
そもそも入れているパッケージはシステムごとに違うので以下は一つの例。
まずは既にアンインストールしたパッケージのキャッシュを消してしまおう。
$ paccache -d -uv
dry runで確認すると9パッケージ、4.06MiBが対象だったので、さくっと削除。
$ paccache -r -uv
次にインストールしているパッケージの過去のキャッシュを削除する。
paccache
は世代や日付で削除や移動する対象を選択できる。
今回はとりあえず10世代前(デフォルトの3世代前よりとても多い)まで残してみよう。
先ほどと同様、消す前にdry runでどのくらい削減できるのか確認。
$ paccache -d -k 10 ==> finished dry run: 157 candidates (disk space saved: 6.03 GiB)
かなりキャッシュに溜まっていることが分かる。
ちなみに、オプション-k
を付けずにデフォルトの3世代前まで残すと、
$ paccache -d ==> finished dry run: 515 candidates (disk space saved: 9.39 GiB)
となり、削除候補数がかなり増え、3GiB超さらに削減できることになる。
が、とりあえず6GiB削減してしまおう。
$ paccache -r -k 10
本当はオプション-v
を付けて何が削除されるのか、
dry runする時に確認すべきかもしれないけれど、候補数が100を超えるほど多いし、
10世代以上も前のパッケージとかなら有無を言わさず消してしまっても問題ないだろう。
まず間違いなく今後使うことはないと思われる。
ということでHDDの空き容量がけっこう増えた。