pacmanコマンドの使い方|よく使うオプション一覧と設定(pacman.conf)・ミラーの変え方

pacmanコマンドの使い方のアイキャッチ。よく使う操作と設定、ミラーの変え方を案内する図

Arch Linuxを使い始めたばかりだと、ソフトを入れる・更新する・消すときに、どのコマンドを使えばよいか迷いがちです。この記事では、Arch Linuxのパッケージ管理ツールであるpacmanの基本操作を、インストール・更新・検索・削除の順にまとめます。あわせて、設定ファイルとミラーの変え方も解説します。

結論を先に言うと、日常的によく使うのは「入れる」「全体を更新する」「探す」「消す」の4つです。まずはこの4つを覚え、必要になったらキャッシュの掃除や設定の変更に進むのがおすすめです。

pacmanの基本操作、入れる・全体を更新する・探す・消すの全体図
目次

pacmanとは

pacmanは、Arch Linuxの代表的な特徴の1つとされるパッケージ管理ツールです(Arch Wiki)。公式リポジトリにあるパッケージや、自分でビルドしたパッケージを管理できます。サーバー側のパッケージ一覧と手元の情報を同期しながら、インストール・更新・削除を行います。

パッケージを使って入れる利点として、Arch Wikiでは、更新が来たらまとめて上げられること、依存関係(そのソフトに必要なほかのソフト)をpacmanが処理してくれること、消すときにファイルが残りにくいことが挙げられています。

Arch Linuxそのものの概要は、次の記事もあわせてどうぞ。

関連:ArchLinuxの概要

関連:ArchLinuxインストール手順

最初に知っておきたい注意点

  • 部分的な更新はしない:Archでは全体の更新が前提です。パッケージ一覧だけを新しくして、特定のソフトだけを入れると、依存関係の不整合につながることがあります。Arch Wikiでも、一覧の更新だけを行って個別に入れる使い方は避けるよう注意されています。
  • 管理者権限が必要な操作がある:入れる・更新する・消すといった、システムを変える操作では管理者権限が必要です。表示される対象の一覧を確認してから進めてください。
  • 迷ったら確認画面で止める:pacmanは実行前に、対象のパッケージを示して進めてよいか確認します。意図と違うものが含まれていたら、その時点でやめられます。

よく使うコマンド一覧

やりたいこと操作の考え方
ソフトを入れる同期の操作で、名前を指定して入れる
全体を更新する一覧の更新と全体の更新をまとめて行う
ソフトを探すリポジトリ側を検索する/入っているものから探す
ソフトの情報を見るリポジトリ側の情報/手元の情報を表示する
ソフトを消す本体だけ消す/不要になった依存関係も一緒に消す
入っているものを一覧する手元のデータベースを照会する
たまったキャッシュを掃除する古いパッケージファイルを整理する

1. インストールする

公式リポジトリからソフトを入れるときの基本形です。依存関係に必要なものも一緒に表示されます。

sudo pacman -S <パッケージ名>

パッケージ名は入れたいものに変えてください。

複数のソフトをまとめて入れることもできます。

sudo pacman -S <パッケージ名1> <パッケージ名2>

同じ書き方で、すでに入っているソフトを入れ直すこともできます。なお、すでに入っていて最新の場合に再インストールを避けたいときは、必要なときだけ入れる指定も用意されています。詳しくはArch Wikiのpacmanのページで確認できます。

リポジトリ名を指定して入れる書き方もあります。複数のリポジトリに同名のものがある場合に使います。

sudo pacman -S extra/<パッケージ名>

2. システム全体を更新する

Archで更新するときの基本形です。パッケージ一覧の同期と、全体の更新をまとめて行います。

sudo pacman -Syu

更新は定期的に行うのが前提です。長く間隔を空けるほど、変更量が大きくなり、問題が起きたときの切り分けも難しくなります。更新前には、Arch公式のお知らせで手作業が必要な変更が出ていないかを確認する習慣も大切です。

