ArchLinuxパッケージ管理の使用方法

提供:Dev Guides
移動先:案内検索

入門


Arch Linuxは、他の最新のLinuxディストリビューションに見られるものと同様のパッケージ管理機能を提供します。 これは、一般的なパッケージ管理操作のガイドです。

先に進む前に、パッケージデータベースが最新のものであることを確認してください。

sudo pacman -Sy

検索


直感性よりも簡潔さを優先して、ArchLinuxのほとんどのパッケージ管理操作は次の形式で表示されます。

pacman -<a-z><a-z>.

たとえば、pacmanリポジトリを検索するための通常のコマンドは次のとおりです。

pacman -Ss <package> 

ほとんどのpacmanコマンドのように、それは特に明白ではありません。 pacmanには、pacsearchユーティリティも付属しています。 同様に機能しますが、pacman-Ssよりもいくつかの機能強化があります。

  • カラーハイライト
  • インストールされたパッケージカテゴリ(「ローカル」)

キーワード「linux」を使用してすべての標準パッケージを一覧表示する方法は次のとおりです。

pacsearch linux

検索条件に一致するパッケージがたくさんある場合があります。 これは、ヨーグルトのようなAURヘルパーを使用する場合に特に当てはまります。 正規表現は、リストを絞り込むのに役立ちます。 たとえば、「ack」ツールに関連するものを見つけようとしているとします。 ackを定期的に検索すると、「パッケージ」、「ハック」、「再生」などの単語が原因で、必然的に多くの結果が返され、ふるいにかけられます。

pacsearch ack

ただし、ackで開始する単語は多くありません。 検索語に^を追加すると、それらの文字で始まる結果のみが含まれます。 これは、少なくともpacsearch、pacman、およびyaourtで機能します。

pacsearch ^ack 

正規表現が意図したとおりに機能することを保証するには、正規表現を引用符で囲みます。

pacsearch 'c\+\+'

検索に一致するインストール済みパッケージのリストを取得する場合は、結果を「greplocal」にパイプします。 「-A1」オプションは、一致するたびに1行を含めるようにgrepに指示します(この場合はパッケージの説明)。

pacsearch linux | grep local -A 1

または、色の強調表示がないという欠点のあるpacman-Qを使用することもできます。

pacman -Qs linux

pacman -Ssを使用して色を強調表示する場合は、/ etc/pacman.confからColorのコメントを解除できます。 ただし、pacsearchとは異なる点が強調表示されるため、両方を試して、どちらが良いかを確認することをお勧めします。

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

情報を教えてもらう


pacman -Qi インストールされているパッケージに関する基本情報を表示します。

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <[email protected]>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

pacman -Qiに引数が渡されない場合、システム内のすべてのパッケージが返されます。 この出力を検索して、インストールされているパッケージに関する専門的な情報を取得できます。

たとえば、各パッケージとそのサイズを取得する場合は、次のようになります。

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB
...

pacman -Qiはインストールされたパッケージに関する情報を提供しますが、pacman -Siは、パッケージに関する最後に取得された情報をデータベースに照会します。

pacman -Si linux

Repository     : core
Name           : linux
Version        : 3.11.6-1
Description    : The Linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.11.6
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Conflicts With : kernel26
Replaces       : kernel26
Download Size  : 47855.98 KiB
Installed Size : 64493.00 KiB
Packager       : Thomas Bächler <[email protected]>
Build Date     : Fri 18 Oct 2013 05:25:12 PM EDT
Validated By   : MD5 Sum  SHA256 Sum  Signature

pacman -Ql パッケージに関連付けられているすべてのファイルを一覧表示します。

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi
...

各行のパッケージ名により、スクリプトでの出力の使用がより困難になる可能性があります。 pacman -Qlq(すなわち 「pacmanquerylist、quiet」)はパッケージ名を出力しません。

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi
...

pacman-Qlqを使用できます | grep binを使用して、binフォルダーにあるそのパッケージ内のすべてのファイル(したがって、実行可能ファイルである可能性が高い)を検索します。 これは、パッケージに関連付けられているコマンドがパッケージ名と異なる場合に便利です。

pacman -Qql pacman | grep bin

/usr/bin/
/usr/bin/bacman
/usr/bin/checkupdates
/usr/bin/cleanupdelta
/usr/bin/makepkg
/usr/bin/paccache
/usr/bin/pacdiff
/usr/bin/paclist
/usr/bin/paclog-pkglist
/usr/bin/pacman
/usr/bin/pacman-db-upgrade
/usr/bin/pacman-key
/usr/bin/pacman-optimize
/usr/bin/pacscripts
/usr/bin/pacsearch
/usr/bin/pacsort
/usr/bin/pacsysclean
/usr/bin/pactree
/usr/bin/pkgdelta
/usr/bin/rankmirrors
/usr/bin/repo-add
/usr/bin/repo-elephant
/usr/bin/repo-remove
/usr/bin/testdb
/usr/bin/testpkg
/usr/bin/updpkgsums
/usr/bin/vercmp

ストレージ消費


システム上で最も多くのスペースを使用しているパッケージを確認する最も簡単な方法は、pacmanに付属しているpacsyscleanです。

pacsysclean

もう少し複雑なものが必要な場合は、pacgraphユーティリティを使用して、SVGおよびPNG形式の最大のパッケージの依存ワードクラウドを作成できます。

pacgraphはコミュニティリポジトリにあります。

