ソフトウェアの追加と削除で
Fedora 8になってから「ソフトウェアの追加と削除」でソフトウェアを追加しようとするとインストールCDを入れろというメッセージが出てくるようになった。「ソフトウェアの更新」(pirus)でも出てくることがある。確かにネットワークからいちいちダウンロードしなくてもいいのならCD(DVD)からインストールした方がいいし、差分で済むのであればサーバ側の負担も少ない。
しかし、いちいちCDを入れるのも面倒くさい。追加ならまだしも不定期に行われる更新でDVDを要求されのはちょっと大変だ。1つしかないDVDドライブに常時インストールCDを入れておくのも不便だ。多分、yumの定義(設定、/etc/yum.repos.d/)でそうしているのだろうと思う。設定を変えてインストールメディアを見ないようにとも思ったが、それはそれで余り宜しくない。
インストールDVDのisoイメージを参照させる
プリンストールのWindowsでは良くやっていたが、インストールCDのイメージをHDDに置いておき、必要であればそこから読み込んでもらう方法がある。Windowsでは「D:\I386」の代わりに「C:\I386」を参照させるのが一般的だ。インストールする前にHDDに予めCDのイメージを「C:\I386」にコピーしてそこからインストールする方法でもいいし、通常にCDからインストールして、後でレジストリを書き換える方法もある。
同様のことをFedoraでもできないか。幸いにもHDDはありあまっている。4GB位は問題にならない。
アンチョクに考えたのはインストールDVDのisoイメージをHDDに置いておき、それを常時もしくは必要に応じて「/media/Fedora 8 x86_64 DVD」にマウントして使うという方法。インストールDVDをDVDドライブに入れると自動的にこのディレクトリにマウントされる。ひょっとしてyumはこのディレクトリのパスで見ているのではないか?と思った。(isoイメージをマウントするのではなくて、直接、中身のファイルを/media/Fedora 8 x86_64 DVDにコピーするという方法もあるが、それでちょっとイージー過ぎるし、私の環境ではルート・ファイルシステムに7GBしか割り当ててていないので入らない。シンボリックリンクするのも如何なものか。)
余りきちんと実験していないので、/media/Fedora 8 x86_64 DVDの下にインストールDVDの中身があれば大丈夫かどうか確認できていないが、マウントして、とりあえず影響のなさそうなソフトウェアを追加してみたが例のメッセージは出てこない。
いちいち手動でマウントするのも大変なので/etc/fstabに登録して置こうと、と思ったら....。
fstabで空白を含むpathの記述
「/media/Fedora 8 x86_64 DVD」は空白を含んでいる。シェルからのmountコマンドであれば「\(バックスラッシュ)」でblankをエスケープしてコマンドに渡せる。ならばfstabも同様だろうと思って次のように記述してみた。
/home/media/F8.iso /media/Fedora\ 8\ x86_64\ DVD iso9660 loop,ro,noauto,user,nodev 0 0
するといきなりNGである。「おいおい」と思いつつ、「"/media/Fedora 8 x86_64 DVD"」(ダブルクォテーションで囲む)、「'/media/Fedora 8 x86_64 DVD'」(シングル・クォテーションで囲む)とやってみたが、これらもNG。「う〜ん」、URL風に「/media/Fedora%x208%x20x86_64%x20DVD」でもダメ。だめもとで「/media/Fedora\x208\x20x86_64\x20DVD」でもダメ。
歴史的にUNIXはパスに空白を入れるという習慣はなかったから「fstabでは扱えないのかなぁ、でも、シェルから直接mountするとマウントできるしなぁ」としばらく落胆していたが、ふと、UNIX時代の記述方法であれば出来るかもと思って実験してみた。8進数による記述である。「え〜っと、16進の20って、10進で32だから、8進で....40か」ということで
/home/media/F8.iso /media/Fedora\0408\040x86_64\040DVD iso9660 loop,ro,noauto,user,nodev 0 0
Congratulations! 出来ました!
だいたい、fstabのman pageを見ると第6フィールドはdump対象かどうか、っていうのか未だに残っている。今時、あんまりdumpを使っているというのも聞いたことがない。(dumpは便利なコマンドで、UNIX系のコマンドでは好きなコマンドなのだが。ネット見ていると、最近はtarやSystem V系のcpioの方が多いようだ。) 大体、8進を使おうって人もいないだろう....。
追記(2008/01/20)
下記の方法は結果的にNGだった。PXEの設定をしていて、syslinuxというパッケージをダウンロードする際に、「CDをいれてくれ」というメッセージが出たので、ISOイメージをマウントして次へ進もうとしたが、認識してくれなかった。残念。
ISOイメージ・ファイルを「あたかも」CDのようにマウントできる方法があれば良いのだが。
追記(2008/02/13)
本件は解決した。「インストールCDが必要?は解決」を参照のこと。