「Pacman/比較表」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
180行目: 180行目:
 
==パッケージの検証と修復==
 
==パッケージの検証と修復==
   
  +
{| class="wikitable"
{|
 
  +
! 操作 !! Arch !! Red Hat/Fedora !! Debian/Ubuntu !! SLES/openSUSE !! Gentoo
| style="background:#f0f0f0;" |'''<font color="#707070">操作</font>'''
 
| style="background:#f0f0f0;" |'''Arch'''
 
| style="background:#f0f0f0;" |'''Red Hat/Fedora'''
 
| style="background:#f0f0f0;" |'''Debian/Ubuntu'''
 
| style="background:#f0f0f0;" |'''SLES/openSUSE'''
 
| style="background:#f0f0f0;" |'''Gentoo'''
 
 
|-
 
|-
|特定のパッケージ検証する||pacman -Qk[k]||rpm -V||debsums||rpm -V||equery check
+
| 単一パッケージ検証 || {{ic|pacman -Qk}} (もう一つ {{ic|k}} を追加可能) || {{ic|rpm -V}} || {{ic|debsums}} || {{ic|rpm -V}} || {{ic|equery check}}
|- style="background:#e4e4e4"
 
|全てのパッケージを検証する||pacman -Qk[k]||rpm -Va||debsums||rpm -Va||equery check
 
 
|-
 
|-
  +
| すべてのパッケージの検証 || {{ic|pacman -Qk}} (もう一つ {{ic|k}} を追加可能) || {{ic|rpm -Va}} || {{ic|debsums}} || {{ic|rpm -Va}} || {{ic|equery check}}
|パッケージを再インストール。依存関係を考えずに指定されたパッケージを再インストールする。||pacman -S||dnf reinstall||apt install --reinstall||zypper install --force||emerge -1O
 
|- style="background:#e4e4e4"
 
|システムの依存関係を検証する。インストール中に強制終了してしまった時に使用。||pacman -Dk||dnf repoquery --requires||apt-get check||zypper verify||emerge -uDN @world
 
 
|-
 
|-
  +
| 指定されたパッケージを再インストール。依存関係の問題なく再インストールされます。 || {{ic|pacman -S}} || {{ic|dnf reinstall}} || {{ic|apt install --reinstall}} || {{ic|zypper install --force}} || {{ic|emerge -1O}}
|システムの破損した依存関係を修正する||pacman の依存関係: pacman -Dk<br>共有ライブラリの依存関係: findbrokenpkgs または lddd||dnf repoquery --unsatisfied||apt-get --fix-broken<br>aptitude install||zypper verify||revdep-rebuild
 
|- style="background:#e4e4e4"
 
|ロールバック用にパッケージシステムにチェックポイントを追加|| ||(不要、毎回行われます)|| ||n/a||
 
 
|-
 
|-
  +
| システム全体の依存関係を検証。インストールプロセスが強制的に終了した場合に使用 || {{ic|pacman -Dk}} || {{ic|dnf repoquery --requires}} || {{ic|apt-get check}} || {{ic|zypper verify}} || {{ic|emerge -uDN @world}}
|全てのシステムチェックポイントを確認する||N/A||dnf history list|| ||n/a||
 
  +
|-
|- style="background:#e4e4e4"
 
  +
| 壊れた依存関係を修復するためのマジックを使用 || ''pacman'' 依存関係レベルでは {{ic|pacman -Dk}} を使用;共有ライブラリレベルでは {{AUR|findbrokenpkgs}} または {{ic|lddd}} ({{pkg|devtools}} から) を使用 || {{ic|dnf repoquery --unsatisfied}} || {{ic|apt-get --fix-broken}} その後 {{ic|aptitude install}} || {{ic|zypper verify}} || {{ic|revdep-rebuild}}
|特定の月日やチェックポイントまで全てのパッケージをロールバックする。||N/A||dnf history rollback|| ||n/a||
 
  +
|-
  +
| 後でロールバックするためにパッケージシステムにチェックポイントを追加 || || (不要、すべてのトランザクションで実行される) || || n/a ||
  +
|-
  +
| システムからチェックポイントを削除 || n/a || n/a || || n/a ||
  +
|-
  +
| すべてのシステムチェックポイントのリストを提供 || n/a || {{ic|dnf history list}} || || n/a ||
  +
|-
  +
| 指定した日付またはチェックポイントまでパッケージ全体をロールバック || n/a || {{ic|dnf history rollback}} || || n/a ||
  +
|-
  +
| 指定されたトランザクションを取り消す || n/a || {{ic|dnf history undo}} || || n/a ||
 
|-
 
|-
|指定した操作をひとつ元に戻す。||N/A||dnf history undo|| ||n/a|| ||
 
|- style="background:#e4e4e4"
 
| style="background:#f0f0f0;" |'''<font color="#707070">操作</font>'''
 
| style="background:#f0f0f0;" |'''Arch'''
 
| style="background:#f0f0f0;" |'''Red Hat/Fedora'''
 
| style="background:#f0f0f0;" |'''Debian/Ubuntu'''
 
| style="background:#f0f0f0;" |'''SUSE/openSUSE'''
 
| style="background:#f0f0f0;" |'''Gentoo'''
 
 
|}
 
|}
   

