Archive for the ‘コンピュータ’ Category

あらためてyumのインストール

木曜日, 10月 28th, 2004

step 2:yumのインストール
ここは予想通り簡単に行った.

# rpm -ivh http://download.fedoralegacy.org/redhat/7.3/legacy-ut
ils/i386/yum-1.0.3-6.0.7.x.legacy.noarch.rpm
http://download.fedoralegacy.org/redhat/7.3/legacy-utils/i386/yum-1.0.3-6.0.7.x.
legacy.noarch.rpm を取得しています
Preparing… ################################# [100%]
1:yum ################################# [100%]
#

Step 2.1: ミラーサイトの追加登録
yumがアクセスするためのミラーサイトを追加登録.まあこれはオプションなので,とくにやらなくてもいいでしょ.ということですっとばす.
Step 2.2:GPGキーを追加
GPGキーを追加する必要があるらしい.Noticeのところに,1回も起動してない場合はもう一度起動させてとか書いてあるのでちょっと不安になったが,とりあえずやってみよう.

# gpg –import /usr/share/doc/yum-1.0.3/*GPG-KEY
gpg: /root/.gnupg: 辞書ができました
gpg: /root/.gnupg/options: 新しいオプション・ファイルができました
gpg: オプション・ファイルを読み直すよう、GnuPGを再起動してください
#

GnuPGってなんだろ?と思って調べてみる.どうやらPGPのような公開鍵暗号らしい.ここえふめも)を参考にして,gpgをもう一度起動させてみる.途中でctrl+cを押下し,空の鍵束を作成することにした.

# gpg
gpg: /root/.gnupg/secring.gpg: 鍵輪ができました
gpg: /root/.gnupg/pubring.gpg: 鍵輪ができました
gpg: 開始します。メッセージをタイプしてください …
^C(←ctrl+c押下)
gpg: Interrupt caught … exiting
#

これでいいんかな,と思ったけど,念のためもう一度公開鍵を作成した.よく分からないので,念のため一部伏せ字(***)にしておく.

# gpg –import /usr/share/doc/yum-1.0.3/*GPG-KEY
gpg: 鍵8******5: 公開鍵を読み込みました
gpg: /root/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵7******A: 公開鍵を読み込みました
gpg: 鍵D******E: 公開鍵を読み込みました
gpg: 処理数の合計: 3
gpg: 読込み: 3
#

Step 3: システムをアップデートする
ここまでこればあとはyumを使ってアップデートするだけ.でも初回起動時には結構時間がかかるらしい.

# yum update
Gathering package information from servers
Getting headers from: Red Hat Linux 7.2 base
Getting headers from: Fedora Legacy utilities for Red Hat Linux 7.2
Getting headers from: Red Hat Linux 7.2 updates
Finding updated packages
Downloading needed headers
getting /var/cache/yum/updates/headers/man-0-1.5j-7.7x.0.i386.hdr
getting /var/cache/yum/updates/headers/e2fsprogs-devel-0-1.26-1.72.i386.hdr
(中略)
getting /var/cache/yum/base/headers/sip-devel-0-2.4-3.i386.hdr
getting /var/cache/yum/base/headers/xosview-0-1.7.3-5.i386.hdr
Resolving dependencies
.package iptables needs kernel that has been excluded
package iptables needs kernel that has been excluded
#

この作業を終えるのに15分ほどかかった.しかし気になるのは最後の2文である.

.package iptables needs kernel that has been excluded
package iptables needs kernel that has been excluded

はたしてこれはどのような意味を持つのだろうか?まあとりあえず今は無視するとして・・・
Step 4: 自動アップデート設定
cronを使ってyumを実行させることで,自動アップデートしてくれるらしい.これはやっておくべし,ですな.

# chkconfig yum on
# service yum start
Enabling yum: [ OK ]
#

以上でyumのインストールおよびシステムのアップデート作業は完了した・・・かに思えた.ところがログファイル(/var/log/yum.log)には何も記録されていない.rpmのパッケージのバージョンを確認しても,なんだかアップデートされていないような気もする.たとえば,最新のアップデートは10月23日のglibc-2.2.5-44.legacy.3.i386.rpmのはずなのだが,実際に調べるとこんな調子である.

