Linuxコマンド - Zypper

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

ZypperはSUSE Linuxで採用されているパッケージ管理システムのコマンドラインインターフェースである。
RHELのyum / dnfやDebianのaptに相当する機能を持っており、ソフトウェアのインストール、更新、削除等の操作を行うことができる。

Zypperの主な特徴として、依存関係の自動解決がある。
これにより、ユーザは個々のパッケージの依存関係を意識することなく、必要なソフトウェアをインストールすることができる。
また、リポジトリの管理機能も備えており、ソフトウェアの取得先を柔軟に設定できる。

基本的な使用方法としては、
zypper install <パッケージ名>でパッケージのインストール、zypper remove <パッケージ名>で削除、zypper updateでシステム全体の更新を行う。
パッケージの検索にはzypper search <キーワード>を使用する。

Zypperは強力なオプション機能も持っている。
例えば、--dry-runオプションを付加することにより、実際の変更を行わずに操作のシミュレーションができる。
これは、大規模な更新やインストールを行う前の確認に役立つ。

セキュリティ面では、署名検証機能が組み込まれており、信頼できるソースからのパッケージのみをインストールすることが可能である。
これにより、不正なソフトウェアの導入リスクを低減できる。

Zypperはコマンドラインツールであるが、YaSTというGUIフロントエンドも用意されている。
これにより、コマンドラインに不慣れなユーザでも直感的にパッケージ管理を行うことができる。

Zypperはスクリプト内での使用も考慮されており、非対話モードでの実行が可能である。
これにより、システム管理者はパッケージ管理タスクを自動化することができ、大規模な環境での運用効率を向上させることができる。


Zypperコマンド一覧

一覧には、パッケージ管理やインストール元の管理のように作業ごとにグループ分けしている。
左の列にコマンドの説明、中央の列にdnfを利用したコマンド、右の列にzypperによるコマンドを示している。

  • パッケージ管理
    • パッケージについて何らかの操作を行ない、システムの状態を変更するコマンドを指す。
      例外はパッケージ管理コマンドに大きく関連するパッケージ情報コマンドで、パッケージ情報コマンドもこのグループに含める。
  • パッケージ情報管理
    • パッケージについての情報を表示するコマンドで、特定のグループ内のパッケージやパッケージ管理システム内での状態を表示する。
  • インストール元の管理
    • インストール元の管理を支援するコマンドである。
  • SUSE Linux Enterprise / openSUSE 固有のコマンド
    • SUSEの環境に大きく依存する固有のコマンドである。
  • その他
    • 他の分類に該当しないその他のコマンドを示す。