2024年7月16日 (火) 19:05時点における版

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

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

基本操作

操作 Arch Red Hat/Fedora Debian/Ubuntu SLES/openSUSE Gentoo
パッケージを検索。デフォルトで検索されるフィールドはツールによって異なります。ほとんどのオプションはツールの機能を同等にします。 pacman -Ss dnf search apt search zypper search または zypper se [-s] emerge --search (-s)

または emerge --searchdesc (-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 -Si または pacman -Qi 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 --no-remote info または rpm -qi emerge -pv または emerge -S
リモートパッケージ情報を表示:名前、バージョン、説明など pacman -Si dnf info apt-cache show または aptitude show zypper info emerge -pvemerge -S または equery meta
ローカルパッケージが提供するファイルを表示 pacman -Ql rpm -ql dpkg -L rpm -ql equery files または qlist
リモートパッケージが提供するファイルを表示 pacman -Fl dnf repoquery -l または repoquery -l (パッケージ yum-utils から) apt-file list pfl
FILE を提供するパッケージをクエリ pacman -Qo rpm -qf (インストール済みのみ) または dnf provides (すべて) または repoquery -f (パッケージ yum-utils から) dpkg -S または dlocate rpm -qf (インストール済みのみ) または zypper search -f (すべて) equery belongs または qfile
パッケージが保持するファイルの一覧を表示。再度、他のより複雑なコマンドによってこの機能を模倣することができます。 pacman -Ql または pacman -Fl dnf repoquery -l dpkg-query -L rpm -ql equery files または qlist
指定された表現を提供するパッケージを表示。逆提供として知られる。主に特定のフィールドを検索するためのショートカット。他のツールは検索コマンドを通じてこの機能を提供する場合があります。 pacman -F dnf provides apt-file search zypper what-provides または zypper wp (正確な一致) または zypper se --provides (曖昧な一致) equery belongs (インストールされたパッケージのみ) または pfl
すべてのパッケージを検索して、指定されたファイルを保持しているパッケージを見つける pacman -F dnf provides apt-file search または auto-apt がこの機能を使用 zypper search -f equery belongs または qfile
パッケージの変更履歴を表示 pacman -Qc dnf changelog apt-get changelog rpm -q --changelog equery changes -f

パッケージのリストを表示

操作  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 list --upgradable 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 packages --installed-only qlist -IC
すべてのインストールソースに含まれていない(もう)インストールされたパッケージの一覧 pacman -Qm dnf list extras apt --installed list | grep ,local zypper packages --installed-only --orphaned eix-test-obsolete
インストールソースの1つに最近追加されたパッケージの一覧、すなわちそれに新しいもの dnf list recent aptitude search '~N' または aptitude forget-new eix-diff
バージョンとともにインストールされたローカルパッケージの一覧 pacman -Q rpm -qa dpkg -l または apt list --installed zypper search -si または rpm -qa qlist -ICv
インストールされたパッケージの名前や説明をローカルで検索 pacman -Qs rpm -qa '*<str>*' aptitude search '~i(~n $name|~d $description)' zypper search --installed-only --search-descriptions eix -S -I
他のパッケージによって必要とされないパッケージの一覧 pacman -Qtt dnf leaves または package-cleanup --leaves --all deborphan -anp1 zypper packages --unneeded emerge -pc
明示的にインストールされたパッケージの一覧(依存関係としてではなく) pacman -Qe dnf history userinstalled apt-mark showmanual grep -E '^i\+' (回避策) emerge -pvO @selected または eix --selected
自動的にインストールされたパッケージの一覧(依存関係として) pacman -Qd grep -E '^i[^+]' (回避策) apt-mark showauto

パッケージの依存関係を表示

操作 Arch Red Hat/Fedora Debian/Ubuntu SLES/openSUSE Gentoo
X のインストールが必要なパッケージを表示、逆依存関係を表示 pacman -Sii または pacman -Qii dnf repoquery --alldeps --whatrequires または repoquery --whatrequires apt-cache rdepends または aptitude search ~D$pattern zypper search --requires equery depends
指定された表現(多くの場合パッケージ)と競合するパッケージを表示。検索を使用してこの機能を模倣することもできます。 pacman -Si または pacman -Qi dnf repoquery --conflicts aptitude search '~C$pattern' zypper search --conflicts
指定されたパッケージに必要なすべてのパッケージを一覧表示、依存関係を表示 pacman -Si または pacman -Qi dnf repoquery --requires または repoquery -R apt-cache depends または apt-cache show zypper info --requires emerge -ep
現在のパッケージが提供するものを一覧表示 pacman -Sii または pacman -Qii dnf repoquery --provides dpkg -s または aptitude show zypper info --provides equery files または qlist
特定のパッケージを必要とするすべてのパッケージを一覧表示 pacman -Sii dnf repoquery --installed --alldeps --whatrequires aptitude search ~D{depends,recommends,suggests}:$pattern または aptitude why または apt-cache rdepends zypper search --requires equery depends -a
指定されたパッケージが廃止するすべてのパッケージを表示 pacman -Si または pacman -Qi dnf list obsoletes apt-cache show zypper info --obsoletes
指定されたパッケージに対して dotty で処理できる出力を生成 apt-cache dotty

インストールソースの管理

操作 Arch Red Hat/Fedora Debian/Ubuntu SLES/openSUSE Gentoo
インストールソース管理 /etc/pacman.conf を編集 /etc/yum.repos.d/${REPO}.repo を編集 /etc/apt/sources.list を編集 /etc/zypp/repos.d/${REPO}.repo を編集 layman または eselect repository
インストールソースをシステムに追加。一部のツールは特定のソースに対して追加コマンドを提供し、他のツールはすべての種類のソースURIを追加コマンドで許可します。また、apt のようにソースリストの編集を強制するものもあります。apt-cdrom は特別なオプションを提供する特別なコマンドです。 /etc/pacman.conf を編集 dnf config-manager apt-cdrom add zypper ar <URL または .repo ファイル> layman または overlays
指定されたインストールソースまたはすべてのインストールソースに関する情報を更新 pacman -Sy (その後、常にシステム全体をアップグレード) dnf clean expire-cache その後 dnf check-update apt-get update zypper refresh または zypper ref -s emerge --sync または layman -S
URI、エイリアスなどの重要な情報を含むすべてのインストールソースの一覧を表示 cat /etc/pacman.d/mirrorlist cat /etc/yum.repos.d/* apt-cache policy zypper repos または zypper lr --uri --alias layman -l または eselect repository list
特定のリポジトリからのすべてのパッケージを一覧表示 paclist <repo> zypper packages -r <repo> または zypper pa -r <repo> eix --in-overlay
操作のためにインストールソースを無効にする dnf --disablerepo= emerge package::repo-to-use
インストールされているバージョンとは異なるバージョンのディストリビューションからパッケージをダウンロード pacman -S repo_name/package dnf --releasever= apt-get install -t release package または apt-get install package/release (依存関係は考慮されない) zypper install -r <repo> package echo "category/package ~amd64" >> /etc/portage/package.keywords その後 emerge package

パッケージの上書き

操作 Arch Red Hat/Fedora Debian/Ubuntu SLES/openSUSE Gentoo
パッケージの状態を変更しないようにロックルールを追加 /etc/pacman.conf を編集し IgnorePkg 配列を修正 dnf.conf を編集し exclude オプションを追加/修正 apt-mark hold pkg zypper al またはパッケージ名を /etc/zypp/locks に追加 /etc/portage/package.mask
パッケージのロックルールを削除 /etc/pacman.conf を編集し IgnorePkg 行からパッケージを削除 apt-mark unhold pkg zypper rl または /etc/zypp/locks からパッケージ名を削除 /etc/portage/package.mask (または package.unmask)
すべてのロックルールの一覧を表示 cat /etc/pacman.conf /etc/apt/preferences zypper ll または /etc/zypp/locks を表示 cat /etc/portage/package.mask
指定されたパッケージの優先度を設定してアップグレードを回避、ダウングレードを強制、またはデフォルトの動作を上書き。特定のインストールソースからのパッケージバージョンを優先するためにも使用できます。 /etc/pacman.conf を編集し HoldPkg および/または IgnorePkg 配列を修正 /etc/apt/preferences, apt-cache policy zypper mr -p /etc/portage/package.accept_keywords を編集し =category/package-version の行を追加
以前に設定した優先度を削除 /etc/apt/preferences zypper mr -p /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 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 を使用;共有ライブラリレベルでは findbrokenpkgsAUR または lddd (devtools から) を使用 dnf repoquery --unsatisfied apt-get --fix-broken その後 aptitude install zypper verify revdep-rebuild
後でロールバックするためにパッケージシステムにチェックポイントを追加 (不要、すべてのトランザクションで実行される) n/a
システムからチェックポイントを削除 n/a n/a 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 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 は、デフォルトではログファイルをほとんど書き込みません。

参照