# rpm -qi glibc
Name : glibc Relocations: (not relocateable)
Version : 2.2.4 Vendor: Red Hat, Inc.
Release : 13 Build Date: 2001年09月05日 04時49分21秒
Install date: 2002年03月12日 18時21分11秒 Build Host: stripples.devel.redhat.com
Group : System Environment/Libraries Source RPM: glibc-2.2.4-13.src.rpm
Size : 18009683 License: LGPL
Packager : Red Hat, Inc.
Summary : The GNU libc libraries.
Description :
The glibc package contains standard libraries which are used by
multiple programs on the system. In order to save disk space and
memory, as well as to make upgrading easier, common system code is
kept in one place and shared between programs. This particular package
contains the most important sets of shared libraries: the standard C
library and the standard math library. Without these two libraries, a
Linux system will not function.
#

おかしい・・・何かがおかしい・・・

rpm依存性の欠如問題の解決のために

木曜日, 10月 28th, 2004

 とにもかくにも,「依存性の欠如」エラーから抜け出さないと先には進めない.とりあえず,足りないモノを順番に入れていけばいいという至極簡単なセオリーを試してみる.エラーログを参考にすれば,「yum-1.0.3-6.0.7.x.legacy.noarch.rpm」のインストールには,「rpm-python 4.0.4以上」,「rpm 4.0.4以上」が必要らしい.じゃあ先にrpm-pythonをインストールしてみよう.

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.3/os/i386/r
pm-python-4.0.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-python-4.0.4-7x.18.i386.
rpm を取得しています
エラー: 依存性の欠如:
rpm = 4.0.4は rpm-python-4.0.4-7x.18 に必要とされています
popt = 1.6.4は rpm-python-4.0.4-7x.18 に必要とされています
librpm-4.0.4.so は rpm-python-4.0.4-7x.18 に必要とされています
librpmdb-4.0.4.so は rpm-python-4.0.4-7x.18 に必要とされています
librpmio-4.0.4.so は rpm-python-4.0.4-7x.18 に必要とされています
#

あぁぁ,やっぱりだめだったか・・・
これを見ると,popt 1.6.4というのが必要になりそうだ.そういえばこいつ,前回rpmを4.0.4にアップデートしようとしたときも表示されていたな.というわけで,fedoralegacyのサイトから,poptを無理矢理探し出した.どうせほかのrpmパッケージと同じディレクトリにあるんでしょ?と思ったら案の定ありましたぜ,旦那.

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.3/os/i386/p
opt-1.6.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/popt-1.6.4-7x.18.i386.rpm を
取得しています
エラー: 依存性の欠如:
popt = 1.6.3は rpm-4.0.3-1.03 に必要とされています
popt = 1.6.3は rpm-devel-4.0.3-1.03 に必要とされています
popt = 1.6.3は rpm-python-4.0.3-1.03 に必要とされています
#

なんでだぁ!わけがわからん!
ちょっと冷静になってみよう.そういえばCYBERAM Documents Project…RPMコマンドのページに,こんな記述があった.

お互い依存関係にありインストールできない場合は、
#rpm -ivh hogehoge-3.5-1.i386.rpm honyarara2.1.i386.rpm
と入力します。

そうか,つまり,全部一緒にrpmコマンドの中にぶち込めばいいのか!
で,早速やってみた.

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.3/os/i386/p
opt-1.6.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm
-4.0.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-py
thon-4.0.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/popt-1.6.4-7x.18.i386.rpm を
取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-4.0.4-7x.18.i386.rpm を
取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-python-4.0.4-7x.18.i386.
rpm を取得しています
エラー: 依存性の欠如:
popt = 1.6.3は rpm-devel-4.0.3-1.03 に必要とされています
rpm = 4.0.3は rpm-build-4.0.3-1.03 に必要とされています
rpm = 4.0.3は rpm-devel-4.0.3-1.03 に必要とされています
librpm-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmbuild-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmdb-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmio-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
#