pacmanの更新の流れ。一覧を同期して全体を更新する図

3. 検索する・情報を見る

リポジトリから探す

まだ入れていないソフトを、名前と説明文から探します。

pacman -Ss <検索語>

入っているものから探す

手元に入っているソフトの中から探します。

pacman -Qs <検索語>

詳しい情報を見る

リポジトリ側にあるソフトの依存関係などの詳しい情報を表示します。

pacman -Si <パッケージ名>

手元に入っているソフトの情報を見たいときはこちらです。

pacman -Qi <パッケージ名>

入っているファイルの一覧を見る

そのソフトがどのファイルを置いたかを確認できます。設定ファイルの場所を探すときにも役立ちます。

pacman -Ql <パッケージ名>

ファイルがどのソフトのものか調べる

パスを指定すると、そのファイルを入れたソフトを調べられます。

pacman -Qo <ファイルのパス>

4. 削除する

本体だけを消す

指定したソフトだけを消し、依存関係で入ったものは残します。

sudo pacman -R <パッケージ名>

不要になった依存関係も一緒に消す

そのソフトと一緒に消しても、ほかのソフトが必要としていない依存関係までまとめて消します。通常はこちらが分かりやすい場合が多いです。

sudo pacman -Rs <パッケージ名>

注意したいのは、本体に依存しているほかのソフトまで巻き込んで消す書き方です。影響範囲が広くなるため、この記事では基本操作として扱いません。削除の確認画面で、消える対象の一覧を必ず見てから進めてください。

なお、アプリケーション自身がホームディレクトリなどに作る設定は、pacmanの削除では消えない場合があります(Arch Wiki)。

5. 入っているパッケージを確認する

自分で明示的に入れたものの一覧や、依存関係として入ったものを確認できます。不要なものがないか見直す入口になります。

pacman -Qe
pacman -Qd

ほかのソフトから必要とされなくなった、いわゆる孤立したパッケージを探す書き方もあります。

pacman -Qdt

表示されたものを消すかどうかは、用途を確認してから判断してください。名前だけでは役割が分からないものも多いため、一覧はまず「確認用」と考えると安全です。

6. キャッシュを掃除する

ダウンロードしたパッケージファイルはキャッシュに残ります。古い版に戻したいときや、消したソフトを入れ直すときに役立つ一方、放っておくと容量を圧迫します(Arch Wiki)。

専用ツールを使うと、最近の版を残しながら古いものを消せます。入っているもの・消したものについて、最近の3版を残します。

sudo paccache -r

このツールは、pacman関連の追加ツールをまとめたパッケージに含まれます。入っていない場合は、先にそのパッケージを入れてください。

sudo pacman -S pacman-contrib

キャッシュをすべて消すような強い掃除は、古い版に戻す手段も失います。容量に困ったときの最終手段と考え、通常は最近の版を残す方法を選んでください。

7. 設定ファイル(pacman.conf)でできること

pacmanの設定は、設定ファイルに書かれています。場所は /etc/pacman.conf です(pacman.conf のマニュアル)。このファイルは、全体の設定を書く部分と、リポジトリごとの部分で構成されます。編集するときは、元のファイルを控えてから、少しずつ変えるのが安全です。

pacman.confの場所と主な設定項目を示した図

表示を見やすく・分かりやすくする

色付けや、更新前後のバージョンを表で出す設定が用意されています。もともとのファイルでは、行頭の記号で無効になっている項目を有効化する形で使います。

Color
VerbosePkgLists

並列ダウンロード

複数のパッケージを並行してダウンロードする数を指定できます。マニュアルでは、正の整数で指定し、設定しない場合は1つずつ順にダウンロードすると説明されています。回線や環境に合わせて、無理のない数にしてください。

ParallelDownloads = 5

更新から外す指定は慎重に

