#navi(:LiveCD)
 *LiveCD/USBメモリへのデータ保存 [#j114a458]
 河豚板はCD-ROM単体で運用することができますが、電源を切ると mfs (メモリファイルシステム) 上のデータはすべて消えてしまいます。また、ネットワークなどの設定値は、起動時に毎回手で入力する必要があります。
 
 そのような不便を解消するため、河豚板では、各種設定値やホームディレクトリ上のデータなどをUSBメモリに保存し、次回ブート時に復帰させる機能を持っています。
 ----
 #contents
 **USBメモリの準備 [#l704678d]
 -USB版の河豚板を使用している場合は、特に事前準備は必要ありません。
 次項の「データの退避」の手順をそのまま実行できます。
 --河豚板のシステム本体はUSBメモリ内の a パーティションにあり、退避するデータは d パーティションに保存されます。
 
 -CD-ROM版の河豚板で運用していて、USBメモリにデータを退避したい場合も[[インストールと起動・終了>:LiveCD/02_startup]]で説明した方法でUSBメモリ版の河豚板を作成し、それを使用できます。
 //
 // 以下は、Tipsに移動すべき
 //
 //**USBメモリの初期化 [#y3341308]
 //+LiveCDを立ち上げ、rootでログインします。~
 //(以下、USBメモリが/dev/sd0として認識されているとして説明します)
 //+fdiskを実行
 // # fdisk -e sd0
 //>(註)USBメモリによっては、BIOSからディスクジオメトリ情報を取得できず、その結果、fdiskが正常に実行できない場合があります。そのときはシリンダ/ヘッド/セクタの各数値を明示的に指定してfdiskを実行します。例えばdmesgの出力から、目的のUSBメモリがデバイスsd0でサイズが248MBと認識されていたとすると以下のようになります;
 // # fdisk -c 248 -h 64 -s 16 -e sd0
 //決め打ちでヘッド数を64, 1トラックあたりのセクタ数を16とすれば、1セクタ当たり512バイトなので、~
 //''64 * 16 * 512 = 1024 * 1024''~
 //となり、1トラックあたり丁度1メガバイトとなります。よってメガバイト単位での容量をシリンダ数として指定すれば良い(上の例の''-c 248'')ことになります。
 //<
 //これ以降はHDDなどへの通常のパーティション/ファイルシステム作成と同じです。
 //+fdiskパーティションとしてOpenBSD (ID=0xA6)確保します。
 //+disklabelを使って ''dパーティション'' を確保します。
 // # disklabel -E sd0
 //+dパーティションをフォーマットします。
 // # newfs -b 4096 -f 512 -i 1024 /dev/rsd0d
 //保存内容としてはシンボリックリンクやサイズの小さなファイルが多数含まれるため、ブロック/フラグメントサイズを最小にし、iノードの数も多めに設定するとよいです。
 //+保存用ディレクトリを作成
 // # mount /dev/sd0d /mnt
 // # mkdir /mnt/livecd-config
 // # umount /dev/sd0d
 //
 //以上で保存メディアの初期化は終了です。
 **データの退避 [#j0bbb5be]
 +mfs上のファイルをUSBメモリ退避するには、/boottmp/usbfadm というユティリティを使用します。
  # /boottmp/usbfadm
  Welcome to USB flash maintenance tool.
  
       Boot mode: manual
  
  Type ? for help.
  
  ?:? ->
 +まずrescanコマンドを使用してUSBメモリを認識させます。
  ?:? -> rescan
  
  Rescanning USB flash
  Please make sure the device inserted.
  Then press ENTER -->
  
  USB flash memory found as sd0
 +次に、dsnコマンドを使用して保存するデータに名前を付けます。保存対象は、/mfs以下の全てのファイルなので、/etc以下の設定ファイルや/home以下のユーザデータなどが含まれます。~
 名前を省略した場合、ホスト名がデフォルトの名前として使用されるようになっています。
  /dev/sd0d:? -> dsn
  
  Enter data set name [csfw1.localnet] -> emgproxy
  
  Now data set name is set to ``emgproxy''.
 +syncコマンドを実行し、データの保存を実行します。
  /dev/sd0d:emgproxy -> sync
  
  Sync current mfs as emgproxy, OK? -> y
  
  building file list ... done
  created directory /mnt/livecd-config/emgproxy
  ./
  etc/
  etc/bgpd.conf
  etc/boot.conf
    :
    :
  var/yp/Makefile.yp
  var/yp/Makefile.yp.dist
  var/yp/README
  
  sent 16455591 bytes  received 232568 bytes  180412.53 bytes/sec
  total size is 15492096  speedup is 0.93
 +infoコマンドで、保存されたデータの情報を表示させ、確認してみます。
  /dev/sd0d:emgproxy -> info
  
  
  Filesystem     Size    Used   Avail Capacity  Mounted on
  /dev/sd0d      218M   18.9M    179M   9.6%    /mnt
  
  scanning...
  
  18.9M   emgproxy
 +データが無事に保存されているようなら、終了します。
  /dev/sd0d:emgproxy -> bye
  
  #
 **データの復帰 [#aeabe7fe]
 保存したデータは、次回以降の起動時に復帰させることができます。~
 ブートモードの選択で''2: retrieve user data from USB flash memory''を選択します。
  Select boot mode;
     0: clean boot
     1: clean boot (lower memory, faster boot)
     2: retrieve user data from USB flash memory
     3: retrieve user data from floppy disk
     4: interactive shell for debugging
  -->2
  USB flash memory found as sd0
  available configs;
  
  emgproxy
  
  your config name? -> emgproxy
  Copying files from flash to mfs ... done
 保存したデータ名を指定すると、退避させていたデータを復帰したあと、起動が続行されます。各種パラメータ等もすべて設定済みなので、clean bootと違い、各種設定の入力は求められません。
 
 起動後であればいつでも、/boottmp/usbfadmユティリティを用いてデータを退避させることができます。
 2回目以降のデータ退避では新規保存の場合と比べ、以下の点が異なっています;
 -変更があったファイルのみ保存が行われます。
 -/mfs上にファイルがない場合、USBメモリ上のファイルも消去されます。
 -デバイス名と保存データ名称はあらかじめ設定されているので設定する必要はなく、いきなりsyncコマンドを実行してもOKです。
 -別名を付けて保存する場合はdsnコマンドで名前を設定後、syncを実行します。
 
 注意: シャットダウン時にはデータの退避は自動的には行われません。手動で実行する必要がありますので注意が必要です。
 #navi(:LiveCD)
 
 
Top Index Search Recent Backups  Help  RSS