だんだん腹が立ってきた・・・こうなったらやけっぱちだ.ここのエラーに出てきたもの全部まとめてインストールしてやる!これでどうだ!

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.3/os/i386/p
opt-1.6.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm
-4.0.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-py
thon-4.0.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386/rp
m-build-4.0.4-7x.18.i386.rpm http://download.fedoralegacy.org/redhat/7.3/os/i386
/rpm-devel-4.0.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/popt-1.6.4-7x.18.i386.rpm を
取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-4.0.4-7x.18.i386.rpm を
取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-python-4.0.4-7x.18.i386.
rpm を取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-build-4.0.4-7x.18.i386.r
pm を取得しています
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-devel-4.0.4-7x.18.i386.r
pm を取得しています
Preparing… ################################ [100%]
1:popt ################################ [ 20%]
2:rpm ################################ [ 40%]
3:rpm-python ################################ [ 60%]
4:rpm-build ################################ [ 80%]
5:rpm-devel ################################ [100%]
#

すばらしいすばらしい!訳の分からない依存性の問題もクリアして,なんとかrpmをインストールすることができたようだ.これでやっとyumのインストールができそうだ.

立ちはだかるrpmの依存性問題

水曜日, 10月 27th, 2004

Fedora LegacyのUsing Fedora Legacy’s yum for Red Hat Linux 7.xというドキュメントと,パッケージを最新に保つ(yum,aptの導入)Shotaro Online)の二つを参考にしながら作業を進める.
step 1:準備
1.root権限でログインする

$ su –
Password:
#

2.必要なパッケージを確認する
 yumを利用するには,gnupg, python,rpm-pythonが必要なため,チェックを行う.

# rpm -q gnupg python rpm rpm-python
gnupg-1.0.6-3
python-1.5.2-35
rpm-4.0.3-1.03
rpm-python-4.0.3-1.03
#

あ,みんなインストールされているみたいだ.rpmパッケージの最新版は4.0.4らしいのだが,Documentationには「RedHat7.3の場合,全部あるならとりあえず問題ないよ」と書いてあったので,そのままにしておこう.
step 2:yumのインストール
 ところが,世の中そんなに甘くはなかった.意気揚々とyumをインストールしようとしたところ,以下のようになってしまった..

# rpm -ivh http://download.fedoralegacy.org/redhat/7.3/legacy-utils/i386/yum-1.0
.3-6.0.7.x.legacy.noarch.rpm
http://download.fedoralegacy.org/redhat/7.3/legacy-utils/i386/yum-1.0.3-6.0.7.x.
legacy.noarch.rpm を取得しています
エラー: 依存性の欠如:
rpm-python >= 0:4.0.4は yum-1.0.3-6.0.7.x.legacy に必要とされています
rpm >= 0:4.0.4は yum-1.0.3-6.0.7.x.legacy に必要とされています
#

あれあれ??結局rpm,rpm-pythonともに4.0.4にアップデートしなきゃいかんのか...
legacyのDocumentationには,

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.2/updates/i386/rpm-4.0.4-7x.i386.rpm

とあったが,7.3ではなく7.2なのが怖くて,以下のように7.3用のrpmをダウンロードしてアップデートしようと試みた.

# rpm -Uvh http://download.fedoralegacy.org/redhat/7.3/os/i386/r
pm-4.0.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-4.0.4-7x.18.i386.rpm を
取得しています
エラー: 依存性の欠如:
popt = 1.6.4は rpm-4.0.4-7x.18 に必要とされています
rpm = 4.0.3は rpm-build-4.0.3-1.03 に必要とされています
rpm = 4.0.3は rpm-devel-4.0.3-1.03 に必要とされています
rpm = 4.0.3は rpm-python-4.0.3-1.03 に必要とされています
librpm-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpm-4.0.3.so は rpm-python-4.0.3-1.03 に必要とされています
librpmbuild-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmdb-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmdb-4.0.3.so は rpm-python-4.0.3-1.03 に必要とされています
librpmio-4.0.3.so は rpm-build-4.0.3-1.03 に必要とされています
librpmio-4.0.3.so は rpm-python-4.0.3-1.03 に必要とされています
#

アップデートがいけないのかと思い,インストールオプションを変更して再チャレンジ

# rpm -ivh http://download.fedoralegacy.org/redhat/7.3/os/i386/r
pm-4.0.4-7x.18.i386.rpm
http://download.fedoralegacy.org/redhat/7.3/os/i386/rpm-4.0.4-7x.18.i386.rpm を
取得しています
エラー: 依存性の欠如:
popt = 1.6.4は rpm-4.0.4-7x.18 に必要とされています
#

