yum は CentOS および Redhat 用です。
apt-get は Debian および Ubuntu 用です。
同様に、zypper は SUSE Linux 用です。
Zypper は、OpenSUSE および SUSE Enterprise Linux プラットフォームでパッケージを管理するためのコマンド ライン ツールです。
大まかに言うと、zypper コマンドを使用して 2 つの異なるものを管理できます。
I. Zypper を使用してパッケージを管理
1. zypper を使用してパッケージをインストール
zypper コマンドを使用してパッケージをインストールするには、次の構文を使用します:
zypper install <package Name>
たとえば、Mozilla Firefox とそのすべての依存関係をインストールするには、次のコマンドを実行します:
# zypper install MozillaFirefox Loading repository data... Reading installed packages... Resolving package dependencies... The following NEW packages are going to be installed: MozillaFirefox MozillaFirefox-branding-SLED The following packages are not supported by their vendor: MozillaFirefox MozillaFirefox-branding-SLED 2 new packages to install. Overall download size: 964.0 KiB. After the operation, additional 3.4 MiB will be used. Continue? [y/n/?] (y): y Retrieving package MozillaFirefox-3.6.16-0.2.1.x86_64 (1/2), 949.0 KiB (3.4 MiB unpacked) Retrieving: MozillaFirefox-3.6.16-0.2.1.x86_64.rpm [done] Installing: MozillaFirefox-3.6.16-0.2.1 [done] Retrieving package MozillaFirefox-branding-SLED-3.5-1.1.5.x86_64 (2/2), 15.0 KiB (34.0 KiB unpacked) Retrieving: MozillaFirefox-branding-SLED-3.5-1.1.5.x86_64.rpm [done] Installing: MozillaFirefox-branding-SLED-3.5-1.1.5 [done]
2.ソースパッケージをインストール
ソース パッケージをリポジトリにインストールするには、以下に示すように source-install オプションを使用します。
# zypper source-install apache2-mod_nss Reading installed packages... Loading repository data... Resolving package dependencies... Retrieving package mozilla-nss-devel-3.12.8-1.2.1.x86_64 (2/3), 473.0 KiB (2.6 MiB unpacked) Retrieving: mozilla-nss-devel-3.12.8-1.2.1.x86_64.rpm [done] Installing: mozilla-nss-devel-3.12.8-1.2.1 [done] Retrieving: apache2-mod_nss-1.0.8-17.5.src.rpm [done]
3.パッケージを更新
パッケージがインストールされると、以下に示すように更新コマンドを使用して、利用可能になったときに新しいバージョンにアップグレードできます。
以下は MozillaFirefox パッケージのみをアップグレードします。
zypper update MozillaFirefox
以下は、システム上のすべてのパッケージを最新バージョンにアップグレードします。
zypper update
以下に示すように、list-updates オプションを使用して、利用可能なすべての更新を表示することもできます。
zypper list-updates
4.システム全体の完全配布アップグレード
システムで完全なディストリビューション アップグレードを実行するには、以下に示すように zypper と一緒に dup オプションを使用します:
# zypper dup Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Loading repository data... Reading installed packages... Computing distribution upgrade... The following NEW packages are going to be installed: drbd-xen libsoftokn3-32bit mozilla-nspr-32bit mozilla-nss-32bit mozilla-nss-certs-32bit suseRegister xen yast2-registration yast2-registration-branding-SLE The following packages are going to be upgraded: libfreebl3-32bit libnsssharedhelper0 libnsssharedhelper0-32bit The following packages are going to change vendor: libfreebl3-32bit SUSE LINUX Products GmbH, Nuernberg, Germany -> openSUSE Build Service libnsssharedhelper0 SUSE LINUX Products GmbH, Nuernberg, Germany -> openSUSE Build Service libnsssharedhelper0-32bit SUSE LINUX Products GmbH, Nuernberg, Germany -> openSUSE Build Service
5.パッケージを削除
パッケージを削除するには、以下に示すように remove オプションを使用します。これにより、すべての依存関係も削除されます。
# zypper remove MozillaFirefox Loading repository data... Reading installed packages... Resolving package dependencies... The following packages are going to be REMOVED: MozillaFirefox MozillaFirefox-branding-SLED 2 packages to remove. After the operation, 3.4 MiB will be freed. Continue? [y/n/?] (y): y Removing MozillaFirefox-branding-SLED-3.5-1.1.5 [done] Removing MozillaFirefox-3.6.16-0.2.1 [done]
6.特定のパッケージを検索
リポジトリからパッケージを検索するには、次のコマンドを使用します。キーワードにワイルド カードを使用することもできます。
この例では、キーワード「usb」で始まるすべてのパッケージを検索します。
# zypper search usb* Loading repository data... Reading installed packages... S | Name | Summary | Type --+----------------+----------------------------------------------------------------+-------- | usb_modeswitch | A mode switching tool for controlling multiple-device USB gear | package i | usbutils | Tools and libraries for USB devices | package
7.パッケージの詳細を表示
特定のパッケージに関する情報を表示するには、以下に示すように、zypper で info オプションを使用します。
# zypper info usbutils Loading repository data... Reading installed packages... Information for package usbutils: Repository: @System Name: usbutils Version: 0.73-38.19 Arch: x86_64 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Support Level: unknown Installed: Yes Status: up-to-date Installed Size: 461.0 KiB Summary: Tools and libraries for USB devices Description: This package contains a utility for inspecting devices connected to USB ports. It requires kernel version 2.3.99-pre7 or newer, or the USB backport which was introduced in 2.2.18 (supporting the /proc/bus/usb interface).
8. Zypper を使用してパッチをインストール
zypper を使用してシステムにパッチをインストールすることもできます。
まず、以下に示すように、パッチ オプションを使用して、利用可能なすべてのパッチを表示します。
zypper patches
次に、以下に示すように patch オプションを使用して、上記の出力から特定のパッチをインストールできます。
zypper patch <patch name>
9.特定のパッケージをロックする
パッケージ ロックは、システム上のパッケージへの変更を防ぎます。このロックが設定されると、パッケージを削除したり、アップグレードしたりすることはできません。
次の例は、パッケージ ロックを設定し、必要に応じて削除する方法を示しています。
「al」オプションを使用して、ypbind パッケージにパッケージ ロックを追加します。 al は「Add Lock」の略です
# zypper al ypbind Specified lock has been successfully added.
ロックされているすべてのパッケージを表示するには、「ll」オプションを使用します。 ll は「リスト ロック」の略です。次の出力は、「ypbind」パッケージが現在ロックされており、このパッケージを削除またはアップグレードできないことを示しています。
# zypper ll # | Name | Type | Repository --+--------+---------+----------- 1 | ypbind | package | (any)
10.パッケージからロックを解除
「rl」オプションを使用して、ypbind パッケージからパッケージ ロックを削除します。 rl は「ロック解除」の略です
# zypper rl ypbind Loading repository data... Reading installed packages... 1 lock has been successfully removed.
以下に示すように、現在ロックされているパッケージはありません。
# zypper ll There are no package locks defined.
II. Zypper を使用してリポジトリを管理する
11. Zypper を使用してリポジトリを追加
http URI を使用してリポジトリを追加するための一般的な構文は次のとおりです:
zypper addrepo <options> <URI> <alias>
たとえば、URI を使用してリポジトリを追加するには、次のようにします:
# zypper addrepo --check --refresh --name "Mozilla-repo" http://download.opensuse.org/repositories/mozilla/SLE_11/ "Mozillarepo" Adding repository 'Mozilla-repo' [done] Repository 'Mozilla-repo' successfully added Enabled: Yes Autorefresh: Yes URI: http://download.opensuse.org/repositories/mozilla/SLE_11/
12.ローカル リポジトリを作成する
次の構文を使用して、すべての rpm ファイルを含むサーバー上のローカル ディレクトリからローカル リポジトリを作成することもできます。
zypper addrepo <Path_to_dir> <Repo Name>
たとえば、すべての rpm を含むローカル ディレクトリに myrepo というリポジトリを追加するには、次のコマンドを使用します。
# zypper addrepo /var/stormgt/dsminst mylocalrepo Adding repository 'mylocalrepo' [done] Repository 'mylocalrepo' successfully added Enabled: Yes Autorefresh: No URI: dir:///var/stormgt/dsminst # zypper search --repo mylocalrepo Loading repository data... Reading installed packages... S | Name | Summary | Type --+-------------+-----------------------------------------+-------- i | TIVsm-API | the API | package i | TIVsm-API64 | the API | package i | TIVsm-BA | the Backup Archive Client | package i | gskcrypt32 | IBM GSKit Cryptography Runtime | package i | gskcrypt64 | IBM GSKit Cryptography Runtime | package i | gskssl32 | IBM GSKit SSL Runtime With Acme Toolkit | package i | gskssl64 | IBM GSKit SSL Runtime With Acme Toolkit | package
上記のコマンドを使用して、リポジトリに NFS または FTP の場所を追加することもできます。
13.リポジトリを見る
次の zypper コマンドを使用して、すべてのリポジトリを表示できます:
# zypper lr # | Alias | Name | Enabled | Refresh --+--------------------------------------------------+--------------------------------------------------+---------+-------- 1 | Mozillarepo | Mozilla-repo | Yes | Yes 2 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | Yes | Yes
リポジトリの完全な URI を表示するには、次を使用します:
# zypper lr --uri # | Alias | Name | Enabled | Refresh | URI --+--------------------------------------------------+--------------------------------------------------+---------+---------+---------------------------------------------------------- 1 | Mozillarepo | Mozilla-repo | Yes | Yes | http://download.opensuse.org/repositories/mozilla/SLE_11/ 2 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | SUSE-Linux-Enterprise-Server-11-SP1 11.1.1-1.152 | Yes | Yes | http://19.106.65.64/FUSELinux/600RC0
14.リポジトリ内のパッケージを検索
特定のリポジトリからすべてのパッケージを一覧表示するには、次のコマンドを使用します:
# zypper search --repo Mozillarepo Loading repository data... Reading installed packages... S | Name | Summary | Type --+--------------------------------------+-------------------------------------------------------------------------+----------- i | MozillaFirefox | Mozilla Firefox Web Browser | package i | MozillaFirefox-branding-SLED | SLED branding of MozillaFirefox | package | MozillaFirefox-branding-openSUSE | openSUSE branding of MozillaFirefox | package | MozillaFirefox-branding-openSUSE | openSUSE branding of MozillaFirefox | srcpackage
15.リポジトリの名前を変更
リポジトリの名前を変更するには、renamerepo オプションを使用します。
この例では、レポ名「mylocalrepo」が「LOCALRPM-Repo」に名前変更されています
# zypper renamerepo mylocalrepo LOCALRPM-Repo Repository 'mylocalrepo' renamed to 'LOCALRPM-Repo'.
16.リポジトリを削除
リポジトリを削除するには、次に示すように removerepo オプションを使用します。
# zypper removerepo LOCALRPM-Repo Removing repository 'mylocalrepo' [done] Repository 'mylocalrepo' has been removed.
17.リポジトリのバックアップ
以下に示すように、エクスポート オプションを使用して、リポジトリのリストを含むリポジトリ ファイルをバックアップできます。これにより、リポジトリ リストが backup.repo ファイルに保存されます。
# zypper lr --export /var/tmp/backup.repo Repositories have been successfully exported to /var/tmp/backup.repo.
18.バックアップからリポジトリを追加
以前にエクスポートしたリポジトリ ファイルがある場合は、それを使用して、以下に示すように addrepo コマンドを使用して新しいリポジトリを追加できます。
zypper addrepo /var/tmp/backup.rep
19.リポジトリを無効または有効にする
リポジトリを無効にするには、以下に示すように -d フラグを指定してリポジトリの変更オプションを使用します。これにより、Mozilla リポジトリが無効になります。
# zypper modifyrepo -d Mozillarepo Repository 'Mozillarepo' has been successfully disabled.
以前に無効化されたリポジトリを有効化するには、以下に示すように -e フラグを modifyrepo オプションとともに使用します。
# zypper modifyrepo -e Mozillarepo Repository 'Mozillarepo' has been successfully enabled.
20.リポジトリを更新
リポジトリが古くなった場合、リポジトリを更新することは非常に重要です。以下の例に示すように手動で更新するか、必要に応じて自動的に更新するように設定できます。
# zypper refresh Mozillarepo Repository 'Mozilla-repo' is up to date. Specified repositories have been refreshed.
特定のリポジトリの自動更新オプションを設定するには、以下の例に示すようにコマンドを使用してください:
# zypper modifyrepo --refresh mylocalrepo Autorefresh has been enabled for repository 'mylocalrepo'.