Vitruvian Penguin
knoppix

[knoppix:2141] mkwritableというシェル手続きを作りました。

Date: Sat, 27 Sep 2003 02:21:48 +0900
X-mailer: Microsoft Outlook Express 6.00.2800.1158
宮脇です。こんばんは。

河野さんの投稿を見て、題記の件のアナウンスを思い立ちました。

CDROMにシンボリックリンクが張られた先のファイルを更新しようとすると、
苦労しますよね。
それが、/binや/libの中のファイルだったりすると、至難の業です。

以前、Live Linux2を使っていた頃、便利なコマンドが提供されていました。
mkwritable というコマンドです。
パラメータはパス名を1つ指定するだけですが、そのパス名で指定される
ファイルやディレクトリをRAMディスクに移動して書き込み可能な状態にして
くれるというもの。数階層上のディレクトリからCDROMになっていた場合は、
途中のディレクトリもRAMディスク上に作ってくれて、それらのディレクトリ内
の他のファイル/ディレクトリのエントリはCDROMへのシンボリックリンクに
なります。

このコマンド、便利だったので、KNOPPIXにも欲しいと思って作ってみました。
Live Linux2ではバイナリ形式のコマンドでしたが、私は、シェル手続きで作り
ました。私のサイト「KNOPPIX実験室」の以下のURLからダウンロードできます。
http://www.h2.dion.ne.jp/~miyawaki/knoppix/linuxrc2/linuxrc2.d/bin/mkwritable

使用例としては、例えば、

mkwritable /usr/lib/menu

を実行すると、

# mkdir /ramdisk/usr
# ln -s /KNOPPIX/usr/* /ramdisk/usr/
# rm /ramdisk/usr/lib
# mkdir /ramdisk/usr/lib
# ln -s /KNOPPIX/usr/lib/* /ramdisk/usr/lib/
# rm /ramdisk/usr/lib/menu
# mkdir /ramdisk/usr/lib/menu
# ln -s /KNOPPIX/usr/lib/menu/* /ramdisk/usr/lib/menu/

という一連のコマンドを実行してくれます。

/binや/libの中のファイルやディレクトリも、一部を除いて、同様に使用できます。

ただし、/etcは、たしか、うまくいかなかったと思います。理由は、/etcは/ramdisk
上ではなく、ルートファイルシステム(別のRAMディスク)にあるからです。
KNOPPIX実験室にアップしている修正版のlinuxrcでは/etcを/ramdisk/etcに
移動する処理が入っています。これを使うと、/etc配下のファイル/ディレクトリ
にもmkwritableできるようになります。反面、私のサイトにアップしている修正版の
saveconfig(KNOPPIXの設定の保存)が使えなくなります。オリジナルのsaveconfig
は確か、使えたと思いますが、/cdromにマウントされたFAT32パーティションには
保存できません。

以上です。活用していただけると幸いです。
<Prev in Thread] Current Thread [Next in Thread>