第 7章ソフトウェアの管理

7.1. パッケージ管理ツールの概要

Turbolinux Client 12.5 ではパッケージ管理ツールとして yum を採用しています。yum とは、RPM パッケージを容易に管理できるツールです。

Turbolinux Client 12.5 のソフトウェアは パッケージという単位で管理されています。パッケージには、ソフトウェアのバイナリファイル、設定ファイル、ドキュメントなど、そのソフトウェアに関連するファイルが含まれています。Linux で利用されているパッケージ管理システムにはいくつかの種類がありますが 、Turbolinux Client 12.5 では、RPM(Red Hat Package Manager)と呼ばれるパッケージ管理システムを採用しています。RPM パッケージは、Linux で標準になりつつあるソフトウェア配布手段の 1 つで、多くのディストリビューションが採用しています。しかし、パッケージのインストールやアンインストールを行うには、パッケージ間の依存関係を解決する必要があるため、単純な作業ではありません。例えば、RPM の管理コマンドである rpm でパッケージのインストールを試みると、以下のようなメッセージが出力されることがあります。

# rpm -ivh package2.i586.rpm
error: failed dependencies:
        package1 >= 2.0.0 is needed by package2

これは、package2 をインストールするためには、バージョン 2.0.0 以上の package1 が必要であることを表しています。

更に、パッケージによっては 1 つのパッケージをインストールするために数十個のパッケージを同時にインストールしなければならないものもあります。Linux 上で動いているアプリケーションは、 このように様々なパッケージが共存、協調しあい動作しています。あるパッケージをインストールするためには、何のパッケージと共にインストールしなければならないのかを知るには、ある程度の知識と経験が必要になります。その逆に、あるパッケージをアンインストールするには、そのパッケージを必要としている他のパッケージもアンインストールしなければなりません。このような問題を解消するために、パッケージ間の依存関係を自動で調査し、その結果をシステム管理者に伝え、必要であれば複数のパッケージを同時にインストール、またはアンインストールしてくれるパッケージ管理ツールが "yum" なのです。yum は、Turbolinux Client 12.5 とパッケージを管理するリポジトリサーバーとがやりとりをすることで簡単に RPM パッケージのインストールやアップデートを行える仕組みになっています。Turbolinux Client 12.5 ではあらかじめ必要なリポジトリサーバーの設定が行われているためインターネットに接続可能な環境であればそのまま利用いただくことが可能です。yum は root ユーザーで実行する必要があります。基本的なコマンドは以下の通りです。

インストール

パッケージをインストールします。

# yum install パッケージ名

openssh-server をインストールする場合は、以下の例のように実行します。途中インストールの実行を確認するメッセージが表示されたら y と入力し進めます。

# yum install openssh-server
Loaded plugins: refresh-packagekit, removable, turbolicense, turbolicensepre
Skipping "CD-ROM TL12D - i386."
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package openssh-server.i586 0:5.1p1-2 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 openssh-server          i586       5.1p1-2          turbolinux        272 k

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 272 k

Is this ok [y/N]: y
Downloading Packages:
(1/1): openssh-server-5.1 100% |=========================| 272 kB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : openssh-server          ######################### [1/1]
Installed: openssh-server.i586 0:5.1p1-2
Complete!
アップデート

パッケージのアップデートを実行します。

# yum update パッケージ名

WebNavi をアップデートするには次の例のように実行します。途中アップデートを確認するメッセージが表示されたら y と入力し進めます。

# yum update webnavi
Loading "refresh-packagekit" plugin
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package webnavi.i586 0:3.0-0.61.15.beta5 set to be updated
--> Processing Dependency: webnavi-langpack = 3.0-0.61.15.beta5 for package: webnavi
--> Running transaction check
---> Package webnavi-ja.i586 0:3.0-0.61.15.beta5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
 webnavi                  i586       3.0-0.61.15.beta5  turbolinux-updates  1.5 M
 webnavi-ja               i586       3.0-0.61.15.beta5  turbolinux-updates  215 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       2 Package(s)
Remove       0 Package(s)

Total download size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): webnavi-ja-3.0-0.61 100% |=========================| 215 kB    00:00
(2/2): webnavi-3.0-0.61.15 100% |=========================| 1.5 MB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : webnavi-ja                    ######################### [1/4]
  Updating  : webnavi                       ######################### [2/4]
  Cleanup   : webnavi                       ######################### [3/4]
  Cleanup   : webnavi-ja                    ######################### [4/4]
Unable to send message to PackageKit

Updated: webnavi.i586 0:3.0-0.61.15.beta5 webnavi-ja.i586 0:3.0-0.61.15.beta5
Complete!
アップデートの確認
# yum check-update

アップデート可能なパッケージを確認するには次のように実行します。次の例のようにアップデートパッケージがリスト表示されます。

# yum check-update
Loading "refresh-packagekit" plugin

