[0] Fedora7におけるLiveCDとかrevisorとか備忘録その1-[Id of Radiance ver.5]





■ Fedora7におけるLiveCDとかrevisorとか備忘録その1

 ちょっと需要があってCDブート(もしくはDVD、USBメモリブート)Linuxを作成する事に。
 CDブートLinuxは世に色々出ており有名どころではKnoppixだが、自分が求める環境には少々カスタマイズが必要でKnoppixそのままでは使えない。Knoppixのカスタマイズも試したけどクセがあって細かいカスタマイズが出来るようになるまでには時間がかかると判断し断念。

 まずはそれなりに使い慣れてるFedoraで、LiveCD、もしくはそのGUIフロントエンドである revisorを使う方向に落ち着いた。
 とは言えこの双方のツール自体未だ不完全ぽくクセがあってなかなか上手くいかない。とりあえず少しいじった中で把握…というかこうじゃね?という内容を羅列してきます。

 なおlivecd-tools-009-1.fc7、revisor-2.0.4.1-2.fc7を元に記述しています。
 また内容にはいーかんじでデタラメが混じってる可能性がありますので鵜呑みにしないで下さいw


○コンフィグ(キックスタート)ファイルは用意してからやったほうが良い。
 LiveCDだと長いコマンドオプション、revisorだとGUIで作成する内容を指定できるけど先にキックスタートのコンフィグファイルを作成してそれをカスタマイズ→読み込むようにした方がラク。
 コンフィグファイルはLiveCDのデフォルトのものを参考というかベースにするのが無難。 GUIのキックスタート作成ツールでksファイル作って読み込ませた事もあったけど、途中でエラー吐いて止まってしまった。
 ただしLiveCD用のサンプルファイルをベースにしても下手すると止まるので注意。

○止まった時は再起動が吉
 LiveCDの場合Pythonのエラー、revisorの場合フリーズして止まる事がままある。パッケージのダウンロード元が混んででダウンロードに失敗したパッケージがあった時や、コンフィグファイルに不備があると止まる。長々と時間かけた後に止まられると結構萎える。
 この場合、コンフィグファイルを正常なものに替えて再実行してもまた止まる事がある。どうやらエラーの時に色んなイメージファイルとかを掴んだまま放さないで落ちてるっぽい。裏でナニがどうなってるかはわかりにくいので素直にOSをリブートした方が早いと思われる。

○revisorはコンフィグファイルを正常に読んでないっぽい。
 コンフィグファイルでインストールするパッケージを取捨選択することができるが、 revisorでそれを読み込んでも上手く反映されてないよーな気がする。特ににパッケージを取り除く「-[パッケージ名]」の表記が悉く無視されてるよーな気がする。
 また、SELinuxの設定、タイムゾーンの設定もコンフィグの内容を無視してデフォルトに戻してるよーに見える。ひょっとしたら表面上の事だけかも知れないが。
ある程度コンフィグがまとまってきたらrevisorではなくLiveCDで作成した方が良いかもしれない。

○リポジトリは近場に
 コンフィグファイルでリポジトリを指定する「repo=〜」の記述があるが、デフォルトのままだと遅くてやってられないので近場を探して変更するが吉。

○LiveCDのisoイメージベース再作成には注意
 livecd-creatorの場合、既に存在するLiveCDのisoイメージをベースにパッケージを追加変更するとゆーマネができる。(オプション「--base-on、--package、--exclude-package」等参照)
 しかしながらまず「パッケージを取り除くだけ」というマネ、つまりは--exclude-packageだけを指定することができない。必ずナニかしらパッケージを追加しつつ、excludeしなければならない。
 そして、元のisoイメージの情報を完全に複製はしてくれないらしい点にも注意。具体的には言語、キーボード、タイムゾーン等の設定。日本語デフォルトになるよう作ったのにこれで再作成したら英語デフォルトに戻されてしまった。

○パッケージはしつこく消しても消えないモノがある
 詳細は不明。はっきり「消せ」としてるのにいつまでも残ってるパッケージがある。依存性があると思われてるのかもしれないが…。

○起動後の挙動について
 これはサンプルコンフィグファイル「livecd-fedora-desktop.ks」を見ると分かり易い。上記ファイルは「%post」で起動直後の挙動を記述しているが、そこに起動時の挙動を制御する「etc/rc.d/init.d/fedora-live」を作成するシェルを記述している。自動で行いたい処理を追加する場合はこのファイルに便乗するのも手である。

○時間差・自動ログイン
 上記fedora-liveの中でGUI起動時の時間差ログインの記述をしている箇所がある。
sed -i -e 's/\[daemon\]/[daemon]\nTimedLoginEnable=true\nTimedLogin=fedora\nTimedLoginDelay=3/' /etc/gdm/custom.conf
がそれ。見ての通り「/etc/gdm/custom.conf」に時間差ログインのパラメータ「TimedLoginEnable」「TimedLogin」「TimedLoginDelay」を書き込む処理であり、この行自身が時間差ログインを制御しているわけではない。ここを編集してユーザ名、ディレイ時間、そもそもの時間差ログイン有無などを設定できる。
 またこの3つのパラメータを「AutomaticLoginEnable=true」と「AutomaticLogin=[ユーザ名]」の2つに入れ替えると時間待ちをせず自動ログインするようになる。

○「ハードドライブにインストール」を消す
 livecd-fedora-desktop.ksで作成したブートイメージだと、ログインするとデスクトップ上に「ハードドライブにインストール」というショートカットが作成される。そういう環境向けにはいいだろうが、完全にCDブートに限定したい場合は少々邪魔である。このファイルの本体は[各home]/Desktop/liveinst.desktopというショートカットであり、削除すればデスクトップ上からアイコンが消えるのだが、元から存在するファイルではなくGUI起動時に後から生成されるファイルであり、例えばfedora-live内で
rm -rf /home/fedora/Desktop/liveinst.desktop
とかやっても消えてくれない。
 これは、GUI起動時に自動実行される「/etc/X11/xinit/xinitrc.d/zz-liveinst.sh」が毎回ショートカットを作成しているため。fedora-live内でこのファイルの実行権限を剥奪すると自動実行されなくなりアイコンは作成されなくなる。
chmod 000 /etc/X11/xinit/xinitrc.d/zz-liveinst.sh
○微妙な日本語の文字化け
 日本語環境に合わせてコンフィグファイルを作成する際には「lang」「keyboard」「timezone」の値をそれぞれそれっぽく編集する(※もちろん日本語フォントパッケージもインストールするが)。これは他の日本語対応で作成したキックスタートファイルを参考に「lang ja_JP」「keyboard ja106」「timezone Asia/Tokyo」とすれば良いが、このままだとビミョ−−−に文字化けするところがある。全部じゃなくてビミョーに起きるので質が悪い。
 これは「lang」が不完全なのが原因。むしろ元のlivecd-fedora-desktop.ksを参考に「lang ja_JP.UTF-8」と、マルチバイトの文字コードまで指定する必要がある。

 とりあえず気付いた点を列挙しました。また何か気付いたら追記します。

関連タグ:Linux
2007-10-19 [技術・作業]

関連記事: