yumとは
yumはRPMパッケージを容易に管理できるツールです。インストールされた複数のRPMパッケージを管理することは容易ではありません。
例えば、新しいソフトウェアのバージョンが出るたびにRPMコマンドでアップデートしていては大変な作業量になりますし、
RPMコマンドでインストールすると依存関係の問題などが発生したりするので面倒です。
yumはそういったことを一掃してくれます。全てのRPMパッケージ管理を自動で行うことも可能です。
簡単に仕組みを説明すると、yumスクリプトやyumコマンドによりクライアント(yumがインストールされたホスト)とリポジトリサーバ(パッケージを管理するサーバ)が
相互にやりとりすることで、依存関係を自動的に解決して簡単にRPMパッケージのインストールやアップデートが可能になります。
yumの実行にはroot権限が必要です。
まず、yumがインストールされているか確認します。
#rpm -qa | grep yum
yum-2.0.7-1.1
もしインストールされていない場合はインストールCDにyumのRPMパッケージが入っているので、そこからインストールします。
または
こちらから自分のディストリビューションの
yumのRPMパッケージをダウンロードしてインストールします。
#rpm -ihv yum-2.0.7-1.1.noarch.rpm
以上でインストール完了です。
Fedora core 3のyumではデフォルトでGPG(GNU Privacy Guard)キーチャックを行うので、まずGPGキーをインストールします。
#rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
デフォルトのリポジトリサーバはFedoraが提供しているサーバであり、アクセスが集中しているため大変レスポンスが悪いので、日本のリポジトリサーバ
にアクセスするようにfedora.repoファイルとfedora-updates.repoファイルを変更します。
#vi /etc/yum.repos.d/fedora.repo
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://ring.data-hotel.net/archives/linux/fedora/linux/core/$releasever/$basearch/os
gpgcheck=1
#vi /etc/yum.repos.d/fedora-updates.repo
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://ring.data-hotel.net/archives/linux/fedora/linux/core/updates/$releasever/$basearch
gpgcheck=1
以上で設定完了です。
デフォルトのリポジトリサーバはFedoraが提供しているサーバであり、アクセスが集中しているため大変レスポンスが悪いので、日本のリポジトリサーバ
にアクセスするようにyum.confファイルを変更します。
#vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://ring.data-hotel.net/archives/linux/fedora/linux/core/$releasever/$basearch/os
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://ring.data-hotel.net/archives/linux/fedora/linux/core/updates/$releasever/$basearch
以上で設定完了です。
yumでパッケージをインストールするには以下のコマンドを使用します。
構文
例
Cannaをインストールする。
#yum install Canna
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
.Dependencies resolved
I will do the following:
[install: Canna 3.7p1-6.i386]
I will install/upgrade these to satisfy the dependencies:
[deps: Canna-libs 3.7p1-6.i386]
Is this ok [y/N]: y
Downloading Packages
Running test transaction:
Test transaction complete, Success!
Canna-libs 100 % done 1/2
Canna 100 % done 2/2
Installed: Canna 3.7p1-6.i386
Dep Installed: Canna-libs 3.7p1-6.i386
Transaction(s) Complete
依存関係にあるパッケージも自動的にインストールされていることがわかります。
yumでパッケージを更新するには以下のコマンドを使用します。
構文
yum update [ パッケージ名 ]
パッケージ名を指定して実行した場合は、そのパッケージを更新し、指定せずに実行した場合は、システムにインストール
されている全ての更新可能なパッケージを更新します。
更新可能なパッケージが存在するかだけを調べるには以下のコマンドを使用します。
構文
yum check-update
更新可能なパッケージの名前、アーキテクチャ、バージョン、レポートのフィールドで一覧表示されます。
yumでパッケージを削除するには以下のコマンドを使用します。
構文
例
Cannaを削除する。
# yum remove Canna-libs
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
.Dependencies resolved
I will do the following:
[erase: Canna-libs 3.7p1-6.i386]
I will erase these to satisfy the dependencies:
[deps: Canna 3.7p1-6.i386]
Is this ok [y/N]: y
Downloading Packages
Running test transaction:
Test transaction complete, Success!
Erasing: Canna-libs 1/2
Erasing: Canna 2/2
Erased: Canna-libs 3.7p1-6.i386 Canna 3.7p1-6.i386
Transaction(s) Complete
依存関係にあるパッケージも自動的に削除されていることがわかります。
yumでパッケージを検索するには以下のコマンドを使用します。
構文
yum search キーワード
指定したキーワードと部分一致するパッケージを一覧表示します。
例
cannaという文字列を含むパッケージを検索する。
# yum search Canna
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Looking in available packages for a providing package
Available package: nvi-m17n-nocanna.i386 0:1.79-20011024.19 from base matches with
Canna のサポート付き多言語化 nvi テキストエディタ
Available package: nvi-m17n-nocanna.i386 0:1.79-20011024.19 from base matches with
nvi-m17n-nocanna
Available package: Canna.i386 0:3.7p1-6 from base matches with
Canna
Available package: kinput2-canna-wnn6.i386 0:v3.1-18 from base matches with
Canna と Wnn6 両用の kinput2 入力サーバー
Available package: kinput2-canna-wnn6.i386 0:v3.1-18 from base matches with
kinput2-canna-wnn6
Available package: Canna-devel.i386 0:3.7p1-6 from base matches with
Canna を使うアプリケーション開発用のヘッダーファイルとライブラリ
Available package: Canna-devel.i386 0:3.7p1-6 from base matches with
Canna-devel
Available package: Canna-libs.i386 0:3.7p1-6 from base matches with
Canna ランタイムライブラリ
Available package: Canna-libs.i386 0:3.7p1-6 from base matches with
Canna-libs
Available package: iiimf-le-canna.i386 1:11.4-46.1.svn1587 from updates-released matches with
Provides Japanese Canna engine for iiimf-server
Available package: iiimf-le-canna.i386 1:11.4-46.1.svn1587 from updates-released matches with
Japanese Canna engine for iiimf-server
Available package: iiimf-le-canna.i386 1:11.4-46.1.svn1587 from updates-released matches with
iiimf-le-canna
Available package: nvi-m17n-canna.i386 0:1.79-20011024.19 from base matches with
Canna のサポート付き多言語化 nvi テキストエディタ
Available package: nvi-m17n-canna.i386 0:1.79-20011024.19 from base matches with
nvi-m17n-canna
14 results returned
Looking in installed packages for a providing package
No packages found
パッケージの簡単な説明も同時に表示されます。
yumでパッケージの情報を問い合わせるには以下のコマンドを使用します。
構文
yum info [ オプション または パッケージ名 ]
パッケージの詳細な情報を表示する。
yum list [ オプション または パッケージ名 ]
パッケージの簡単な情報を表示する。
オプション
| available |
インストール可能なパッケージの情報を一覧表示する。 |
| installed |
システムにインストールされているパッケージの情報を一覧表示する。 |
| recent |
最近追加されたパッケージの情報を一覧表示する。 |
| updates |
更新可能なパッケージの情報を一覧表示する。 |
オプションを省略した場合はインストール可能なパッケージの情報を一覧表示します。また、パッケージ名を指定した場合は
そのパッケージの情報が表示されます。
例
Cannaのパッケージの詳細な情報を表示する。
#yum info Canna
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Looking in Available Packages:
Name : Canna
Arch : i386
Version: 3.7p1
Release: 6
Size : 17.34 MB
Group : システム環境/ライブラリ
Repo : Fedora Core 2 - i386 - Base
Summary: 日本語入力システム
Description:
Canna は、日本語入力用の統一ユーザーインターフェイスを
提供します。 Canna は、NEmacs (Mule)、kinput2、canuum を
サポートします。 これらのツールはすべて、単一のカスタマイズ
ファイルで使用することができ、ローマ字からカナへの変換ルールと
変換辞書をサポートします。 Canna は、クライアント/サーバーモデルに
もとづいてカナから漢字への変換を行います。また、カナから漢字への
自動変換もサポートしています。
システムにインストールされているパッケージの情報を一覧表示する。
#yum list installed
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Name Arch Version Repo
--------------------------------------------------------------------------------
MAKEDEV i386 3.3.13-1 db
ORBit2 i386 2.10.0-4 db
SysVinit i386 2.85-25 db
acl i386 2.2.7-5 db
acpid i386 1.0.2-6 db
alsa-lib i386 1.0.3a-2 db
anacron i386 2.3-30 db
.
.
.
yum noarch 2.0.7-1.1 db
zip i386 2.3-26.2 db
zlib i386 1.2.1.2-0.fc2 db
zlib-devel i386 1.2.1.2-0.fc2 db
システムを最新の状態に保つように定期的にyumによりパッケージを更新するスクリプトを作成します。
ここでは毎日1回実行するように設定します。
(デフォルトのyumの起動スクリプト & yum.cronよりこちらのほうが確実に実行できます。)
#vi /etc/cron.daily/yum.cron
#!/bin/sh
/usr/bin/yum -R 10 -e 0 -d 0 -y update yum
/usr/bin/yum -R 120 -e 0 -d 0 -y update
パーミッションを変更します。
#chmod 700 /etc/cron.daily/yum.cron
yumの起動スクリプトを実行しないように設定します。
#chkconfig yum off
以上でデフォルトでは毎日午前4時2分にyumによりパッケージの更新が行われます。