まずインストールCDの参照をやめる。

"ソフトウェアの追加と削除"(pirut、[アプリケーション〕⇒〔ソフトウェアの追加と削除〕)を起動する。〔編集〕メニューから〔リポジトリ〕管理画面(リポジトリーマネージャー)を起動する。

「InstallMedia」からチェックを外して閉じるだけでOK。
なお、この動作で、/etc/yum.repos.d/Fedora-install-media.repo の"enabled"が"1"から"0"に変わる。(テキストエディタでこちらを直接変更してもOK。)

# cat /etc/yum.repos.d/Fedora-install-media.repo 
[InstallMedia]
name=Fedora 8
mediaid=1194015817.785821
metadata_expire=-1
gpgcheck=0
cost=500
enabled = 0

ISOイメージを参照するようにする。

まず、ISOイメージファイルをローカルにマウントして参照出来るように準備する。最初にFedora ProjectのホームページからISOイメージをダウンロードするか、DVDからISOイメージをコピーする。ここではFedora-8-x86_64-DVD.isoという名前のファイルに保存する。次の例はDVDからISOイメージをコピーする場合。

# dd if=/dev/sr0 of=/home/DVD/Fedora-8-x86_64-DVD.iso bs=500MB

次に適当なディレクトリにISOイメージをマウントする。ここでは /media/Fedora8 とする。

# mkdir /media/Fedora8
# mount -o ro,loop /home/DVD/Fedora-8-x86_64-DVD.iso /media/Fedora8

なお、定常的にISOイメージをマウントして使うのであれば /etc/fstab に次の一行を加えておく。

/home/DVD/Fedora-8-x86_64-DVD.iso	/media/Fedora8	iso9660	ro,loop	0 0

先程同様に"ソフトウェアの追加と削除"(pirut)を起動し、〔編集〕メニューから〔リポジトリ〕管理画面(リポジトリーマネージャー)を起動する。〔追加〕ボタンを押して「新リポジトリーを追加」画面を出す。先程設定したISOイメージのマウント先のディレクトリを指定する。

〔OK〕ボタンを押し、リポジトリーマネージャーで今設定した項目(この場合はFedora-8-DVD)にチェックがついていることを確認して閉じる。

以上で終了である。あとはこの設定のまま使えばいい。
なお、動作で、/etc/yum.repos.d/Fedora-8-DVD.repo というファイルが生成される。(多分、テキストエディタで直接作っても良いかと思うが、未確認。)

# ls /etc/yum.repos.d/
Fedora-8-DVD.repo        Fedora-install-media.repo  fedora-updates.repo
fedora-development.repo  fedora.repo                fedora-updates-testing.repo

# cat /etc/yum.repos.d/Fedora-8-DVD.repo 
[Fedora-8-DVD]
enabled = 1
name = Fedora 8 DVD
baseurl = file:///media/Fedora8
gpgcheck = 0

なお、DVDの内容は基本的に変わらないので生成された定義ファイルに"metadata_expire=-1"を追加しておいた方が良いかも。

automountを使ってネットワークでISOイメージを共有する

ネットワークでFedoraをインストールしているマシン毎にISOイメージをHDDに置くのはもったいない。その場合はNFSとautomountを使って必要なときにマントして使うのがいいだろう。
まず、ファイルサーバにて、ISOファイルをマウントしているディレクトリをNFSで外部からアクセスできるように /etc/exports に追加しておく。

[root@server-01 ~]# cat /etc/exports
media/Fedora8          192.168.0.0/24(ro,sync,no_root_squash)

NFSデーモンの再起動を忘れないように。)

次にクライアント側でautofsの設定おこなう。ここでは、/misc/Fedora8 とautomountのマウントポイントとして使う。従って /etc/auto.master はデフォルトのままでOK。念のため次の行が有効になっていることを確認する。

/misc   /etc/auto.misc

/etc/auto.miscは次のように設定する。

# cat /etc/auto.misc
#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

Fedora8         -ro,soft                server-01:/media/Fedora8
cd              -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
			:
			:

後は先程と同様にリポジトリーマネージャーを使って設定するが、DVDへのアクセスパスは /misc/Fedora8 とする。

ちなみに、サーバでもローカルにautomountするように設定しておけば、全てのマシンでリポジトリーマネージャーは同じ設定なってすっきりする。

「インストールCDが必要?」は解決

インストールCDが必要?」で失敗した"インストールCDをISOファイルへ振り替える方法"が分かった。

Fedora 8からはソフトウェアの追加や削除(pirut)、更新(pup)を行なおうとするとインストールCD(DVD)をCDドライブにセットしろ、と要求が出ることがある。

追加や更新するソフトウェアをネットから調べる前にローカルのCD(DVD)からインストールできないか調べるのだが、常にインストールDVDを用意しておく必要も出てくるので不便な面もある。HDDは100GB以上が主流になっているので、インストールDVDのISOイメージ(約4GB)をHDDに置いておくことはそれ程負担にはならないので、このISOイメージから読み込めないか試してみた。
前回は、無理やり /media の下にISOイメージファイルをマウントしてみたが、上手く行かなかった。その後、DVD等をドライブに挿入すると自動的にマウントするgnome-mountの設定で、pirutやpupに"あたかもDVDがセットされたように"錯覚させる方法ないかと調べたが、それも無理そうだった。

しかし、たまたま別件でGoogleっていたらたまたま次の2つのWebページを見つけることができた。

  1. パッケージマネージャでCDを要求されるのを停止
  2. DVDからパッケージをインストールするには

1はインストールCDの要求をしないようにする方法、2はpirutにたいしてネットワークからではなくDVDのみからソフトウェアを追加するようにする方法について書いている。この2つを組み合わせれば「インストールDVDを要求せずに、ローカルなDVDから追加、更新」が可能となる。以下にその手順をまとめておく。