メンテナンス・トラブルシュート - pkg ports 関連コマンド - 古い distfiles を削除する

クラウディア 
1. 概要
2. portsclean
3. portmaster
4. 試してみた

1. 概要

 「FreeBSD」のマシンで、「ports」でパッケージ管理していて、長年使っていると、明示的に削除しないと。

/usr/ports/distfiles/
 の下に、ファイルが溜まりに溜まっちゃいます。  長いこと、ほったらかしてあったマシンで、ふと上記を「tree」コマンドで見てみたら。  「56 directories, 2588 files」ですって(笑)。  本ページは、下記のサイトを参考にさせていただきました。
第4章 アプリケーションのインストール - packages と ports

2. portsclean

 これは、おそらく、「FreeBSD」にデフォルトで、備わっているコマンドではないかな。  いくつか、参考サイトに紹介されているものを。  すべてのワークを削除するには。

portsclean -C
 ですって。  わたしは、まぁ上記は使わないでしょう。  どの「ports」からも使われていない、すべての「distfiles」を削除するには。

portsclean -D
 上記は、使いそう。  システムにインストールされている「port」から使われていない、「distfiles」をすべて削除するには。

portsclean -DD
 ですと。  これが、一番、使い勝手がよさそうです。

3. portmaster

 もし、「portmaster」をインストールしているならば。  (わたしは、たいがい、インストールするようにおすすめしております)

portmaster --clean-distfiles
 とすれば、インタラクティブな動作になります。  試しにやると

===>>> Gathering distinfo list for installed ports

===>>> Checking for stale distfiles

        ===>>> Delete stale file: Cython-0.29.34.tar.gz? y/n [n]
 てな具合に、プロンプトが表示され、ひとつずつ、消す消さないを決めることができます。  とはいえ、これ、いちいちファイルまで覚えていないので、前項の方が楽かもですね。

4. 試してみた

 冒頭の「56 directories, 2588 files」溜まっている状態で。  「portsclean -D」を試してみました。

Detecting unreferenced distfiles...
[Reading data from pkg(8) ... - 592 packages found - done]
Delete /usr/ports/distfiles/0001-refs-extract-packed_refs_delete_refs-to-allow-contro.patch
Delete /usr/ports/distfiles/0002-refs-allow-passing-flags-when-beginning-transactions.patch
Delete /usr/ports/distfiles/0003-refs-allow-skipping-the-reference-transaction-hook.patch
Delete /usr/ports/distfiles/0004-refs-demonstrate-excessive-execution-of-the-referenc.patch
Delete /usr/ports/distfiles/0005-refs-do-not-execute-reference-transaction-hook-on-pa.patch
Delete /usr/ports/distfiles/0006-refs-skip-hooks-when-deleting-uncovered-packed-refs.patch
Delete /usr/ports/distfiles/1f35c466aaa9444335a1b854b0b7223b0d2346c2.patch
Delete /usr/ports/distfiles/2340cdb5f0c2.patch
Delete /usr/ports/distfiles/36391cda3d4e4fb3269a2ce310e6e0f634729f0b.patch
Delete /usr/ports/distfiles/4ec3bb5bf198.patch

・・・	略	・・・

Delete /usr/ports/distfiles/composer-2.4.3
Delete /usr/ports/distfiles/KDE/Qt/5.15.7
Delete /usr/ports/distfiles/KDE/Qt/5.15.5
 2行目で、少し考えていたようですが。  その後は、一気に進みました。  削除したものは、出力するので、記録しておけば、間違って消しても、安心ですね。  「56 directories, 2588 files」あったものが、「36 directories, 820 files」になりました。
earthcar(アースカー)