基本的なアプローチは前回と同じ。
- knoppix.sh
- configs.tbz(2008/05/01)版
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を更新して)ネットワーク上に
保存するようになる。