特定のパッケージを更新対象から外す指定もあります。ただし、部分的な更新はArchでは前提とされていないため、安易に使うと不整合の原因になります。使う場合は理由をメモし、長期間そのままにしないでください。

IgnorePkg = <パッケージ名>

このほか、キャッシュの場所やログの場所なども設定できますが、初心者のうちは触る必要はほとんどありません。まずは色付けと並列数くらいに留めると、トラブルが起きたときに原因を追いやすくなります。

8. ミラーの変え方

ミラーとは、リポジトリのパッケージを置いているサーバーのことです。使うミラーは、ミラーリストのファイルで管理されます。場所は /etc/pacman.d/mirrorlist です。上にあるものから優先して使われ、失敗したら次のものが使われます(Arch Wiki「Mirrors」)。

手で選ぶ場合

ミラーリストを開き、使いたいミラーの行を有効にし、優先したいものを上の方へ置きます。公式のミラー一覧と状態のページで、同期が取れているミラーかどうかを確認してから選んでください。

Reflectorで並べ替える場合

Reflectorは、最新のミラー一覧を取得し、絞り込みや速度順の並べ替えをして、ミラーリストへ書き込むためのツールです(Arch Wiki「Reflector」)。書き込む前に、必ず現在のミラーリストを控えてください。

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

Reflectorが入っていない場合は、先に入れます。

sudo pacman -S reflector

最近更新されたミラーから10件を選び、速度順に並べて書き込みます。

sudo reflector --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Arch Wikiでは、国だけで絞るのは必ずしもよい考えではないとされています。ミラーの数は限られ、地理的な近さだけで速さが決まるわけではないためです。書き込んだあとは、中身を見て、意図したミラーが並んでいるかを確認してください。

ミラーを切り替えたあとは、全体の更新で一覧を取り直します。切り替え直後に取得できないなどの症状がある場合は、Arch Wikiのトラブル対処も参照してください。

sudo pacman -Syu

よくある質問

ソフトを1つ入れたいだけなのに、全体の更新も必要ですか?

はい、Archでは全体の更新が前提です。一覧だけを新しくして特定のソフトだけを入れると、部分的な更新になって不整合の原因になります。入れる操作の前に、全体の更新を済ませておく考え方が安全です。

検索で候補がたくさん出てきて、どれか分かりません

まずは名前が目的に一番近いものを選び、詳しい情報で説明と依存関係を確認してください。この記事の「検索する・情報を見る」の手順で、入れる前に中身を確かめられます。

消したはずの設定が残っています

pacmanが管理するファイルと、アプリケーション自身が作る設定は別です。後者は削除で消えない場合があります。残ったファイルを消すかどうかは、そのソフトを今後使うかで判断してください。

更新でエラーが出て進めません

ファイルの競合や、取得できないといった症状ごとに、Arch Wikiのpacmanのページに対処がまとまっています。エラーの文面を控え、該当する項目から確認してください。データベースのロックに関するエラーは、ほかのpacmanが動いていないかを先に確認することが大切です。

まとめ

  • pacmanの基本は、入れる・全体を更新する・探す・消すの4つです
  • Archでは部分的な更新を避け、全体の更新を前提にします
  • 情報を見る操作で、入れる前に説明や依存関係を確認できます
  • 削除では確認画面の一覧を見て、巻き込む範囲に注意します
  • 設定は /etc/pacman.conf、ミラーは /etc/pacman.d/mirrorlist で管理します。変えるときは控えを取って少しずつ

まずは検索と情報の確認から触ってみて、入れる・更新する・消すに慣れていくのがおすすめです。設定やミラーは、必要になったときに、この記事の該当箇所とArch公式の資料を見ながら進めてください。

参考資料

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

社内エンジニアとして、SREとセキュリティの仕事をしています。サーバーの構築や運用、クラウド環境の設計にも関わってきました。趣味はゲームと漫画・アニメ。

コメント

コメントする

目次