Infra Engineer

RPMとYUMパッケージ管理~Zyppを使用したRPMパッケージの管理~
2020.12.31
Lv1

RPMとYUMパッケージ管理~Zyppを使用したRPMパッケージの管理~

今回の内容

今回は、Zyppについて解説します。

★LPIC試験ポイント★

★LPIC試験ポイント★

パッケージをインストールするzypper installコマンドが重要です! 
★LPIC試験ポイント★

Zypp

Zypp(Libzypp)は、openSUSE(Slack Ware系ディストリビューション)でデフォルトで採用されているRPMパッケージ管理ツールです。
openSUSEは、パッケージ管理システムとしてRPM形式を採用していますが、管理ツールとしては、「Zypper」が提供されています。
システム全体の設定は「/etc/zypp/zypper.conf」に記述されており、ユーザ固有の設定は「※~/.zypper.conf」に記述します。

(用語解説1)「~(メタキャラクタ)」について

シェルで特別な意味を持つ記号のことを、「メタキャラクタ」といいます。
「メタキャラクタ」は、適切に活用することにより、コマンドライン上での表現に幅を持たせることが可能となります。ここでの「~」の意味は、ホームディレクトリを指します。従って、「~/.zypper.conf」の記述がある場合は、「~」=ログインしているユーザのホームディレクトリという意味になります。
例)一般ユーザ「student」でログインしている場合、
「~」=/home/student/

例)rootユーザ(管理者権限)でログインしている場合、
「~」=/root

また、主要なサブコマンドの多くがYUMと共通しているので、yumコマンドを使用したことがあれば、大きく変わりません。
yumコマンドを使用した際に、「yum install 〇〇」だったものが、「zypper install 〇〇」に変わるだけです。

Zyppコマンド

■ZyppによるRPMパッケージ管理

例1)インストールが可能なパッケージの情報を表示する場合
#zypper info [パッケージ名]

次の例では、apache(ウェブサーバ)のパッケージ情報を表示しています。

localhost:~ # zypper info apache2
Loading repository data...
Reading installed packages...


Information for package apache2:
--------------------------------
Repository     : Main Update Repository
Name           : apache2
Version        : 2.4.43-lp152.2.9.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 4.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : apache2-2.4.43-lp152.2.9.1.src
Summary        : The Apache Web Server
Description    :
    This version of httpd is a major release of the 2.4 stable branch,
    and represents the best available version of Apache HTTP Server.
    New features include Loadable MPMs, major improvements to OCSP support,
    mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
    Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
    Caching API.

     See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
    http://httpd.apache.org/docs-2.4/upgrading.html.

localhost:~ #
 

——————–

★試験ポイント★

例2)パッケージをインストールする場合
#zypper install パッケージ名

次の例では、apache(ウェブサーバ)のパッケージをインストールしています。

localhost:~ # zypper install apache2

(中略)

6 new packages to install.
Overall download size: 1.9 MiB. Already cached: 0 B. After the operation, additional 5.7 MiB
will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package system-user-wwwrun-20170617-lp152.5.114.noarch
                                                          (1/6),  10.3 KiB (   96   B unpacked)
Retrieving: system-user-wwwrun-20170617-lp152.5.114.noarch.rpm .............[done (13.5 KiB/s)]
Retrieving package apache2-utils-2.4.43-lp152.2.9.1.x86_64
                                                          (2/6), 151.8 KiB (203.0 KiB unpacked)
Retrieving: apache2-utils-2.4.43-lp152.2.9.1.x86_64.rpm .................................[done]
Retrieving package libbrotlienc1-1.0.9-lp152.2.3.1.x86_64 (3/6), 213.1 KiB (581.9 KiB unpacked)
Retrieving: libbrotlienc1-1.0.9-lp152.2.3.1.x86_64.rpm ..................................[done]
Retrieving package apache2-2.4.43-lp152.2.9.1.x86_64      (4/6),   1.3 MiB (  4.3 MiB unpacked)
Retrieving: apache2-2.4.43-lp152.2.9.1.x86_64.rpm .......................................[done]
Retrieving package apache2-prefork-2.4.43-lp152.2.9.1.x86_64
                                                          (5/6), 306.6 KiB (629.2 KiB unpacked)
Retrieving: apache2-prefork-2.4.43-lp152.2.9.1.x86_64.rpm ...................[done (2.4 KiB/s)]
Retrieving package apache2-mod_dnssd-0.6-lp152.4.6.x86_64 (6/6),  22.6 KiB ( 42.3 KiB unpacked)
Retrieving: apache2-mod_dnssd-0.6-lp152.4.6.x86_64.rpm ..................................[done]

(省略)
localhost:~ #

——————–

例3)パッケージをアンインストールする場合
#zypper remove パッケージ名

次の例では、apache(ウェブサーバ)のパッケージをアンインストール(削除)しています。

localhost:~ # zypper remove apache2
Reading installed packages...
Resolving package dependencies...

The following 3 packages are going to be REMOVED:
  apache2 apache2-mod_dnssd apache2-prefork

3 packages to remove.
After the operation, 4.9 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): y
(1/3) Removing apache2-mod_dnssd-0.6-lp152.4.6.x86_64 ...................................[done]
(2/3) Removing apache2-prefork-2.4.43-lp152.2.9.1.x86_64 ................................[done]
(3/3) Removing apache2-2.4.43-lp152.2.9.1.x86_64 ........................................[done]
There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.

localhost:~ #

——————–

サブコマンド

DNFコマンドの主なサブコマンドは、以下のようになります。
zypperコマンドのサブコマンドの多くは、
installの「in」やremoveの「rm」のように、省略を用いることができます。

サブコマンド 説明
lp(list-patches) 利用可能なパッチを一覧表示する。
patch 必要なパッチを適用する。
se(search) 検索語が名前の一部に含まれるパッケージを表示する
se(search) –i インストール済みのパッケージの中から検索する。
rm(remove) 指定したパッケージをアンインストールする。
in(install) 指定したパッケージをインストールする。
up(update) 指定したパッケージをアップデートする。

まとめ

zypperコマンドで指定する「info」「install」「remove」が行う内容をしっかり覚えておきましょう!
それでは今回はこのあたりで。

Linux資格 「LPIC Lv1」徹底解説 連載目次リンク

Linux資格 「LPIC Lv1」徹底解説 連載目次