パッケージ管理
説明 RHEL SUSE Linux Enterprise
openSUSE
パッケージのインストール
名前を指定してパッケージをインストールする
sudo dnf install sudo zypper install
パッケージの削除
名前を指定してパッケージを削除(アンインストール)する
sudo dnf remove sudo zypper remove
パッケージの検索(全文検索)
名前や概要、説明などを何らかのルールで検索する
それぞれのツールでは既定で特定の項目のみを検索する
オプション設定を行なうことで他のツールと同じことを行なうことができる
sudo dnf search sudo zypper search
パッケージの更新
古いバージョンがインストールされているパッケージについて、新しいバージョンのものをインストールする
sudo dnf update sudo zypper update
パッケージのアップグレード
updateコマンドの発展系で、ディストリビューション全体のアップグレードなど、より複雑な更新を行う
通常のupdateコマンドでは依存関係に変更を加えるようなパッケージ更新は省略されるが、このコマンドではそれらを行う
sudo dnf upgrade sudo zypper dup
パッケージの再インストール
依存関係を壊さずに指定したパッケージを再インストールする
なし sudo zypper install --force
ローカルパッケージのインストール
RPM形式などのパッケージをインストールし、併せてインストール元を利用して依存関係を解決する
sudo dnf localinstall なし
ローカルパッケージを利用した更新
ローカルパッケージを利用して更新し、併せてインストール元を利用して依存関係を解決する
sudo dnf localupdate なし
壊れた依存関係を修復
システム内で壊れた依存関係を修復する
なし なし
ソースパッケージの取得
指定したパッケージ名に対応するソースパッケージをダウンロードする
なし sudo zypper source-install
構築依存関係を解決する
構築時に必要となる依存関係をインストールまたは削除する(ソースパッケージの情報を使用する)
なし sudo zypper si -d
パッケージ情報管理
パッケージに関する完全な情報を表示
パッケージのほぼ全ての情報を表示する
ツールによって出力される量は異なる
sudo dnf list or info sudo zypper info
パッケージの検索(全文検索)
名前や概要、説明などを何らかのルールで検索する
各ツールでは特定の項目のみを検索する
sudo dnf search sudo zypper search
利用可能な更新を表示
利用可能な更新が存在するパッケージを表示する
sudo dnf list updates
sudo dnf check-update
sudo zypper list-updates
sudo zypper patch-check(パッチのみ)
利用可能な全てのパッケージを表示
パッケージ管理システムで処理することができる全てのインストール元からの全パッケージを表示する
なし 全てのリポジトリから利用可能な全パッケージを表示する。
インストール済み、未インストール、アップグレード可能なパッケージ等、全ての状態のパッケージを表示する。
sudo zypper packages

詳細な情報も含めて表示する。

sudo zypper packages --all

インストールされていないパッケージのみ表示する。

sudo zypper packages --not-installed

インストール済みのパッケージのみ表示する。

sudo zypper packages --installed

アップグレード可能なパッケージのみ表示する。

sudo zypper packages --upgrades

パッケージ名をフィルタリングする場合

sudo zypper packages | grep -i <パッケージ名>

特定のリポジトリからのパッケージのみを表示する場合

sudo zypper packages -r <リポジトリ名>

より詳細な情報を表示する場合

sudo zypper packages -d
提供するパッケージを表示
指定したものを提供するパッケージを表示する(提供情報の逆検索)
主に特定の項目について検索を行なうためのショートカットとして機能する
sudo dnf whatprovides
sudo dnf provides
sudo zypper search --provides --match-exact <パッケージ名>
必要とするパッケージを表示
インストールすべきものとして必要としているパッケージを検索する(依存関係の逆検索)
sudo dnf resolvedep sudo zypper info --requires <パッケージ名>
パッケージの要件を一覧表示
指定したパッケージを利用するにあたって必要となる全てのパッケージを表示する(依存関係の表示)
sudo dnf deplist 指定したパッケージが直接必要とする依存関係を表示する。
sudo zypper info --requires <パッケージ名>

指定したパッケージが推奨する依存関係を表示する。

sudo zypper info --recommends <パッケージ名>

指定したパッケージが提案する依存関係を表示する。

sudo zypper info --suggests <パッケージ名>

指定したパッケージを必要とする他のパッケージを表示する。

sudo zypper what-requires <パッケージ名>


また、上記のコマンドを組み合わせて、
必須の依存関係、推奨される依存関係、提案される依存関係を1度に表示することもできる。

sudo zypper info --requires --recommends --suggests <パッケージ名>


ただし、sudo dnf deplistコマンドのように詳細な依存関係ツリーは表示されない。
より詳細な依存関係情報が必要な場合は、rpmコマンドを使用する。

sudo rpm -qR <パッケージ名>
パッケージの提供物の表示
現在のパッケージが提供するものを表示する
sudo dnf provides sudo zypper info --provides
パッケージ内のファイルの一覧表示
パッケージが保有するファイルの一覧を表示する
sudo dnf provides sudo zypper info --provides
指定したファイルを保有するパッケージを表示
指定したファイルを保有する全てのパッケージを検索する
sudo dnf provides
sudo dnf whatprovides
sudo zypper search --provides --match-exact
廃止するパッケージの一覧表示
指定したパッケージが廃止する全てのパッケージを表示する
sudo dnf list obsoletes システム上の全ての廃止予定パッケージを表示する。
sudo zypper packages --obsolete

