Arch Linuxのパッケージをパッケージリストで管理する

この記事では、Arch Linuxのインストール済みパッケージリストを作成して管理・一括インストールする方法を紹介します。ここでは、AURヘルパーとして yay を使用している前提で書いています。 paru 等、他のAURヘルパーを使用している場合は適宜読み替えてください。

パッケージリストの作成

明示的にインストールしたパッケージの名前を出力し、 pkglist.txt ファイルに保存します。

yay -Qeq > pkglist.txt

解説

  • -Q, --query : ローカルのパッケージデータベースに問い合わせ、インストール済みのパッケージを検索します。
  • -e, --explict: 明示的にインストールしたパッケージのみ検索します。
  • -q, --quiet : パッケージの名前のみを出力します。

AUR等、外部からインストールしたものを分割する

公式リポジトリからインストールしたパッケージと、そうでないもの(AURや自作パッケージなど)を分割して管理したいかもしれません。その場合は以下の方法で作成することができます。

yay -Qeqn > pkglist.txt # 公式リポジトリからインストールしたもの
yay -Qeqm > pkglist-foreign.txt # その他

解説

  • -n, --native: 公式リポジトリからインストールしたパッケージのみ検索します。
  • -m, --foreign: 公式パッケージ以外からインストールしたパッケージのみ検索します。

dotfilesで管理

上記で作成したパッケージリストは、手持ちのdotfilesリポジトリに移動して管理すると楽です。git diff 等で差分の確認も容易にできます。

一括インストール

パッケージリストに記載されているパッケージを一括でインストールする場合は次のように実行します。

yay -S --needed - < pkglist.txt

解説

  • -S , --sync : パッケージをインストールします。
  • --needed: 既に最新のパッケージは再インストールしないようにします。
  • pacmanyay の引数にパッケージ名ではなく - を与えると、標準入力から読み込んだ行をパッケージ名と解釈します。

参考記事

Pacman ヒント - Arch Wiki