Zypper

はじめに

第9章はじめに

SUSEベースのシステムでは、zypperプログラムがrpmプログラムを使用するための高度で洗練されたサービスを提供し、Red Hatベースのシステムのyumと同じ役割を果たします。パッケージのインストール、更新、削除時に、依存関係を自動的に解決できます。外部ソフトウェア リポジトリにアクセスして同期を取り、必要に応じてソフトウェアを取得してインストールします。


学習目標
この章の終わりまでに、次のことができるようになります。

zypperとは何かを説明できます。
zypperを使用できるクエリについて説明できます。
zypperを使用して、パッケージをインストール、削除、アップグレードができます。
より高度で付加的なzypperコマンドについて精通します。


zypper

zypperとは？
zypperは、SUSE LinuxとopenSUSEでパッケージをインストールおよび管理するための、高レベルのコマンド ライン ツールです。機能と基本的なコマンド構文もyumと非常によく似ており、rpmパッケージでも動作します。

zypperは、リポジトリからパッケージを取得し、発生した依存関係を解決しながらインストール、削除、更新を行います。外部ソフトウェア リポジトリにアクセスして同期を取り、必要に応じてソフトウェアを取得してインストールします。


Zypperのクエリ
次に、クエリを含む一般的な操作の実行例を見てみましょう。

実行可能なアップデートのリストを表示する場合：

$ zypper list-updates

使用可能なリポジトリをリストする場合：

$ zypper repos

文字列でリポジトリを検索する場合：

$ zypper search <string>

パッケージに関する情報をリストする場合：

$ zypper info firefox

リポジトリを検索して、どのパッケージがファイルを提供するかを確認する場合：

$ zypper search --provides /usr/bin/firefox


zypperによるパッケージのインストール／削除／アップグレード
次に、一般的に実行されるzypper操作の例を見てみましょう。

パッケージのインストールまたは更新する場合：

$ sudo zypper install firefox

インストールまたはアップグレードするときに確認を求めない場合：

$ sudo zypper --non-interactive install firefox

これはスクリプトで使う場合に有用で、yum -yを実行するのと同じです。

インストールされているすべてのパッケージを更新する場合：

$ sudo zypper update

引数としてパッケージ名を指定すると、それらのパッケージと必要な依存関係のみが更新されます。確認を求めずにこれを行う場合：

$ sudo zypper --non-interactive update

システムからパッケージを削除する場合：

$ sudo zypper remove firefox

yumの場合と同様に、削除するパッケージを必要とするパッケージも一緒に削除するため、削除コマンドには注意する必要があります。


付加的なzypperコマンド
時には、複数のzypperコマンドを順番に実行する必要があります。コマンドごとにデータベース全体を再読み取りしないようにするため、次のようにシェル モードでzypperを実行できます。

$ sudo zypper shell
> install bash
...
> exit

zypperはreadlineライブラリをサポートしているため、bashシェルと同じコマンド ライン編集機能をzypperシェルでも使用できます。

新しいリポジトリを追加する場合：

$ sudo zypper addrepo URI alias

これは指定されたURIにあり、追加後は指定された別名（エイリアス）を使用します。

リストからリポジトリを削除する場合：

$ sudo zypper removerepo alias

削除したいリポジトリの別名を使用します。

/var/cache/zyppの領域をクリーン アップして保存する場合：

$ sudo zypper clean [--all]


デモ：YaSTの使用方法

このビデオは、GNOMEインターフェイスを使用したOpenSUSEのパッケージ管理用のグラフィカル ツールの使用方法を示したものです。


演習

演習の要件
これらの実習を行うには、SUSEやopenSUSEなど、zypperベースのシステムにアクセスできることが必要です。


課題 9.1:zypper 基本コマンド

🚩
以下のPDFドキュメントに埋め込まれた外部URLにアクセスする場合は、常に右クリックして新しいタブまたはウィンドウで開いてください。直接クリックしてURLを開こうとすると、コース ウィンドウ／タブが閉じます。

Exercise 9.1: Basic zypper Commands
1.  Check to see if there are any available updates for your system.
2.  Update a particular package.
3.  List all repositories the system is aware of, enabled or not.
4.  List all installed kernel-related packages, and list all installed or available ones.
5.  Install theapache2-develpackage, or anything else you might not have installed yet. (Note httpd is apache2 on SUSE systems.)Doing a simple:
$ sudo zypper search
will let you see a complete list; you may want to give a wildcard argument to narrow the list.

Solution 9.1
1.$ zypper list-updates
2.$ sudo zypper update bash
3.$ zypper repos
4.$ zypper search -i kernel
$ zypper search kernel
5.$ sudo zypper install apache2-devel


課題 9.2: zypper を使って、パッケージの情報を得る

🚩
以下のPDFドキュメントに埋め込まれた外部URLにアクセスする場合は、常に右クリックして新しいタブまたはウィンドウで開いてください。直接クリックしてURLを開こうとすると、コース ウィンドウ／タブが閉じます。

Exercise 9.2: Using zypper to Find Information About a Package
Using zypper(and notrpmdirectly), find:

1.  All packages that contain a reference tobashin their name or description.
2.  Installed and availablebashpackages.
3.  The package information forbash.
4.  The dependencies for the bash package.

Try the commands you used above both asrootand as a regular user. Do you notice any difference?

Solution 9.2

1.$ zypper search -d bash
Without the-doption only packages withbashin their actual name are reported. You may have to dozypper infoonthe package to see wherebashis mentioned.
2.$ zypper search bash
3.$ zypper info  bash
4.$ zypper info--requires  bash
will give a list of filesbashrequires. Perhaps the easiest way to see what depends on havingbashinstalled is to do
$ sudo zypper remove --dry-run bash
For this exercisebashis a bad choice since it is so integral to the system; you really can’t remove it anyway.


知識チェック

「第9章 - zypper」を完遂しました。おめでとうございます。このクイズに答えて、これまでに学んだ概念の理解度をチェックしてください。

クイズ開始

問題 9.1
zypper install <package>は、新しいパッケージをインストールするために使います。True or False?

A. True
B. False

問題 9.2
zypper updateは、パッケージを引数として指定できません。True or False?

A. True
B. False

問題 9.3
    zypper what-provides <file path>は、引数として指定されたファイルを提供するパッケージの検索には使用できません。True or False?

A. True
B. False

問題 9.4
zypper searchは、パッケージ名と短い説明で検索ができます。True or False?

A. True
B. False


