Linux / コマンド / pacman - Arch Linuxでのパッケージインストールとシステム全体のアップデート

pacmanはArch Linux系でパッケージとリポジトリを管理します。インストール・削除だけでなく、リポジトリの同期とシステム全体のアップグレードを一連の流れで行うことが重要です。

-Sはリポジトリパッケージのインストール、-Qはローカルインストール状態の確認、-Rは削除です。-Syuはパッケージデータベースを同期し、インストール済みパッケージも同時にアップグレードします。データベースだけを更新した-Syの後に一部のパッケージのみをインストールすると、部分的なアップグレード状態になりうるため、避けるべきです。

基本的な文法

pacman -動作[オプション] [パッケージ ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man pacmanで現在のシステムの説明を確認してください。

使用例

リポジトリパッケージの検索

インストール前に名前と説明を確認します。

pacman -Ss nginx

インストール済みパッケージ情報の確認

現在インストールされているバージョンと依存関係情報を確認します。

pacman -Qi bash

システム全体のアップデート

リポジトリの同期とシステムのアップグレードをまとめて行い、変更一覧を確認してから承認します。追加のパッケージも入れる場合は、例えばsudo pacman -Syu nginxのように同じ処理で指定できます。実行前にArch Linuxの告知と手元の構成を確認し、更新に伴う再起動やサービス再起動も計画します。

sudo pacman -Syu

ローカルパッケージの検索結果

pacman -Qはインストールされているローカルパッケージとバージョンを照会します。次の例でbashがインストールされている場合は、一行が出力されます。

pacman -Q bash

例の出力(バージョンは時点によって異なります):

bash 5.x.x-1

パッケージがない場合、照会は失敗し、0以外の終了ステータスが返されます。pacman -Syuはリポジトリの同期とシステム全体のアップグレードを組み合わせます。Arch系では特定のパッケージのみを選択的にアップグレードして部分的なアップグレード状態にすることは依存関係の問題を引き起こす可能性があるため、公式の運用指針に従ってください。

主なオプションと形式

オプション・形式 説明
-S パッケージ リポジトリからパッケージをインストールします。
-Syu データベースの同期とシステム全体のアップグレードを同時に行います。
-Ss 検索キーワード リポジトリパッケージを検索します。
-Qi パッケージ インストールされているパッケージ情報を確認します。
-R パッケージ インストールされているパッケージを削除します。追加オプションの影響範囲を確認してください。

使用する際の注意点

Arch Linuxでは部分アップグレードをサポートしません。pacman -Syだけで情報を新しくした後に一部だけを入れると、残った古いライブラリなどと不整合になる可能性があります。-Rnsは指定パッケージと不要な依存パッケージを削除し、-nによって管理対象設定の.pacsaveへの保存も省きます。必要な設定を退避し、削除一覧を確認してください。

よくある質問

pacman -Syと-Syuはどう違いますか?

-Syはリポジトリデータベースのみを同期し、-Syuは同期後にインストール済みパッケージ全体のアップデートまで行います。一般的なアップデートには-Syuを使用してください。

公式ドキュメント

オプションの正確な動作や実装ごとの差異は、pacmanに関する公式文書で確認できます。