ウェブサイト検索

Arch Linuxでパッケージキャッシュをクリーンアップする方法


このガイドでは、Paccache スクリプトとは何か、Arch Linux および EndeavourOS や Manjaro Linux などの亜種でパッケージ キャッシュをクリーンアップする方法について説明します。

パッチェとは何ですか?

Arch Linux とその派生製品のデフォルトのパッケージ マネージャーである Pacman は、ダウンロードされたすべてのパッケージを /var/cache/pacman/pkg/< に保存することは誰もが知っています。 ディレクトリ。

また、Pacman は古いパッケージやアンインストールされたパッケージをキャッシュから自動的に削除しないこともわかっています。特定の時間が経過すると、キャッシュ フォルダーのサイズが大きくなります。

したがって、Arch Linux では定期的にパッケージキャッシュをクリーンアップして、ハードディスクのスペースを解放することをお勧めします。

Pacman には、キャッシュされたパッケージをすべて削除するオプションが組み込まれています。 sudo pacman -Sc コマンドを実行すると、キャッシュされたパッケージを削除できます。

ただし、このコマンドはキャッシュされた古いバージョンをすべて削除し、現在インストールされているパッケージのバージョンのみを使用可能な状態に残します。これは推奨される方法ではありません。

なぜなら、 場合によっては特定のパッケージを古いバージョンにダウングレードしたい場合があるからです。したがって、古いパッケージをすべてクリーンアップした場合は、それらを Cache フォルダーからインストールするという選択肢はありません。 Arch Linux 公式リポジトリからのみインストールできます。

ここで Paccache スクリプトが役立ちます。 Paccache スクリプトは、Pacman パッケージ自体によって提供されます。したがって、インストール手順に煩わされる必要はありません。

Paccache は、デフォルトで 最新の 3 つのパッケージ バージョンを保持します。最新の 3 つのパッケージ バージョンを除き、インストールされているかどうかに関係なく、各パッケージのキャッシュされたバージョンがすべて削除されます。

この短いチュートリアルでは、paccache スクリプトを使用して Arch Linux とその派生製品のパッケージ キャッシュを適切にクリーンアップする方法を説明します。

A. Paccache を使用して Arch Linux のパッケージ キャッシュをクリーンアップする

1. まず、キャッシュ フォルダーで利用可能なキャッシュされたパッケージの数を確認します。

$ sudo ls /var/cache/pacman/pkg/ | wc -l
3185

2. 上記の出力に見られるように、合計で 3185 個のパッケージがキャッシュされました。キャッシュ フォルダーによって使用されている合計ディスク容量を確認してみましょう。

$ du -sh /var/cache/pacman/pkg/
9.7G /var/cache/pacman/pkg/

現在、9.7 GB のサイズのパッケージをキャッシュしています。これは、やりすぎ。全部は保管したくないんです。

3. 最新の 3 つのバージョンを除くすべてのパッケージをクリーンアップするには、次のコマンドを実行します。

$ sudo paccache -r
[sudo] password for sk:

==> finished: 854 packages removed (disk space saved: 4.37 GiB)

見る? Paccache は 854 個の古いパッケージやアンインストールされたパッケージをキャッシュから削除し、4.37 GB のディスク容量を節約しました。

4. キャッシュ フォルダーにいくつのパッケージが残っているかをもう一度確認してみましょう。

$ sudo ls /var/cache/pacman/pkg/ | wc -l
2331

素晴らしい!現在、Cache フォルダーには 2331 個のキャッシュされたパッケージが利用可能です。これらは、キャッシュされた各パッケージの 3 つの最新バージョンです。

5. ここで、キャッシュ フォルダーによって使用されている合計ディスク容量を確認します。

$ du -sh /var/cache/pacman/pkg/
5.4G /var/cache/pacman/pkg/

素晴らしい!最大 4GB のディスク容量を節約できました。

6. さらにパッケージを削除したいですか?もちろんできます! Paccache を使用すると、保持する最新バージョンの数を決定できます。

たとえば、最新バージョンを 1 つだけ保持したい場合は、次のコマンドを実行します。

sudo paccache -rk 1

ここで、k は、各パッケージの num をキャッシュに保持することを示します。

7. アンインストールされたパッケージのキャッシュされたバージョンをすべて削除するには、u フラグを指定して paccache を再実行します。

sudo paccache -ruk0

ここで、u フラグは、アンインストールされたパッケージを示します。

8. 次の pacman コマンドを使用して、アンインストールされたパッケージをすべて削除することもできます。

sudo pacman -Sc

9. すべてのパッケージ (インストールされているかアンインストールされているかに関係なく) をキャッシュから完全に削除するには、次のコマンドを実行します。

sudo pacman -Scc

このコマンドを使用するときは注意してください。キャッシュされたパッケージが削除されると、それらを取得する方法はありません。

推奨ダウンロード - 無料電子ブック: 「5 日間で Linux を学ぶ」

B. Arch Linux のパッケージ キャッシュを自動的にクリーンアップする

1. パッケージ キャッシュを手動で消去するのが面倒な場合は、pacman フックを使用してこのタスクを自動化できます。 pacman フックは、pacman トランザクションのたびにパッケージ キャッシュを自動的に消去します。

これを行うには、ファイル /etc/pacman.d/hooks/clean_package_cache.hook を作成します。

sudo mkdir /etc/pacman.d/hooks
sudo nano /etc/pacman.d/hooks/clean_package_cache.hook

次の行を追加します。

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

2. ファイルを保存して閉じます。今後、パッケージ キャッシュは、pacman トランザクション (アップグレード、インストール、削除など) ごとに自動的に消去されます。 paccache コマンドを毎回手動で実行する必要はありません。

詳細については、次のコマンドを実行して Paccache のヘルプ セクションを参照してください。

paccache -h

関連記事:

  • Arch Linux の Pacman で並列ダウンロードを有効にする
  • Arch Linux に Paru AUR ヘルパーをインストールする方法
  • Arch Linux の Reflector を使用して最新のミラー リストを取得する

結論

このガイドでは、Paccache スクリプトを使用してパッケージ キャッシュをクリーンアップする方法と、Arch Linux の pacman フックを使用してパッケージ キャッシュを自動的にクリーンアップする方法を学びました。これらのツールは両方とも、Arch Linux をクリーンな状態に保ち、ディスク容量を大幅に節約するのに役立ちます。

関連記事