bootloader-utils.noarch                  1.15-1.1tl             turbolinux-updat
contentdownloader.i586                   1.0.0-3                turbolinux-updat
cpio.i586                                2.9-3tl                turbolinux-updat
distribution-X.noarch                    magnycours-4           turbolinux-updat
grub.i586                                0.97-22.1tl            turbolinux-updat
gtk2.i586                                2.12.9-3               turbolinux-updat
webnavi.i586                              3.0-0.61.15.beta5      turbolinux-updat
webnavi-ja.i586                           3.0-0.61.15.beta5      turbolinux-updat
initscripts.i586                         8.63-18tl              turbolinux-updat
iwlwifi-kernel-desktop-latest.i586       1.2.25-1.20080613.5tl  turbolinux-updat
libvolume_id0.i586                       118-6.2mnb1            turbolinux-updat
livescripts.noarch                       1.0.10-2008061222      turbolinux-updat
madwifi-kernel-desktop-latest.i586       0.9.3.3-1.20080613.5.r turbolinux-updat
openoffice.org-calc.i586                 1:2.4.1-17.1           turbolinux-updat
openoffice.org-core.i586                 1:2.4.1-17.1           turbolinux-updat
openoffice.org-impress.i586              1:2.4.1-17.1           turbolinux-updat
openoffice.org-langpack-ja_JP.i586       1:2.4.1-17.1           turbolinux-updat
openoffice.org-writer.i586               1:2.4.1-17.1           turbolinux-updat
poulsbo-drivers-kernel-desktop-latest.i5 0.1-1.20080613.1       turbolinux-updat
scim.i586                                1.4.7-5                turbolinux-updat
udev.i586                                118-6.2mnb1            turbolinux-updat
アンインストール

パッケージをアンインストールします。

# yum remove パッケージ名

をアンインストールするには次の例のように実行します。途中アンインストールを確認するメッセージが表示されたら y と入力し進めます。

# yum remove openssh-server
Loaded plugins: refresh-packagekit, removable, turbolicense, turbolicensepre
Setting up Remove Process
Skipping "CD-ROM TL12D - i386."
Resolving Dependencies
--> Running transaction check
---> Package openssh-server.i586 0:5.1p1-2 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 openssh-server          i586       5.1p1-2          installed         537 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : openssh-server          ######################### [1/1]

Removed: openssh-server.i586 0:5.1p1-2
Complete!
検索

Key-word で指定したキーワードと部分一致するパッケージを探します。

# yum search Key-word

cups の含まれるパッケージを検索するには次の例のように実行します。

# yum search cups
Loaded plugins: refresh-packagekit, removable, turbolicense, turbolicensepre
Skipping "CD-ROM TL12D - i386."
====================================================== Matched: cups ======================================================
cups.i586 : Common Unix Printing System
cups-devel.i586 : Common Unix Printing System - development environment
cups-libs.i586 : Common Unix Printing System - libraries
cups-lpd.i586 : Common Unix Printing System - lpd emulation
foomatic.i586 : Foomatic printer filter and databases
ghostscript-cups.i586 : Ghostscript Support for CUPS
libgnomecups.i586 : GNOME CUPS Library
libgnomecups-devel.i586 : Development tools for libgnomecups
情報表示

パッケージの詳細な情報を表示します。

# yum info Option

表 7-1. Option

パッケージ名指定パッケージの情報を表示します。
availableインストール可能なパッケージを表示します。
installedインストール済みのパッケージを表示します。
recent最近インストールを行ったパッケージを表示します。
updatesアップデート可能なパッケージを表示します。

WebNavi の情報を表示するには次の例のように実行します。

# yum info WebNavi
Loading "refresh-packagekit" plugin
Installed Packages
Name   : webnavi
Arch   : i586
Version: 3.0
Release: 0.61.15.beta5
Size   : 12 M
Repo   : installed
Summary: Turbolinux WebNavi ウェブブラウザ
Description:
Turbolinux WebNavi は、オープンソースの Firefox をベースとするウェブブラウザ
です。どのブラウザよりもスピーディで安全性の高い、効率的な Web ブラウズを
実現します。
リスト表示

パッケージをリスト表示します。指定可能な Option は "yum info" と同じです。

# yum list Option

最近インストールを行ったパッケージを一覧表示する場合は以下のように実行します。

# yum list recent
Loading "refresh-packagekit" plugin
Recently Added Packages
beep.i586                                1.2.2-2                turbolinux-updat
beep-debug.i586                          1.2.2-2                turbolinux-updat
bootloader-utils.noarch                  1.15-1.1tl             turbolinux-updat
build-dkms-modules.i586                  1.0-4                  turbolinux-updat
contentdownloader.i586                   1.0.0-3                turbolinux-updat
contentdownloader-debug.i586             1.0.0-3                turbolinux-updat
cpio.i586                                2.9-3tl                turbolinux-updat
cpio-debug.i586                          2.9-3tl                turbolinux-updat
cvs.i586                                 1:1.11.23-2            turbolinux-updat
cvs-debug.i586                           1:1.11.23-2            turbolinux-updat
diffstat.i586                            1.34-1                 turbolinux-updat
diffstat-debug.i586                      1.34-1                 turbolinux-updat
distribution-X.noarch                    magnycours-4           turbolinux-updat
dkms-lirc.i586                           0.8.3-0.20080501.2tl   turbolinux-updat
dkms-lirc-gpio.i586                      0.8.3-0.20080501.2tl   turbolinux-updat
dkms-lirc-parallel.i586                  0.8.3-0.20080501.2tl   turbolinux-updat
fglrx-kernel-2.6.24.5-desktop-1mnb.i586  8.471-3tl              turbolinux-updat

...
(後略)

yum をベースに更に視覚的で容易な操作性を実現したパッケージとして Turbolinux Client 12.5 には GUIのパッケージ管理ツール "Yum Extender" が用意されています。

この章では、Turbolinux Client 12.5 のパッケージ管理ツール "Yum Extender" を操作してパッケージをインストール、アンインストール、アップデートする手順について解説します。