Pacman (日本語)
From ArchWiki
i18n |
---|
Česky |
Dansk |
Deutsch |
English |
Español |
Français |
Italiano |
Nederlands |
Polski |
Português de Portugal |
Romanian |
Русский |
简体中文 |
한국어 |
Türkçe |
Ελληνικά |
日本語 |
Contents |
概要
'PacmanパッケージマネージャはArch Linuxの大きな特徴のひとつです。Pacmanはシンプルなバイナリのパッケージ形式と簡単に利用できるビルドシステムから成っています(makepkgとABSを参照)。PacmanでArchの公式リポジトリにあるパッケージや、ユーザー自身が作成したパッケージを容易に管理することができます。
Pacmanはマスターサーバーと同期してシステムを最新に保ちます。また、単純なコマンドで自分の欲しいパッケージとそれに必要な別のパッケージをダウンロード、インストールすることができます。
PacmanはCで書かれているため、軽快で軽量、そして可搬性に優れています。パッケージ形式には.tar.gz形式を採用しており、そのため更に軽快に動作します。似たようなフォーマットにbzipがありますが、gzip形式はbzip形式と比べファイルサイズこそ幾分大きめになりますが、素早く解凍することができるので、インストールにかかる時間は短くなります。
使い方
パッケージのインストール
パッケージをインストール/アップグレードする前に、ローカルにあるデータベースをリモートのリポジトリに同期させた方が良いでしょう。
pacman -Sy
これは、次のコマンドと同じ意味です。
pacman --sync --refresh
ひとつ、あるいは複数のパッケージをインストール/アップグレードするには、以下のコマンドを入力します。
pacman -S パッケージ名1 パッケージ名2
異なるリポジトリにそれぞれバージョンの異なるパッケージが存在することがあります(例:extraリポジトリとtestingリポジトリ)。このような場合、どちらをインストールするかを明示してやることができます。
pacman -S extra/パッケージ名 pacman -S testing/パッケージ名
また、データベースを更新した後にパッケージをインストールする、という作業が1つのコマンドでできます。
pacman -Sy package_name
パッケージの削除
あるパッケージを、そのパッケージが必要としていたものを残したまま削除するには以下のようにコマンドを入力します。
pacman -R パッケージ名
削除したいパッケージと、そのパッケージだけが必要としている他のパッケージを一緒に削除するには、以下のようにコマンドを入力します。
pacman -Rs パッケージ名
デフォルトでは、pacmanは削除されたパッケージの設定ファイルを*.pacsaveという拡張子をつけてバックアップします。もしこれらのファイルも一緒に削除したい場合、以下のようにコマンドを入力します。
pacman -Rn パッケージ名
上記2つのコマンドはもちろん組み合わせることができます。ですので、あるパッケージを、設定ファイル、依存しているパッケージ全てを本当に削除したい場合、以下のようにコマンドを入力します。
pacman -Rsn パッケージ名
Note! Pacmanはパッケージがインストールされた後に作成された設定ファイルを削除しません。$HOMEディレクトリ下の設定ファイルなどは手動で削除してください。
システムのアップグレード
Pacmanは以下のコマンドひとつで全てのパッケージをアップデートさせることができます。ユーザーのシステムに必要なアップデートの量によっては少し時間がかかります。
pacman -Su
しかしながら、上のコマンドよりも-yオプションを付けてリポジトリと同期させた後にアップデートする方が良いです。
pacman -Syu
pacmanによってシステムをアップデート、管理をするための情報はPackage Management FAQsにより詳しくあります。
パッケージ・データベースに問い合わせる
Pacmanを使ってパッケージ名と説明の両方を検索にかけることができます。
pacman -Ss 検索ワード
既にインストールしたパッケージ内を検索するには、
pacman -Qs 検索ワード
パッケージ名が分かっていれば、より詳しい情報を得ることができます。
pacman -Si パッケージ名 pacman -Qi パッケージ名
あるパッケージによってインストールされたファイルの一覧を得るには以下のコマンドを入力します。
pacman -Ql パッケージ名
また、あるファイルがどのパッケージによってインストールされたかを調べることができます。
pacman -Qo ファイルのパス
孤立した、他のパッケージに必要とされていないパッケージの一覧を得るには次のように入力します。
pacman -Qdt
Pacmanでローカルのデータベースに問い合わせるには-Qフラグを付けます。
pacman -Q --help
を参照してください。 また、同期しているデータベースに問い合わせるには-Sフラグを付けます。
pacman -S --help
を参照してください。 より詳しい情報はpacman(8) を参照してください。
インストール済みパッケージの一覧の取得とバックアップ
定期的にインストール済みのパッケージリストをバックアップした方が良いです。復旧できないようなシステムのクラッシュが起きたときでも、pacmanは再インストール後に同じパッケージの全てを簡単に入れ直すことができます。
まず、現在のパッケージのうち、リポジトリにあるもの全てをリストアップします。
pacman -Qqe | grep -v "$(pacman -Qmq)" > pkglist
出力されたpkglistはUSBスティックなどの他のメディアに保管しておきます。
新規インストールしたPCにpkglistをコピーし、コピー先のディレクトリに移動します。 以下のコマンドを入力すると、pkglistにあるパッケージ全てがインストールされます。
pacman -S $(cat pkglist)
より詳しい情報
Pacmanは非常に拡張性の高いツールです。他の特徴を以下に示します。
- インストールをしないで、パッケージをダウンロードするにとどめます。
pacman -Sw パッケージ名
- ローカルにあるパッケージ(リポジトリに存在しないもの)をインストールします。
pacman -U パッケージのあるディレクトリ/パッケージ名-バージョン.pkg.tar.gz
- リポジトリにない、リモートのパッケージをURIを入力してインストールします。
pacman -U http://www.examplepackage/repo/examplepkg.tar.gz
- 現在インストールされていない、パッケージのキャッシュ(/var/cache/pacman/pkg)を削除します。
pacman -Sc
- パッケージのキャッシュを全て削除します。
pacman -Scc
- 孤立したパッケージを削除します(繰り返しますが、実行するときは注意してください!)
pacman -Rs $(pacman -Qtdq)
- 全てのパッケージを再インストールするには以下のように入力します(リポジトリにあるものだけですが)。
pacman -S $(pacman -Qq | grep -v "$(pacman -Qmq)")
- ローカルのパッケージの名前とサイズを整列させて出力します。
LANG=C pacman -Qi | sed -n '/^Name[^:]*: \(.*\)/{s//\1 /;x};/^Installed[^:]*: \(.*\)/{s//\1/;H;x;s/\n//;p}' | sort -nk2
より詳しい使い方一覧はpacman --help
かman pacman
を参照してください。
設定
Pacmanの設定は/etc/pacman.conf
で行います。設定ファイルの詳しい情報はman pacman.conf
にあります。
全般の設定
全般の設定は[options]セクションに記述します。何ができるかはmanやデフォルトのpacman.confを参照してください。
リポジトリ
このセクションでは/etc/pacman.conf
に書いてあるように、どのリポジトリを利用するかを設定します。設定を直接記述する以外に、別のファイルをインクルードすることもできます。
公式リポジトリは全て同じファイル(/etc/pacman.d/mirrorlist)を利用しています。このファイルには変数'$repo'が含まれているため、利用者は1つのリストを管理するだけで済みます。
多くのmirrorsを含んだ公式リポジトリの例を以下に示します。ftp.archlinux.orgを使うのは[速度制限があるため]避けた方が良いです。
[core] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/mirrorlist [extra] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/mirrorlist [community] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/mirrorlist
エラー
not found in sync db
というエラーが発生した場合、大抵の場合はリポジトリが正しく設定されていないことが原因になっています。
より詳しい記事
Man Pages
関連記事
- Improve Pacman Performance
- Colored Pacman output
- Downgrade packages
- Redownloading all installed packages
- ArchLinux User-community Repository (AUR)
- Local repository HOW-TO
- Custom local repository with ABS and gensync
- Howto Upgrade via Home Network (Network Shared Pacman Cache)
- Rucksack
- Pacman GUI Frontends
- Pacman Aliases (for Bash and Zsh)
- Mirrors
- Pacman rosetta (Pacman for yum/apt-get/rug/zypper converts)
外部リンク
- Using Pacman
- GUI Frontends
- Powerpill A wrapper and download accelerator for Pacman