Linux / コマンド / zypper - openSUSE・SUSEでのパッケージとリポジトリ管理

zypperはopenSUSEおよびSUSE Linux Enterpriseで、パッケージの検索・インストール・削除、リポジトリの更新、システムのアップデートを行います。正確なアップデートコマンドは、ディストリビューションのリリース方式に応じて選択する必要があります。

refreshは配布元のパッケージ情報を取得し、installは必要な依存関係も解決します。zypperはRPMパッケージを扱う上位の管理ツールです。グローバルオプションはコマンドの前、インストールなど個別のオプションはコマンド名の後に置きます。

基本的な文法

zypper [グローバルオプション] コマンド [引数 ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man zypperで現在のシステムの説明を確認してください。

使用例

リポジトリメタデータの更新

設定されたリポジトリのパッケージ情報を新しく取得します。

sudo zypper refresh

パッケージ検索

候補パッケージとリポジトリを確認します。

zypper search nginx

パッケージのインストール

提案された追加・更新・削除項目と配布元を確認してから承認します。sudo zypper install --dry-run nginxならパッケージを実際にインストールせず計画を確認できます。ただし、キャッシュにないファイルの衝突まですべて検査できるとは限りません。

sudo zypper install nginx

インストール候補とリポジトリを確認する

zypper infoは、openSUSE・SUSE系列でパッケージのインストール状態、バージョン、リポジトリ、説明などを表示します。

zypper info bash

出力で確認できる項目の形式:

Information for package bash:
Repository : ...
Name       : bash
Version    : ...
Installed  : Yes

表示言語とフィールド名はシステム設定によって異なります。zypper refreshはリポジトリのメタデータ更新、zypper updateはアップデートのインストールですので混同しないでください。リポジトリを追加したり優先順位を変えるとインストール候補が変わる可能性があるので、パッケージの出所を確認した上で適用してください。

主なオプションと形式

オプション・形式 説明
refresh リポジトリのメタデータを更新します。
search / info パッケージを検索したり情報を確認します。
install / remove パッケージをインストールまたは削除します。
update / dup 選択したリリースポリシーに合わせてアップデート・ディストリビューションアップグレードを実行します。
repos 構成されたリポジトリの一覧を表示します。

使用する際の注意点

zypper dupは有効なリポジトリの状態にシステムを合わせ、更新のほか、ダウングレード・名前変更・削除を行うこともあります。Tumbleweedの通常のシステム更新はdupですが、LeapやSUSE Linux Enterpriseでは製品・バージョンの手順に従います。リポジトリのURL設定と、パッケージ状態を反映する処理を区別してください。

よくある質問

zypper refresh だけでプログラムは更新されますか?

いいえ。refresh はリポジトリ情報を更新します。実際のパッケージ変更には、該当ディストリビューションに適した update・dup などのコマンドが必要です。

公式ドキュメント

オプションの正確な動作や実装ごとの差異は、zypper 関連公式ドキュメントで確認できます。