早速、インストールのためのスクリプト作成で、役に立った。
(1)プロキシーの設定スクリプトをこんなふうに考えてみた
rm /etc/apt/apt.conf
echo -n "0:No proxy 1:proxy(NoAuth) 2:proxy(Auth):"
read yn
if [ $yn = "0" ]; then
:
else
cp apt_skt.conf /etc/apt/apt.conf
echo -n "input ip-address & port for proxy(e.g. 172.*.*.*:port):"
read iport
sed -i -e "s/userpass@ipport/$iport/g" /etc/apt/apt.conf
if [ $yn = "2" ]; then
echo -n "input userID & password for proxy(e.g. user:pass):"
read pwd
sed -i -e "s/$iport/$pwd@$iport/g" /etc/apt/apt.conf
fi
fi
(2)インストール失敗したら、再インストールするためのスクリプトを考えてみた
apt-get install samba mysql-server tomcat7
をUbuntu12.04でスクリプトで実行しようとしたけれど、どうもうまくいかない。14.04ではうまくいくようだけど、依存ライブラリが古いためいろいろひっかかるのかもしれない。数回繰り返すとなんとかなるようなので、
apt-get update --fix-missing
#*************reInstall*********
spath='/etc/samba'
tpath='/var/lib/tomcat7'
mpath='/etc/mysql'
while :
do
if [ ! -d $spath ]; then
apt-get install -y --fix-missing samba
else
break
fi
done
while :
do
if [ ! -d $tpath ]; then
apt-get install -y --fix-missing tomcat7
else
break
fi
done
while :
do
if [ ! -d $mpath ]; then
apt-get install -y --fix-missing mysql-server
else
break
fi
done
************
これでうまくいくと思ったが、なぜか、sambaがうまくインストールできない。
ディレクトリの有無でインストールのチェックというのはだめなようなので、プロセスをチェックするようにしてみた。
これで試してみようと思う。
while :
do
sc=$(ps -e | grep 'samba' | wc -l)
if [ $sc = "0" ]; then
apt-get install -y --fix-missing samba
else
break
fi
done
結果。。。なぜか、うまくいきませんでした。
原因を考えていますが、今のところ不明
こんなやり方は 邪道なのだろうか。。
スクリプトって、同期的に動いているのか 非同期なのか、そのへんも
関係しているんだろうか
素直に ひとつひとつ apt-get installするしかないようだ