2002/10/25 kumagai
- 電源強制断対応
- 復旧方法提供
- オートログイン(未記入)
- 使用上のカスタマイズ機能を持つ(未記入)
- HDDをシステム領域、バックアップシステム領域、保存領域、バックアップ領域に分けて、
起動時に保存領域からRAMに展開、シャットダウン時にRAMから保存領域に書き戻す- システムトラブル時にバックアップシステム領域から起動、バックアップデータから復旧をする
- tck/tk,Python などでカスタマイズメニューを作る
サイズ hda1起動時 hda2 起動時 hda1 2GB / /sys/system hda2 2GB /sys/setup / hda3 - - - hda4 4GB以上 (hda5,hda6) (hda5,hda6) hda5 2GB /sys/arc /sys/arc hda6 2GB /sys/backup /sys/backup
ram0=/dev/ram0 ram1=/dev/ram1 ram2=/dev/ram2 ramdisk=/sys/ramdisk systemdata=$ramdisk/.systemdata userhome=$ramdisk/userhome userdata=/user arc=/sys/arc
+ dev (ram0) + sys luser システム関連ディレクトリ | + arc (hda5) | | + systemdata システム設定ファイル | | + userhome ユーザーホームディレクトリ | | + userdata ユーザーデータ | + ramdisk (ram1) | | + .systemdata $arc/systemdata からロード&セーブ | | + userhome $arc/userhome からロード&セーブ | .+ netscape | + cache ->/tmp/user/.netscape/cache | + backup (hda6) | | + bin バックアップ関連コマンド | | + system hda1 のバックアップ | | + setup hda2 のバックアップ | | + arc hda5 のバックアップ | + system hda1 のマウントポイント | + setup hda2 のマウントポイント + home | + user ->$userhome + user (ram2) + lib | + modules | + 2.2.16-22LL6 | + modules.dep ->$systemdata/lib/modules/2.2.16-22LL6/modules.dep + etc | + mtab ->/proc/mouts | resolv.conf ->$systemdata/:etc/resolv.conf | + aliases.db ->$systemdata/etc/aliases.db | + HOSTNAME ->$systemdata/etc/HOSTNAME | + ioctl.save ->$systemdata/etc/ioctl.save | + issue ->$systemdata/etc/issue | + modules.conf ->$systemdata/etc/modules.conf | + remove_old.conf ->$systemdata/etc/remove_old.conf | + sysconfig | + hwconf ->$systemdata/etc/sysconfig/hwconf | + keyboard ->$systemdata/etc/sysconfig/keyboard | + network-scripts | + ifcfg-eth0 ->$systemdata/etc/sysconfig/network-scripts/ifcfg-eth0 + tmp ->$systemdata/tmp + var ->$systemdata/var + lock ->$systemdata/var/lock + log ->$systemdata/var/log + run ->$systemdata/var/run + spool ->$systemdata/var/spool + tmp ->$systemdata/var/tmp
01).起動時に /etc/rc.d/ramdisk start によりラムディスク設定をして、全てのパーティションをリードオンリーに設定する。
start() { action "Setting hard disk parameter" /sbin/hdparm -d1 -c3 /dev/hda action "Remounting root filesystem in read-only mode" mount -n -o remount,ro / action "Creating dev ramdisk" mke2fs $ram0 action "Creating system/userhome data ramdisk" mke2fs $ram1 action "Creating user data ramdisk" mke2fs $ram2 action "Premounting dev ramdisk" mount -n $ram0 $ramdisk action "Loading dev ..." cp -a /dev/* $ramdisk action "Unmounting dev ramdisk" umount -n $ramdisk action "Overwrite mounting dev ramdisk" mount -n $ram0 /dev action "Mounting system/userhome data ramdisk" mount -n $ram1 $ramdisk action "Mounting user data ramdisk" mount -n $ram2 $userdata action "Mounting archive filesystem" mount -n -o ro /dev/hda5 $arc action "Loading system data ..." cp -a $arc/systemdata $systemdata action "Loading user home ..." cp -a $arc/userhome $ramdisk action "Loading user data ..." rsync -ax $arc/userdata/ $userdata/ action "Removing lost+found directory" rm -Rf /user/lost+found action "Creating save flag" touch $ramdisk/.save_flag }
02).終了時に /etc/rc.d/init.d/halt -> /etc/rc.d/ramdisk stop により /sys/arc を一瞬リードライトにして、変更点を書き戻す。
stop() { if [ -f $ramdisk/.save_flag ]; then runcmd "Removeing old data(s)" /usr/local/bin/remove_old runcmd "Remounting archive filesystem in read-write mode" mount -o remount,rw $arc runcmd "Saving system data etc ..." rsync -aux --delete $systemdata/etc/ $arc/systemdata/etc/ runcmd "Saving system data lib ..." rsync -aux --delete $systemdata/lib/ $arc/systemdata/lib/ #runcmd "Saving user home data ..." rsync -aux --delete $userhome/ $arc/userhome/ runcmd "Saving user data ..." rsync -aux --delete $userdata/ $arc/userdata/ runcmd "Remounting archive filesystem in read-only mode" mount -o remount,ro $arc fi }
- /etc/modules.conf が kudzu で変更できない。
- grub-install で失敗する。以下の手順でインストールできる。
#mv /etc/mtab /etc/mtab-
#sed 's/root/hda1/' mtab- > /etc/mtab
#grub-install /dev/hda
#mv /etc/mtab- /etc/mtab