むむむ・・・結局rpmの依存性の問題からは逃れられないのか.ここは次回またチャレンジすることにして,今日はもう寝ることにしよう.

The Fedora Legacy Program

水曜日, 10月 27th, 2004

 そろそろ実際のアップデート作業を始めたいのだが,まだそこにすらたどり着けていないちなである.調べていくうちになんとなく全体像が見えてきたので,簡単にまとめてみることにした.

 Red Hat LinuxやFedora Coreの高品質なアドオンパッケージの開発を行うためのコミュニティプロジェクトがfedora.usである.
 2004年にfedora.redhat.com上のfedora projectと合併され,現在はfedora extrasとなった.ここではRedHat8.0,9,Fedora Coreあたりを取り扱っている.
 いっぽう,ここで取り扱われない昔のディストリビューションについては,The Fedora Legacy Projectで取り扱うことになっている.

 つまり,RedHat Linux 7.3を対象としているのであるから,fedora legacyを見ればよい,ということになる.うん,話が簡単になってきた.
 そしてまさにそのやり方は,fedora legacyのDocumentationのページの,Getting started…以降に書いてあった.しかしここをみると,RedHat 7.x用のaptは存在せず,yumを利用するしかなさそうだ.まあそれでも本来の目的は達成できるのだから,これはこれでいいのか...
 ちなみに,トップページからはDownloadのページにも行けるが,ここはマニュアルでアップデートをしたいユーザ向けのページなので,注意すべし.

aptの罠 ~Fedora ExtrasとFreshRPMS

火曜日, 10月 26th, 2004

 今回挑戦するのは,aptをちなが管理しているサーバにインストールする作業である.

ネットワーク経由で必要なパッケージのダウンロードやダウンロードしたパッケージのインストールなどを行うため、apt for RPMというツールをインストールする必要があります。

とにかく,そのaptとやらをどこかから持ってこればよいのだ.

apt for RPMはfedoraプロジェクトの前身で現在Fedora Extraという別プロジェクトにて提供が行われています。

現在はコマンドの入力で簡単にインストールができるようになっているらしいが,このページではRedHat8.0のやり方しか書かれていなかったため,仕方なくFedora Extrasのサイトを見に行くことにした.
 最初だからとりあえず読んでおこうと思い,How toページを見てみた.ところがここには,RedHat 7.3のことは一言も書かれていない.どうやら8.0以上しかaptは用意されていないようだ.
 うちひしがれながらもうちょっと検索してみることにする.するとRedHat Linux で aptコマンドを使おうwhzat@自宅Webサーバー)というページを発見した.ここは最終更新が2003年12月とちょっと古かったが,ここに載っていた情報では,FreshRPMSというサイトがaptの配布元であり,ここで情報が入手できるとのことであった.そこで,わけもわからず早速FreshRPMSへ行ってみる.
 トップページに[Apt]の表示を発見したのでそれをクリックする.すると,aptについての英文の説明ページが表れた.なになに,aptはrpmパッケージになったので使いやすくなった,RedHatでも使える,ダウンロードはhttp://apt.freshrpms.net/からどうぞ,みたいな内容が書いてあるようだ.
 しかしここではたと立ち止まる.なぜFedora Extrasには7.x用のaptが無くて,FreshRPMSにはあるのだろう?それでまたまた調べることにした.すると,Fedora Users FAQというページに以下のような記述を見つけた.

fedora.usは、FreshRPMSや他のリポジトリとどうちがうのですか?
FreshRPMSのような、他の多くのリポジトリは、一人の人間によって作られています。Fedoraは、より多くの、高品質なパッケージを抱えることが可能です。なぜなら、共通の信頼あるリポジトリで、共同で働いているパッケージ開発者が大勢いるからです。共同で開発されているパッケージリポジトリが高品質なパッケージを生み、クラッシュする機会を減らすようになることは、我々の信条でもあります。fedora.usと衝突しない、高品質な、共同開発のリポジトリとしては、rpm.livna.org、jpackage.orgがあげられます。

これは,Fedora ExtrasのFAQの和訳のようだ.
 つまり,FreshRPMSは個人運営のサイトであり,やっぱり使うならfedora(Fedora Extras)のようなちゃんとしたところだよな,ということだ.そうなると,FreshRPMSではなくFedoraを使いたくなるのが人情.というわけで,再び情報集めに奔走することとなった.