Pacman/比較表

提供: ArchWiki
2015年1月12日 (月) 22:19時点におけるKusakata (トーク | 投稿記録)による版 (1版 をインポートしました)
ナビゲーションに移動 検索に移動

このページは openSUSE のソフトウエア管理のコマンドライン比較 を基にして作っています。Arch を比較にいれて単純化し、Arch ユーザーにとって使いやすいようにディストリビューションの順番を並び替えました。

他の Linux ディストリビューションのユーザーが pacman の恩恵を受けることができるようにするシンプルなラッパーがあります: pacapt。このスクリプトは一時的に他のディストリビューションを使っている Arch ユーザーの使用も考えられています。

ノート:
  • ここで記述されているツールのいくつかは特定のバージョンの pacman にしか対応していません。-Qk オプションは pacman 4.1 で新しく作成されました。
  • pkgfile コマンドは pkgfile パッケージにあります。
操作 Arch Red Hat/Fedora Debian/Ubuntu (旧) SUSE openSUSE Gentoo
名前でパッケージをインストール pacman -S yum install apt-get install rug install zypper install zypper in emerge [-a]
名前でパッケージを削除 pacman -Rc yum remove/erase apt-get remove rug remove/erase zypper remove zypper rm emerge -C
名前や説明の文章でパッケージを検索。デフォルトで名前と説明どちらが検索されるかはツールによって異なります。オプションが使うツールはほとんど同じです。 pacman -Ss yum search apt-cache search rug search zypper search zypper se [-s] emerge -S
パッケージを更新する - 新しいバージョンのパッケージをインストール pacman -Syu yum update apt-get upgrade rug update zypper update zypper up emerge -u world
パッケージを更新する - アップデートコマンドの別方式で、より複雑なアップデートが行えます -- 例えばディストリビューションのアップグレードなどです。通常のアップグレードコマンドで省略されるようなアップグレードは、このコマンドで行うことができます。 pacman -Syu yum distro-sync apt-get dist-upgrade zypper dup emerge -uDN world
パッケージを再インストール - 依存関係を考えずに指定されたパッケージを再インストールする。 pacman -S yum reinstall apt-get install --reinstall zypper install --force emerge [-a]
ローカルのパッケージファイル (例: app.rpm) をインストールしインストールソースを使って依存関係を解決する pacman -U yum localinstall dpkg -i && apt-get install -f zypper in /path/to/local.rpm emerge
ローカルパッケージでパッケージを更新してインストールソースを使って依存関係を解決する pacman -U yum localupdate n/a emerge
システムの破損した依存関係を修正する pacman dep level - testdb, shared lib level - findbrokenpkgs or lddd package-cleanup --problems apt-get --fix-broken / aptitude install rug* solvedeps zypper verify revdep-rebuild
指定されたパッケージのダウンロードだけ行う、パッケージの解凍やインストールはしない pacman -Sw yumdownloader (found in yum-utils package) apt-get --download-only zypper --download-only / aptitude download emerge --fetchonly
そのパッケージを必要としていたパッケージが削除されたなどして、必要なくなった依存パッケージを削除する。 pacman -Qdtq | pacman -Rs - package-cleanup --leaves apt-get autoremove n/a emerge --depclean
指定されたパッケージ名に対応するソースパッケージをダウンロード ABS を使う && makepkg -o yumdownloader --source apt-get source / debcheckout zypper source-install emerge --fetchonly
リポジトリから既に外されたパッケージを削除。 package-cleanup --orphans
ビルドに必要なパッケージをインストール・削除する。ソースパッケージの情報を使います。 automatic yum-builddep apt-get build-dep zypper si -d emerge -o
アップデートされないようにパッケージをロックルールに追加する ${EDITOR} /etc/pacman.conf
IgnorePkg を修正する
yum.conf <--”exclude” option (add/amend) echo "$PKGNAME hold" | dpkg --set-selections rug* lock-add /etc/zypp/locks にパッケージ名を記述する /etc/portage/package.mask
パッケージのロックルールを削除 /etc/pacman.conf の IgnorePkg からパッケージを削除 yum.conf <--”exclude” option (remove/amend) echo "$PKGNAME install" | dpkg --set-selections rug* lock-delete /etc/zypp/locks からパッケージ名を削除する /etc/portage/package.mask (or package.unmask)
全てのロックルールの一覧を表示 cat /etc/pacman.conf yum.conf (research needed) /etc/apt/preferences rug* lock-list View /etc/zypp/locks cat /etc/portage/package.mask
ロールバックのためにパッケージシステムにチェックポイントを追加する (不必要、自動で行われます) rug* checkpoint-add n/a
システムからチェックポイントを削除する N/A N/A rug* checkpoint-remove n/a
全てのシステムチェックポイントを一覧する N/A yum history list rug* checkpoints n/a
特定の月日やチェックポイントまで全てのパッケージをロールバックする。 N/A yum history rollback rug* rollback n/a
指定した操作をひとつ元に戻す。 N/A yum history undo n/a
明示的に必要な依存パッケージとして以前インストールされたとしてパッケージに印を付ける。 pacman -D --asexplicit aptitude unmarkauto emerge --select
依存パッケージとしてパッケージをインストール / 明示的に必要だと印を付けない。 pacman -S --asdeps emerge -1
パッケージ情報の管理
システム全体の情報のダンプを取得 - パッケージ管理システムの現在の状態を表示し、保存などする。テキストや XML 形式で出力される。rug は sqlite データベースとして情報を保存します。 (Note: Why either-or here? No tool offers the option to choose the output format.) (see /var/lib/pacman/local) (see /var/lib/rpm/Packages) apt-cache stats rug dump n/a emerge --info
パッケージについての全ての情報を表示。デフォルトコマンドで表示されるツールの詳細度は異なります。オプションを付けた時は、どのツールも同じです。 pacman -[S|Q]i yum list or info apt-cache show / apt-cache policy rug info zypper info zypper if emerge -S; emerge -pv; eix
名前や説明の文章でパッケージを検索。デフォルトで名前と説明どちらが検索されるかはツールによって異なります。オプションが使うツールはほとんど同じです。 pacman -Ss yum search apt-cache search rug search zypper search zypper se [-s] emerge -S
更新があるパッケージを一覧する。 Note: Some provide special commands to limit the output to certain installation sources, others use options. pacman -Qu yum list updates yum check-update apt-get upgrade -> n rug list-updates rug summary zypper list-updates zypper patch-check (just for patches) emerge -uDNp world
パッケージマネージャによって管理されている全てのインストールソースの全てのパッケージを一覧する。ツールによっては出力するインストールソースを制限できるオプションやコマンドがあります。 pacman -Sl yum list available apt-cache dumpavail apt-cache dump (Cache only) apt-cache pkgnames rug packages zypper packages emerge -ep world
Displays packages which provide the given exp. aka reverse provides. Mainly a shortcut to search a specific field. Other tools might offer this functionality through the search command. pkgfile <filename> yum whatprovides yum provides apt-file search <filename> rug what-provides zypper what-provides    zypper wp equery belongs (only installed packages); pfl
X がインストールされるのに必要なパッケージを表示する (逆の依存パッケージを表示する)。rug の what-requires はパッケージ名以外も使えます。 pacman -Sii yum resolvedep apt-cache rdepends / aptitude search ~Dpattern rug what-requires IN PROGRESS equery depends
指定された表現(パッケージ)と衝突するパッケージを表示する。検索を使ってこの機能と同じこともできます。rug の what-requires はパッケージ名以外も使えます (none) repoquery --whatconflicts aptitude search '~Cpattern' rug info-conflicts rug what-conflicts IN PROGRESS
指定されたパッケージに必要とされているパッケージを全て一覧する (依存パッケージを表示する)。 pacman -[S|Q]i yum deplist apt-cache depends / apt-cache show rug info-requirements IN PROGRESS emerge -ep
現在のパッケージが提供するファイルを一覧する yum provides rug info-provides IN PROGRESS equery files
パッケージが保持しているファイルを一覧する、この機能はほかのコマンドを組み合わせることでも同じことができます。 pacman -Ql $pkgname
pkgfile -l
repoquery -l $pkgname dpkg -L / apt-file list rug* file-list IN PROGRESS equery files
特定のパッケージを必要としている全てのパッケージを一覧する repoquery --whatrequires [--recursive] equery depends -a
全てのパッケージから特定のファイルを保持しているパッケージを検索する。auto-apt はこの機能を使っています。 pkgfile -s yum provides yum whatprovides apt-file search rug* package-file rug what-provides IN PROGRESS equery belongs
指定したパッケージが廃止した全てのパッケージを表示する。 yum list obsoletes apt-cache show rug info-obsoletes IN PROGRESS
完全なシステムの依存関係の検証をする。インストール中に強制終了してしまった時に使用します。 testdb yum deplist apt-get check ? apt-cache unmet rug verify rug* dangling-requires n/a emerge -uDN world
インストールされたパッケージのリストを生成する pacman -Q yum list installed dpkg --get-selections zypper emerge -ep world
インストールされているがどのインストールソースからも利用できなくなっているパッケージを一覧する。 pacman -Qm yum list extras deborphan zypper se -si | grep 'System Packages' eix-test-obsolete
List packages that were recently added to one of the installation sources, i.e. which are new to it. (none) yum list recent aptitude search '~N' / aptitude forget-new n/a eix-diff
パッケージマネージャの操作ログを表示。 cat /var/log/pacman.log yum history cat /var/log/yum.log cat /var/log/dpkg.log rug history cat /var/log/zypp/history located in /var/log/portage
全てのローカルキャッシュを削除する。オプションを使って削除するものを制限できます。Autoclean は必要のない、古い情報を削除します。 pacman -Sc
pacman -Scc
yum clean apt-get clean / apt-get autoclean / aptitude clean zypper clean eclean distfiles
デバッグなどのためにローカルパッケージをローカルパッケージキャッシュに追加する。 cp $pkgname /var/cache/pacman/pkg/ apt-cache add n/a cp $srcfile /usr/portage/distfiles
指定されたパッケージ名のソースパッケージを表示する repoquery -s apt-cache showsrc n/a
Generates an output suitable for processing with dotty for the given package(s). apt-cache dotty n/a
アップグレードを避けたり、ダウングレードを強制したりデフォルトの挙動を上書きするために、指定したパッケージの優先権を設定する。特定のインストールソースのパッケージバージョンを優先するためにも使うことができます。 ${EDITOR} /etc/pacman.conf
Modify HoldPkg and/or IgnorePkg arrays
yum-plugin-priorities and yum-plugin-protect-packages /etc/apt/preferences, apt-cache policy zypper mr -p ${EDITOR} /etc/portage/package.keywords
Add a line with =category/package-version
先に設定した優先権を削除する /etc/apt/preferences zypper mr -p ${EDITOR} /etc/portage/package.keywords
remove offending line
設定した優先権のリストを表示する。 apt-cache policy /etc/apt/preferences n/a cat /etc/portage/package.keywords
優先権が引き起こす可能性がある問題を無視する。 n/a
インストールソースの管理 ${EDITOR} /etc/pacman.conf ${EDITOR} /etc/yum.repos.d/${REPO}.repo ${EDITOR} /etc/apt/sources.list layman
インストールソースをシステムに追加する。 Some tools provide additional commands for certain sources, others allow all types of source URI for the add command. Again others, like apt and yum force editing a sources list. apt-cdrom is a special command, which offers special options design for CDs/DVDs as source. ${EDITOR} /etc/pacman.conf ${EDITOR} /etc/yum.repos.d/${REPO}.repo apt-cdrom add rug service-add rug mount /local/dir zypper service-add layman, overlays
指定したインストールソース、もしくは全てのインストールソースの情報を更新する。 pacman -Sy yum clean expire-cache && yum check-update apt-get update rug refresh zypper refresh zypper ref layman -f
URI, エイリアスなどの情報を含む全てのインストールソースの一覧を表示する。 cat /etc/pacman.d/mirrorlist cat /etc/yum.repos.d/* rug service-list zypper service-list layman -l
インストールソースを無効化する yum --disablerepo=${REPO} emerge package::repo-to-use
インストールしているのとは別のバージョンのディストリビューションからパッケージをダウンロード。 yum --releasever=${VERSION} apt-get install -t release package/ apt-get install package/release (deps not covered) echo "category/package ~amd64" >> /etc/portage/package.keywords && emerge package
その他のコマンド
シェルを起動し複数のコマンドを一度に入力する yum shell apt-config shell zypper shell
パッケージの検証
ひとつのパッケージ pacman -Qk[k] <package> rpm -V <package> debsums rpm -V <package> rpm -V <package> equery check
全てのパッケージ pacman -Qk[k] rpm -Va debsums rpm -Va rpm -Va equery check
パッケージの問い合わせ
インストールされたパッケージとそのバージョンを一覧する pacman -Q rpm -qa dpkg -l emerge -e world
ローカルのパッケージの情報を表示: 名前、バージョン、説明など。 pacman -Qi rpm -qi dpkg -s emerge -pv and emerge -S
リモートのパッケージの情報を表示: 名前、バージョン、説明など。 pacman -Si yum info apt-cache show / aptitude show emerge -pv and emerge -S
ローカルのパッケージによって提供されたファイルを表示 pacman -Ql rpm -ql dpkg -L equery files
リモートのパッケージによって提供されるファイルを表示 pkgfile -l repoquery -l pfl
特定のファイルを提供するパッケージを問い合わせる pacman -Qo rpm -qf (installed only) or yum whatprovides (everything) dpkg -S/dlocate equery belongs
パッケージ管理データベースのエントリではなくコマンドラインのパッケージを問い合わせる pacman -Qp rpm -qp dpkg -I
パッケージの変更履歴を表示 pacman -Qc rpm -q --changelog apt-get changelog equery changes -f
ローカルにインストールされたパッケージを名前や説明で検索 pacman -Qs aptitude search '~i(~nexpr|~dexpr)' eix -S -I
パッケージのビルド
パッケージをビルドする makepkg -s rpmbuild -ba (normal) mock (in chroot) debuild rpmbuild -ba rpmbuild -ba ebuild; quickpkg
パッケージの問題をチェック rpmlint lintian repoman
パッケージファイルの中身を一覧する pacman -Qpl <file> rpmls rpm -qpl dpkg -L rpm -qpl rpm -qpl
パッケージを展開 tar -Jxvf rpm2cpio | cpio -vid ar vx | tar -zxvf data.tar.gz rpm2cpio | cpio -vid rpm2cpio | cpio -vid tar -jxvf
パッケージ管理データベースのエントリではなくコマンドラインのパッケージを問い合わせる pacman -Qp rpm -qp dpkg -I
操作 Arch Red Hat/Fedora Debian/Ubuntu (旧) SUSE openSUSE Gentoo