システム上の廃止予定パッケージを検索する。

sudo zypper search --obsoletes

特定のパッケージに関する情報を取得して、
そのパッケージが他のパッケージを廃止する (replaces) 情報を確認する。

sudo zypper info <パッケージ名>
システムの依存関係の検証
システム全体の依存関係を検証する
インストールの処理を中断した場合に使用する
sudo dnf deplist sudo zypper verify
sudo zypper ve
インストール済みパッケージの一覧表示
インストール済みのパッケージを一覧で表示する
sudo dnf list installed sudo zypper search --installed-only
インストール済みのローカルパッケージの一覧表示
どのインストール元でも提供されていないインストール済みのパッケージを一覧表示する
sudo dnf list extras なし
最近追加されたパッケージの一覧表示
1つのインストール元について最近追加されたパッケージ(インストール元にとって新しいもの)の一覧を表示する
sudo dnf list recent なし
ローカルキャッシュの清掃
ローカルキャッシュを削除して掃除する(オプションでどの項目を清掃するかを指定できる)
sudo dnf clean sudo zypper clean -a
sudo zypper clean --all
インストール元の管理
インストール元の追加
システムに対してインストール元を追加する
ツールによっては特定のソース向けに別途のコマンドを提供している場合があるが、それ以外は追加コマンドで全ての種類のURIを指定できる
なし sudo zypper service-add
インストール元の更新
指定したインストール元や全てのインストール元に対する情報を更新する
sudo dnf check-update sudo zypper refresh
全てのインストール元の一覧表示
URIや別名などの重要な情報を含めた形でインストール元の一覧を表示する
なし sudo zypper service-list
インストール元の削除
一覧からインストール元を削除する
なし sudo zypper service-delete
インストール元の無効設定
一覧から削除せずにインストール元を使用しないよう無効に設定する
なし sudo zypper modifyrepo --disable
インストール元の有効設定
無効に設定したインストール元を有効に設定する
なし sudo zypper modifyrepo --enable
インストール元の名前変更
指定したインストール元の別名を変更する
なし sudo zypper service-rename
SUSE Linux Enterprise / openSUSE 固有のコマンド
修正の確認
新しいパッケージが利用可能か確認する
- sudo zypper patch-check
修正のインストール
指定した修正をインストールする
- sudo zypper install -t patch
修正の表示
修正を表示する(指定したインストール元のもの)
- sudo zypper patches <パッチ名>
修正の情報を表示
指定した修正に関する詳細情報を表示する
- sudo zypper patch-info <パッチ名>
修正の検索
パターンに適合する修正を検索する
- sudo zypper search -t patch <パッチ名>
パターンの表示
指定したインストール元のパターンを表示する
- sudo zypper search -t pattern
パターン情報の表示
パターンに関する詳細情報を表示する
- sudo zypper search -t pattern <パターン名>
パターンのインストール / アンインストール
パターンに対する作業はパッケージのインストールやアンインストールのコマンドと同じ
- sudo zypper install -t pattern <パターン名>
sudo zypper remove -t pattern <パターン名>
製品の表示
指定したインストール元での全ての製品情報を表示する
- sudo zypper search -t product
sudo zypper info -t product
製品情報の表示
製品に関する詳細情報を表示する
- sudo zypper search -t product <プロダクト名>
製品のインストール / アンインストール
製品に対する作業はパッケージのインストールやアンインストールのコマンドと同じ
- sudo zypper install -t product
sudo zypper remove -t product
その他のコマンド
シェルの起動
単一のセッションで複数のコマンドを受け付けられるようシェルを起動する
sudo dnf shell sudo zypper shell