pacman/比較表
このページは openSUSE のソフトウエア管理のコマンドライン比較 を基にして作っています。Arch を比較にいれて単純化し、Arch ユーザーにとって使いやすいようにディストリビューションの順番を並び替えました。
目次
基本操作
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
---|---|---|---|---|---|
パッケージを検索。デフォルトで検索されるフィールドはツールによって異なります。ほとんどのオプションはツールの機能を同等にします。 | pacman -Ss |
dnf search |
apt search |
zypper search または zypper se [-s] |
emerge --search (-s )
または |
パッケージを名前でインストール | pacman -S |
dnf install |
apt install |
zypper install または zypper in |
emerge
|
ソースパッケージとビルド依存関係を取得 | makepkg -s PKGBUILD |
dnf builddep |
apt build-dep |
zypper source-install (zypper si ) または zypper install -d |
emerge , または明示的に emerge --with-bdeps
|
実際の操作を実行する代わりにターゲットのみを表示 | pacman --print (または -p ) |
dnf --setopt=tsflags=test |
apt --simulate (または -s , --dry-run , --just-print ) |
zypper --dry-run |
emerge --pretend (-p )
|
手動確認の切り替え | pacman --confirm または pacman --noconfirm |
dnf --assumeyes (-y ) または dnf --assumeno |
apt --yes (-y ) |
zypper --non-interactive (-n ) または zypper --no-confirm (-y ) |
emerge --ask (-a )
|
ローカルパッケージリポジトリを更新 | pacman -Sy (部分的な更新に関する警告を参照) |
dnf check-update または dnf makecache または dnf upgrade (組み込み自動機能) |
apt update |
zypper refresh または zypper ref [-s] |
emerge --sync
|
パッケージをアップグレード - 既に古いバージョンがインストールされているパッケージをインストール | pacman -Syu |
dnf upgrade |
apt upgrade |
zypper update または zypper up |
emerge -[a]uDN @world
|
パッケージをアップグレード - ディストリビューションのアップグレードのような、より複雑な更新を実行できる別の形式の更新コマンド。通常の更新コマンドでは依存関係の変更を含むパッケージ更新を省略する場合、このコマンドはそれらの更新を実行できます。 | pacman -Syu |
dnf distro-sync |
apt dist-upgrade |
zypper dup |
emerge -[a]uDN @world
|
パッケージとすべての依存関係を名前で削除 | pacman -Rs |
dnf remove |
apt autoremove |
zypper remove または zypper rm |
emerge --depclean (-c )
|
パッケージとその設定ファイルを削除 | pacman -Rn |
? | apt purge |
? | n/a |
パッケージとすべての依存関係および設定ファイルを削除 | pacman -Rns |
? | apt autoremove --purge |
? | n/a |
もはや必要とされない依存関係(オーファン)を削除する、例えば依存関係を必要としていたパッケージが削除された場合 | pacman -Qdtq | pacman -Rs - (-Qdttq もオプションの依存関係を削除) |
dnf autoremove |
apt autoremove |
zypper rm -u (パッケージを削除するだけ) または zypper packages --unneeded (リストのみ) |
emerge --depclean (-c )
|
すべてのリポジトリに含まれていないパッケージを削除 | pacman -Qmq | pacman -Rs - |
dnf repoquery --extras |
aptitude purge '~o' |
? | |
以前に依存関係としてインストールされたパッケージを明示的に必要なものとしてマーク | pacman -D --asexplicit |
dnf mark install |
apt-mark manual |
zypper install --force (パッケージを再インストールする必要がある回避策) |
emerge --select (-w )
|
依存関係としてパッケージをインストール / 明示的に必要なものとしてマークしない | pacman -S --asdeps |
dnf install の後に dnf mark remove |
apt-mark auto |
n/a (機能リクエストと回避策) | emerge --oneshot (-1 )
|
指定したパッケージをアンパックまたはインストールせずにダウンロードのみ | pacman -Sw |
dnf download |
apt install --download-only (パッケージキャッシュに) または apt download (パッケージキャッシュをバイパス) |
zypper --download-only |
emerge --fetchonly (-f )
|
すべてのローカルキャッシュをクリーンアップ。オプションによって実際にクリーンアップされる内容が制限されることがあります。 | pacman -Sc または pacman -Scc |
dnf clean all |
apt autoclean 不要な古い情報のみ削除 または apt clean |
zypper clean |
eclean distfiles
|
一つのセッションで複数のコマンドを入力するためにシェルを起動 | dnf shell |
zypper shell |
|||
ソフトウェア管理によって実行されたアクションのログを表示 | /var/log/pacman.log を読む |
dnf history |
/var/log/dpkg.log を読む |
/var/log/zypp/history を読む または追加パッケージが提供する zypper-log |
/var/log/portage を読む
|
システム情報全体のダンプを取得 - パッケージ管理システムの現在の状態を表示、保存、または類似する。推奨される出力はテキストまたはXMLです。(注:なぜここでどちらか一方?ツールは出力形式を選択するオプションを提供していません。) | /var/lib/pacman/local を参照 |
/var/lib/rpm/Packages を参照 |
apt-cache stats |
emerge --info
| |
パッケージ変更のメール配信 | apt install apt-listchanges |
eselect news read
|
特定のパッケージについて情報を表示
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
パッケージに関する全ての情報を表示。情報量はツールによって違いますが、オプションを使うことで大体同じ情報を得ることができます。 | pacman -[S|Q]i | dnf list dnf info |
apt show apt-cache policy |
zypper info zypper if | emerge -S; emerge -pv; eix |
ローカルのパッケージの情報を表示: 名前、バージョン、説明など。 | pacman -Qi | rpm -qi / dnf info installed | dpkg -s aptitude show |
zypper info; rpm -qi | emerge -pv と emerge -S |
リモートのパッケージの情報を表示: 名前、バージョン、説明など。 | pacman -Si | dnf info | apt-cache show aptitude show |
zypper info | emerge -pv と emerge -S または equery m (meta) |
ローカルのパッケージに含まれているファイルを表示 | pacman -Ql | rpm -ql | dpkg -L | rpm -Ql | equery files; qlist |
リモートのパッケージに含まれているファイルを表示 | pacman -Fl | dnf repoquery -l または repoquery -l (yum-utils パッケージにあり) | apt-file list $pattern | pfl | |
指定したファイルがどのパッケージに含まれているか確認 | pacman -Qo | rpm -qf (インストール済みのパッケージのみ) dnf provides (全てのパッケージ) repoquery -f (yum-utils パッケージにあり) |
dpkg -S dlocate |
zypper search -f | equery belongs; qfile |
パッケージが保持しているファイルを表示。他の複雑なコマンドで同じような確認ができます。 | pacman -Ql pacman -Fl |
dnf repoquery -l | dpkg-query -L | rpm -ql | equery files |
指定したファイルが含まれているパッケージを表示。特定のフィールドの検索のショートカット。他のツールは検索コマンドでこの機能を提供しています。 | pacman -Fo | dnf provides | apt-file search | zypper what-provides zypper wp | equery belongs (インストールされているパッケージのみ対象); pfl |
全てのパッケージから指定したファイルが含まれているパッケージを検索。auto-apt はこの機能を使います。 | pacman -Fs | dnf provides | apt-file search | zypper search -f | equery belongs; qfile |
パッケージの変更履歴を表示 | pacman -Qc | rpm -q --changelog | apt-get changelog | rpm -q --changelog | equery changes -f |
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
パッケージのリストを表示
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
名前や説明などでパッケージを検索。デフォルトで検索されるフィールドはツールによって異なります。オプションを使うことでツールの違いはなくせます。 | pacman -Ss | dnf search | apt search | zypper search zypper se [-s] | emerge -S; eix |
アップデートが存在するパッケージを確認。特殊なコマンドやオプションでインストールソースを指定できる場合があります。 | pacman -Qu | dnf list updates dnf check-update |
apt-get upgrade -> n | zypper list-updates zypper patch-check (パッチのみ確認) | emerge -uDNp @world |
パッケージマネージャによって管理されている全てのインストールソースの全てのパッケージを表示する。ツールによっては出力するインストールソースを制限できるオプションやコマンドがあります。 | pacman -Sl | dnf list available | apt-cache dumpavail apt-cache dump (キャッシュのみ) apt-cache pkgnames | zypper packages | portageq all_best_visible |
インストールされているパッケージのリストを生成 | pacman -Q | dnf list installed | dpkg --list | grep ^i | zypper search --installed-only | qlist -IC |
インストールソースに存在しないインストール済みのパッケージを表示 | pacman -Qm | dnf list extras | deborphan | zypper se -si | grep 'System Packages' | eix-test-obsolete |
最近インストールソースに追加されたパッケージを表示。新着パッケージの表示。 | (なし) | dnf list recent | aptitude search '~N' aptitude forget-new |
n/a | eix-diff |
インストールされているローカルのパッケージとバージョンを表示 | pacman -Q | rpm -qa | dpkg -l | zypper search -s; rpm -qa | qlist -ICv |
ローカルにインストールされているパッケージを名前と説明で検索 | pacman -Qs | rpm -qa '*<str>*' | aptitude search '~i(~n $name|~d $description)' | eix -S -I | |
他のパッケージから必要とされていないパッケージを表示 | pacman -Qt | package-cleanup --all --leaves | deborphan -anp1 | emerge -pc | |
(依存パッケージではなく) 明示的にインストールされたパッケージを表示 | pacman -Qe | dnf history userinstalled | apt-mark showmanual | emerge -pvO @selected; eix --selected | |
(依存パッケージとして) 自動的にインストールされたパッケージを表示 | pacman -Qd | apt-mark showauto | |||
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
パッケージの依存関係を表示
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
X のインストールが必要なパッケージを表示。逆の依存関係を表示。 | pacman -Sii | dnf repoquery --alldeps --whatrequires または repoquery --whatr[equires] | apt-cache rdepends aptitude search ~D$pattern |
zypper search --requires | emerge -pvc |
指定した表現 (パッケージ) と衝突するパッケージを表示。検索を使ってこの機能を模倣することも可能。 | dnf repoquery --conflicts | aptitude search '~C$pattern' | |||
特定のパッケージが必要とするパッケージを全て表示。依存パッケージを表示。 | pacman -[S|Q]i | dnf repoquery --requires または repoquery -R | apt-cache depends apt-cache show |
zypper info --requires | emerge -ep |
パッケージが提供している機能を表示。 | dnf provides | dpkg -s aptitude show |
zypper info --provides | equery files; qlist | |
特定のパッケージを必要とするパッケージを全て表示。 | dnf repoquery --alldeps --whatrequires | aptitude search ~D{depends,recommends,suggests}:$pattern aptitude why |
zypper search --requires | equery depends -a | |
指定されたパッケージによって非推奨となったパッケージを全て表示。 | dnf list obsoletes | apt-cache show | |||
dotty で指定したパッケージを処理するのに適した出力を生成。 | apt-cache dotty | n/a | |||
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
インストールソースの管理
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
インストールソースの管理 | ${EDITOR} /etc/pacman.conf | ${EDITOR} /etc/yum.repos.d/${REPO}.repo | ${EDITOR} /etc/apt/sources.list | ${EDITOR} /etc/zypp/repos.d/${REPO}.repo | layman; eselect repository |
インストールソースをシステムに追加。ツールによっては特定のソースを追加するコマンドがあり、他のツールはあらゆるタイプのソース URI を使えます。apt や dnf ではソースリストを編集する必要があります。apt-cdrom は特殊なコマンドで CD/DVD をソースとして使うときのオプションです。 | /etc/pacman.conf | /etc/yum.repos.d/*.repo | apt-cdrom add | zypper service-add | layman overlays |
指定したインストールソース、もしくは全てのインストールソースの情報を更新する。 | pacman -Sy | dnf clean expire-cache && dnf check-update | apt-get update | zypper refresh zypper ref | emerge --sync;layman -S |
URI やエイリアスなどの情報を含む全てのインストールソースの一覧を表示する。 | cat /etc/pacman.d/mirrorlist | cat /etc/yum.repos.d/* | apt-cache policy | zypper service-list | layman -l; eselect repository list |
指定したリポジトリ由来の全てのパッケージの一覧を表示する | paclist <repo> | eix --in-overlay | |||
インストールソースを無効化する | dnf --disablerepo= | emerge package::repo-to-use | |||
インストールされているディストリビューションのバージョンとは別のバージョンからパッケージをダウンロード。 | dnf --releasever= | apt-get install -t release package/ apt-get install package/release (依存パッケージは無視されます) | echo "category/package ~amd64" >> /etc/portage/package.accept_keywords && emerge package | ||
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
パッケージの上書き
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo |
アップデートされないようにパッケージをロックルールに追加する | /etc/pacman.conf IgnorePkg を編集 |
dnf.conf <--”exclude” オプション (追加/編集) | apt-mark hold pkg | /etc/zypp/locks にパッケージ名を記述、または zypper al | /etc/portage/package.mask |
パッケージのロックルールを削除 | /etc/pacman.conf の IgnorePkg 行からパッケージを削除 | apt-mark unhold pkg | /etc/zypp/locks からパッケージ名を削除、または zypper rl | /etc/portage/package.mask (または package.unmask) | |
ロックルールを全て表示 | cat /etc/pacman.conf | /etc/apt/preferences | /etc/zypp/locks を表示または zypper ll | cat /etc/portage/package.mask | |
アップグレードを避けたり、ダウングレードを強制したりデフォルトの挙動を上書きするために、指定したパッケージの優先権を設定する。特定のインストールソースのパッケージバージョンを優先するためにも使うことができます。 | ${EDITOR} /etc/pacman.conf HoldPkg や IgnorePkg を編集 |
/etc/apt/preferences apt-cache policy |
zypper mr -p | ${EDITOR} /etc/portage/package.accept_keywords =category/package-version を追加 | |
先に設定した優先権を削除する | /etc/apt/preferences | zypper mr -p | ${EDITOR} /etc/portage/package.accept_keywords 問題の行を削除 | ||
設定した優先権のリストを表示する。 | apt-cache policy /etc/apt/preferences | zypper lr -p | grep -r . /etc/portage/package.accept_keywords | ||
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
パッケージの検証と修復
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo | |
特定のパッケージを検証する | pacman -Qk[k] | rpm -V | debsums | rpm -V | equery check | |
全てのパッケージを検証する | pacman -Qk[k] | rpm -Va | debsums | rpm -Va | equery check | |
パッケージを再インストール。依存関係を考えずに指定されたパッケージを再インストールする。 | pacman -S | dnf reinstall | apt install --reinstall | zypper install --force | emerge -1O | |
システムの依存関係を検証する。インストール中に強制終了してしまった時に使用。 | pacman -Dk | dnf repoquery --requires | apt-get check | zypper verify | emerge -uDN @world | |
システムの破損した依存関係を修正する | pacman の依存関係: pacman -Dk 共有ライブラリの依存関係: findbrokenpkgs または lddd |
dnf repoquery --unsatisfied | apt-get --fix-broken aptitude install |
zypper verify | revdep-rebuild | |
ロールバック用にパッケージシステムにチェックポイントを追加 | (不要、毎回行われます) | n/a | ||||
全てのシステムチェックポイントを確認する | N/A | dnf history list | n/a | |||
特定の月日やチェックポイントまで全てのパッケージをロールバックする。 | N/A | dnf history rollback | n/a | |||
指定した操作をひとつ元に戻す。 | N/A | dnf history undo | n/a | |||
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
パッケージファイルの使用と作成
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SLES/openSUSE | Gentoo | |
パッケージ管理データベースのエントリではなくコマンドラインで指定したパッケージを問い合わせる | pacman -Qp | rpm -qp | dpkg -I | |||
パッケージファイルの中身を表示する | pacman -Qpl | rpmls rpm -qpl | dpkg -c | rpm -qpl | ||
ローカルのパッケージファイル (例: app.rpm) をインストール。インストールソースを使って依存関係を解決する。 | pacman -U | dnf install | apt install | zypper in | emerge | |
ローカルパッケージでパッケージを更新。インストールソースを使って依存関係を解決する。 | pacman -U | dnf upgrade | debi | emerge | ||
デバッグ用にローカルパッケージをローカルパッケージキャッシュに追加する。 | cp $filename /var/cache/pacman/pkg/ | apt-cache add | n/a | cp $filename /usr/portage/distfiles | ||
パッケージを展開する | tar -Jxvf | rpm2cpio | cpio -vid | dpkg-deb -x | rpm2cpio | cpio -vid | tar -jxvf | |
ビルドに必要なパッケージをインストール・削除する。ソースパッケージの情報を使います。 | ABS を使い makepkg -seoc | dnf builddep | apt-get build-dep | zypper si -d | emerge -o | |
指定したパッケージ名のソースパッケージを表示する。 | dnf repoquery -s | apt-cache showsrc | n/a | |||
指定されたパッケージ名に対応するソースパッケージをダウンロード | ABS を使用 && makepkg -o | dnf download --source | apt-get source debcheckout |
zypper source-install | emerge --fetchonly | |
パッケージをビルド | makepkg -s | rpmbuild -ba (通常) mock (chroot) |
debuild | rpmbuild -ba; build; osc build | ebuild; quickpkg | |
パッケージに問題が存在しないかチェック | namcap | rpmlint | lintian | rpmlint | repoman | |
操作 | Arch | Red Hat/Fedora | Debian/Ubuntu | SUSE/openSUSE | Gentoo |
ログファイルのローテーション
デフォルトでは、Arch Linux は pacman.log
をローテーションしません。FS#11272 および FS#20428#comment66480 を参照してください。これは、他のほとんどの Linux ディストリビューションのデフォルトポリシーとは対照的です。一部のディストリビューション、特に Gentoo は、デフォルトではログファイルをほとんど書き込みません。