2016年11月18日金曜日

LPICの学習

 LPICの資格というのがある。ただ、検定料が高く、101から順に受けないといけないらしい。LPICのテキストはLinuxを使うためにはとても役に立つ。試験は受けないけれど、テキストで学習するだけで、十分役立つかなと思っている。
 早速、インストールのためのスクリプト作成で、役に立った。

(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するしかないようだ