2008/05/01

KnoppixにNetwork Diskを組み込む〜その2

基本的なアプローチは前回と同じ。

Network Diskは20080426版。
WebDavやftpなどネットワーク上に置く .networkdiskrcは、

#!/bin/sh
sudo updatedb &
#printenv > /tmp/env.log
#set > /tmp/set.log
umask 077
echo "SERVICECONF=$SERVICECONF" > .networkdisk.env
echo "SERVICEURL=$SERVICEURL" >> .networkdisk.env
echo "SERVICEHOST=$SERVICEHOST" >> .networkdisk.env
if [ "$SERVICECONF" != "" ]; then
        echo "get networkdisk.zip" | cadaver $SERVICEURL
else
        wget $SERVICEURL/networkdisk.zip
fi
unzip networkdisk.zip
if [ "$DISPLAY" != "" ]; then
        xload -geometry -0+0 &
fi
if [ "$USER" == "knoppix" ]; then
  sudo chmod 0777 /var/run/screen  
  sudo mv networkdisk-update /etc/init.d/                         
  sudo ln -s /etc/init.d/networkdisk-update \
    /etc/rc6.d/S10networkdisk-update                                                       
  sudo ln -s /etc/init.d/networkdisk-update \
    /etc/rc0.d/S10networkdisk-update                                 
fi
もう1つ、networkdisk.zip もネットワーク上、.networkdiskrc と同じところに 置く。このzipファイルには、持ち続けたいファイルを入れて置くとともに、networkdisk-updateと.networkdisk.updateを入れて置く。
networkdisk-updateの内容

#!/bin/sh
sudo -H -u knoppix ~knoppix/.networkdisk.update
.networkdisk.updateの内容

#!/bin/sh
umask 077
. ~/.networkdisk.env
cd /tmp
if [ "$SERVICECONF" != "" ]; then
  echo "get networkdisk.zip" | cadaver $SERVICEURL
else
  echo wget $SERVICEURL/networkdisk.zip
fi
unzip -l -qq ~/networkdisk.zip | awk '{print $4}' \
| xargs zip -u -qq ~/networkdisk.zip
cmp ~/networkdisk.zip networkdisk.zip
if [ $? ]; then
  cd ~knoppix
  if [ "$SERVICECONF" != "" ]; then
    echo "put networkdisk.zip" | cadaver $SERVICEURL
  else
    echo -e "bin\nput networkdisk.zip" | ftp $SERVICEHOST
  fi
fi
例えば、.emacsをnetworkdisk.zipに加えておけば、起動時にネットワークから.emacs (networkdisk.zipに含まれる)をダウンロードするので常に同じ設定でEmacsを使えるし、 .emacsを修正すれば、マシン終了時に(networkdisk.zipを更新して)ネットワーク上に 保存するようになる。



0 件のコメント :

コメントを投稿

Comments on Google+: