【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

mywkfmnrのホームページ

フリーページ

お気に入りブログ

水上ドローンの作成… CPU4Eduさん

源氏物語の世界 jooxさん
一日一冊:読書日記… 本のソムリエさん
2004年06月25日
XML
カテゴリ:カテゴリ未分類
(2004/6/24の日記から続く - 日記サイズ制限のために分割したものです。)

1.CDROMのカスタマイズとFAT32インストール

(2004/6/24の日記 参照)

2.KNOPPIX実験室で提供するKNOPPIXのカスタマイズ手段

KNOPPIX実験室では、KNOPPIXを簡単にカスタマイズするために以下のようなツールを提供しています。

(1)mkwritable - cloopの中にある、一見、更新不可能に見えるファイルを更新するためのツール

(2004/6/24の日記 参照)

(2)linuxrc2 - cloopの中のファイルを書き換えるような設定を読み込む、KNOPPIX実験室独自のブートオプション


このオプションを指定すると、以下のファイルを追加・更新します。
・/usr/sbin/mkwritable (追加)
・/etc/init.d/knoppix-autoconfig (更新)
・/usr/sbin/mkpersistenthome (更新)
・/usr/sbin/mkdosswapfile (更新)
・/usr/sbin/saveconfig (更新)
これらのファイルにどのような修正を入れているのかについては、KNOPPIX実験室の実験1-1で説明しています。

さらに、これらのファイルを追加・更新した後で、以下の処理も行われます。これが、KNOPPIXのカスタマイズには、かなり重宝すると思います。

(a)/cdrom/KNOPPIX/linuxrc2.d/files.dディレクトリ配下のファイル・ディレクトリを、ルートディレクトリ配下にディレクトリ構造を保ってコピーされます。
例えば、/cdrom/KNOPPIX/linuxrc2.d/files.d/etc/profile というファイルがあれば、/etc/profileにコピーされます。
もし、コピー先のファイルがcloopの中のファイルなら、mkwritableで更新可能にしてからコピーされます。
また、コピー先に無いフォルダやファイルは、新規作成されます。
/cdromはFAT32ブートだと、FAT32パーティションにマウントされていることに注意してください。CDROMを焼きなおさなくても、FAT32パーティションにファイルを置いておくだけで、cloopの中のファイルを更新できるのです。便利な機能だと思いませんか?
欠点は、(i)コピー先のパス名に英大文字が1文字でも入っていると、うまくいきません。
(ii)シンボリックリンクや、ファイルモード、ユーザ・グループなど、FAT32に無い機能は使えません。

しかし、この欠点を心得た上で使い道を探すと、意外に便利に使えます。

(b)/cdrom/KNOPPIX/linuxrc2.d/sh.d/patch*.sh というスクリプトファイルがあれば、実行されます。
複数あれば、それらはアルファベット順に、逐次、実行されます。ただし、サブディレクトリは考慮されません。
これらは、主に以下のようなことを行うためにあります。
・シンボリックリンクを張りたい。
・パス名に英大文字を含むものを、(a)では英小文字のみでコピーしておき、ここで、英大文字を含むパス名にリネームする。
・その他、ファイルのコピー後に行うべき設定変更処理などがある。

複数のスクリプトファイルを持てるので、目的毎に小さなスクリプトを作っておき、必要に応じて使い分けることができます。
例えば、サブディレクトリが考慮され無いのを逆手にとって、普段使わないスクリプトはnotusedサブディレクトリなどを作って入れておき、必要なときだけ、親ディレクトリに移動して使うことができます。また、その逆もできます。

(c)/cdrom/KNOPPIX/linuxrc2.d/tbz.d/patch*.tbz というtarファイルがあれば、ルートディレクトリ配下にディレクトリ構造を保って解凍されます。
もし、解凍先のファイルがcloopの中のファイルなら、mkwritableで更新可能にしてから解凍されます。
tarファイルなので、英大文字のパス名や、シンボリックリンク、ファイルモード、ユーザ・グループなども使えます。
しかも、tbz形式なので、圧縮率も高く、(a)に比べて、貴重なFAT32領域を節約できるというメリットもあります。
複数のtarファイルがマッチすれば、それらはアルファベット順に、逐次、解凍されます。ただし、サブディレクトリは考慮されません。
tarファイルに固めるのは、簡単なようで、意外に面倒くさく感じることがありますが、tarファイルに固めておけば、cloopの中のどんなファイルでも更新できるのです。使い道によっては、便利な機能だと思いませんか?

複数のtarファイルを持てるので、目的毎に小さなtarファイルを作っておき、必要に応じて使い分けることができます。
例えば、サブディレクトリが考慮され無いのを逆手にとって、普段使わないtarファイルはnotusedサブディレクトリなどを作って入れておき、必要なときだけ、親ディレクトリに移動して使うことができます。また、その逆もできます。

(3)mkpatchlistとmkpatch - KNOPPIX実験室独自の設定保存ツール。


上の(2)(c)の機能で使用する「/cdrom/KNOPPIX/linuxrc2.d/tbz.d/patch*.tbz」というtarファイルの作成を支援するツールです。
tarファイルに固めるというのは、何かのインストール用のtarファイルを作るときのように、1つのフォルダを丸ごとtarファイルにバックアップするというときには簡単に行えるのですが、設定の保存用のtarファイルでは、あちこちのファイルを少しずつ集めてきて1つのtarファイルに固めることになるので、これを手作業でやろうとすると、煩雑な作業になりかねません。
saveconfig(KNOPPIXの設定の保存)では、この部分を強引に単純化しているので、簡単に使える半面、すぐに限界に突き当たってしまいます。

このツールは、逆に、制限は少ないのですが、saveconfigほど簡単には使えません。KNOPPIXのカスタマイズ版のCDを作りたいと考えている人が使うことに限定して考えていると言った方が良いくらいかもしれません。
KNOPPIXのカスタマイズ版のCDを作るということは、いわば、Linuxの新たなディストリビューションを開発するということです。上の(2)の機能を使ってKNOPPIXをカスタマイズする場合、その開発とは、要するに、ブート時にどのファイルを書き換え、どのファイルはそのまま残すかといったことを決めることだと言えるでしょう。ですから、この場合、tarファイルに何を保存するかといったようなこともツール任せにすべきではなく、仮にツールを使用したとしても、開発者がチェックして責任を持てる形にする必要があると考えました。この結果、設定保存ツールは、2つに分かれました。以下のようにして使います。
(i)mkpatchlist - tarファイルに保存するファイルの候補一覧を作成します。
(ii)kwriteなどのテキストエディタを使って、この候補一覧を開発者がチェックし、必要なら修正します。
(iii)mkpatch - 候補一覧で指定されたファイルをtarファイルにtbz形式で出力します。

これらの使い方に関する、より詳しい説明は、「2004年1月10日の日記 KNOPPIXの設定を保存する機能について」に書いてあります。(でも、ちょっと着眼点が違うようですね。近日、ここでも、もう少し説明を加えます。)

(以下は、近日中に加筆・修正するつもりです。)

(4)継続的ホームディレクトリにインストールしたプログラムをブート時にシステムに組み込むためのツール


(5)CDROM内に継続的ホームディレクトリの圧縮イメージを持ち、ブート時にRAMディスクに展開して使用可能にする機能


(6)ブート時のトラブル調査のためのログを収集する機能



3.関連記事

(2004/6/24の日記 参照)




過去のKNOPPIX関連日記一覧はこちら

KNOPPIX実験室







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2004年08月01日 18時23分06秒
コメント(0) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。


PR


© Rakuten Group, Inc.