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
: 既に最新のパッケージは再インストールしないようにします。pacman
やyay
の引数にパッケージ名ではなく-
を与えると、標準入力から読み込んだ行をパッケージ名と解釈します。