sudo pacman -S pacgraph

pacgraph -cは、pacsyscleanのようにコンソールに出力されます。 パッケージがたくさんある場合、pacsyscleanとは異なり、pacgraphの出力は最大から最小にソートされるため、扱いにくくなる可能性があります。 あなたはそれを頭にパイプして最大のパッケージを見ることができます。

pacgraph -c | head

Autodetected Arch.
Loading package info
Total size: 730MB
114MB linux
103MB libtool
84MB pacgraph
40MB imagemagick
25784kB ppl
22264kB nmap
17295kB pkgfile

私がテストしたArchLinuxドロップレットでは、この出力の前にいくつかのエラーが発生しました。 エラーを削除するには、デフォルトの「C」からロケール設定を修正する必要があります。

export LANG=en_US.UTF-8

引数なしで実行すると、pacgraphはSVGと、可能であればPNGファイルを生成します。 仮想サーバーでファイル共有システムを設定していない場合、pacgraphによって生成された画像にアクセスする最も簡単な方法は、セキュアコピーを使用することです。

scp <user>@<addr>:<remote_path> <local_path>

:pacgraphは、imagemagickとlibpngのインストール後にPNGファイルをレンダリングすると主張しますが、この記事の執筆時点では、実際には、かなりの数の依存関係があるinkscapeなしでPNGを生成しません。

ダウンロード/インストール


標準パッケージをインストールまたはアップグレードする一般的な方法は、pacman-Sです。

sudo pacman -S <package>

多くの場合、パッケージの名前には同様のパターンがあります。 ブラケットはショートカットとして使用できます。

sudo pacman -S lua-{sec,socket,zlib}

インストールせずに、アーカイブ目的でパッケージをダウンロードしたい場合があります。 pacman -Swは、パッケージをキャッシュフォルダーにダウンロードします。

sudo pacman -Sw <package>

パッケージがダウンロードされている場合、またはURLがわかっている場合は、直接インストールできます。

sudo pacman -U <package_path>

アップグレード


pacmanは、パッケージをリモートリポジトリと「同期」するという考え方を中心に展開しているため、pacman -Sは、パッケージがすでにインストールされている場合はアップグレードします。

Pacmanは、古くなったパッケージを一覧表示できます。

pacman -Qu

残念ながら、リポジトリ内のパッケージのバージョンは表示されないため、各パッケージがどれだけ古くなっているかを知ることはできません。 これが重要な場合は、サードパーティのパッケージマネージャーを調べるか、pacman-Qiとpacman-Siから取得したパッケージバージョンを結び付けるスクリプトを作成することをお勧めします。

正規表現を使用して、pacman-Qiまたはpacman-Siからバージョンを取得できます。

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

次に、バージョンを並べて表示するスクリプトを作成します。

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Pacmanは、すべてのパッケージを一度にアップグレードする方法を提供しますが、Archはローリングリリースディストリビューションであるため、お勧めしません。 問題が発生した場合、原因を特定するのに時間がかかる場合があります。

sudo pacman -Syu

ダウングレード


ArchLinuxは非推奨のパッケージを公式に維持していません。 代わりに、パッケージキャッシュやArchRollbackMachineなどの場所に依存する必要があります。

キャッシュ


pacmanでダウンロードされたすべてのパッケージは、/ var / cache / pacman/pkgに保存されます。

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz
...

キャッシュ内のパッケージに戻したい場合は、直接インストールしてください。

pacman -U <path_to_cached_file>

アーチロールバックマシン


Arch Rollback Machine は、公式のArchLinuxミラーのスナップショットのコレクションです。 この記事を書いている時点で、4か月前にさかのぼります。 ARMは現在http://seblu.net/a/armでホストされていますが、将来変更される可能性があります。

ARMパッケージは、pacman-Uを使用してリモートでインストールできます 。

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

ARMを参照して古いパッケージを探すのは必ずしも便利ではありません。 幸い、これを簡単にするツールがあります。

キャッシュとARMで古いバージョンを検索します。 それらの使用法はあなたが期待するものです。

downgrade <package>
downgrader <package>

どちらのツールもAURに含まれているため、ツールをインストールする最も簡単な方法は、yaourtなどのヘルパーを使用することです。

:ARMは非公式のプロジェクトであり、過去に閉鎖されたため、ARMがダウンしたり、場所が再び変更されたりした場合に備えて、キャッシュをクリアしないことをお勧めします。 独自のARMをロールしたい場合は、githubにNodeJSプロジェクトがあるようです。

除去


パッケージに依存するものがない場合は、パッケージを削除します。 依存関係をインストールしたままにします。

sudo pacman -R <package>

パッケージに依存するものがない場合は、パッケージを削除します。 他に必要のない依存関係を削除します。

sudo pacman -Rs <package>

パッケージを強制的に削除します。 これは、システムからパッケージをワイプし、再インストールだけでは不十分な場合に再インストールするために使用するコマンドです。

sudo pacman -Rdd <package>

非公式パッケージ


Arch Linuxパッケージの大部分は、Archユーザーリポジトリにあります。 AURからパッケージを検索してダウンロードする最良の方法は、ヘルパーツールを使用することです。

AURとヨーグルトツールに関するデジタルオーシャンの記事はすでにあります。

提出者:http: [[“%3Ca|//robertqualls.com]] [[“%3C/a|”>ロバートクオールズ]]