[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 # Script lancé en fin d'installation preseed Debian wheezy 4 # pour finaliser de la config . 5 # 6 # 7 # lastupdate 5-06-2014 8 . /root/bin/params.sh 9 10 # quelques couleurs ;-) 11 rouge='\e[0;31m' 12 rose='\e[1;31m' 13 COLTITRE='\e[0;33m' 14 jaune='\e[1;33m' 15 vert='\e[0;32m' 16 bleu='\e[1;34m' 17 neutre='\e[0;m' 18 19 20 DEBIAN_PRIORITY="critical" 21 DEBIAN_FRONTEND="noninteractive" 22 export DEBIAN_PRIORITY 23 export DEBIAN_FRONTEND 24 25 26 ladate=$(date +%Y%m%d%H%M%S) 27 28 29 TEST_CLIENT=$(ifconfig | grep ":$ip_se3 ") 30 if [ -e /var/www/se3 ]; then 31 echo "Malheureux... Ce script est a executer sur les clients Linux, pas sur le serveur." 32 exit 1 33 fi 34 35 compte_rendu=/root/compte_rendu_post-install_$ladate}.txt 36 37 echo "Compte-rendu de post-installation: $ladate" > $compte_rendu 38 39 40 41 42 43 echo -e "$COLTITRE" 44 echo "--------------------------------------------------------------------------------" 45 echo "Post Configuration du poste" 46 echo "--------------------------------------------------------------------------------" 47 echo -e "$neutre" 48 echo "Appuyez sur Entree pour continuer" 49 read -t 20 dummy 50 51 52 53 54 # Debug: 55 #echo "++++++++" 56 #cat /root/bin/params.sh >> $compte_rendu 2>&1 57 #echo "ip_se3=$ip_se3"|tee -a $compte_rendu 58 #echo "++++++++" 59 60 echo "Mise en place des cles publiques SSH" | tee -a $compte_rendu 61 mkdir -p /root/.ssh 62 chmod 700 /root/.ssh 63 cd /root/.ssh 64 if [ -n "$ip_se3}" ]; then 65 wget http://$ip_se3}/paquet_cles_pub_ssh.tar.gz >/dev/null 2>&1 66 if [ "$?" = "0" ]; then 67 tar -xzf paquet_cles_pub_ssh.tar.gz && \ 68 cat *.pub > authorized_keys && \ 69 rm paquet_cles_pub_ssh.tar.gz 70 else 71 echo "Echec de la recuperation des cles pub." | tee -a $compte_rendu 72 fi 73 # echo "Config proxy apt..." | tee -a $compte_rendu 74 # echo 'Acquire::http { Proxy "http://'$ip_se3':'9999'"; };' > /etc/apt/apt.conf.d/02apt-proxy 75 # cat /etc/apt/apt.conf.d/02apt-proxy | tee -a $compte_rendu 76 else 77 echo "IP SE3 non trouvee???" | tee -a $compte_rendu 78 fi 79 sleep 5 80 81 if [ -n "$ip_proxy" -a -n "$port_proxy" ]; then 82 echo "Config proxy..." | tee -a $compte_rendu 83 echo " 84 export https_proxy=\"http://$ip_proxy:$port_proxy\" 85 " > /etc/proxy.sh 86 chmod +x /etc/proxy.sh 87 88 echo ' 89 if [ -e /etc/proxy.sh ]; then 90 . /etc/proxy.sh 91 fi 92 ' >> /etc/profile 93 94 fi 95 96 echo "Config vim..." | tee -a $compte_rendu 97 echo 'filetype plugin indent on 98 set autoindent 99 set ruler 100 if &t_Co > 2 || has("gui_running") 101 syntax on 102 set hlsearch 103 endif' > /root/.vimrc 104 105 cp /root/.vimrc /etc/skel/.vimrc 106 107 if [ -n "$ip_ldap}" -a -n "$ldap_base_dn}" ]; then 108 echo "Config LDAP..." | tee -a $compte_rendu 109 echo "HOST $ip_ldap 110 BASE $ldap_base_dn 111 # TLS_REQCERT never 112 # TLS_CACERTDIR /etc/ldap/ 113 # TLS_CACERT /etc/ldap/slapd.pem 114 " > /etc/ldap/ldap.conf 115 else 116 echo "IP LDAP ou ldap_base_dn et/non trouves..." | tee -a $compte_rendu 117 fi 118 119 120 121 if [ "$ocs" = "1" ]; then 122 echo "Installation et configuration du client OCS" | tee -a $compte_rendu 123 aptitude -y install ocsinventory-agent 124 echo "server=$ip_se3:909" > /etc/ocsinventory/ocsinventory-agent.cfg 125 fi 126 127 128 129 130 if [ -n "$ip_se3}" ]; then 131 echo "Telechargement de integration_wheezy.bash..." | tee -a $compte_rendu 132 mkdir -p /root/bin 133 cd /root/bin 134 wget http://$ip_se3}/install/integration_wheezy.bash >/dev/null 2>&1 135 if [ "$?" = "0" ]; then 136 echo "Telechargement reussi." | tee -a $compte_rendu 137 chmod +x integration_wheezy.bash 138 else 139 echo "Echec du telechargement." | tee -a $compte_rendu 140 echo "Le poste ne pourra pas être intégré au domaine" | tee -a $compte_rendu 141 ISCRIPT="erreur" 142 fi 143 fi 144 145 146 t=$(ifconfig |grep "HWaddr"|sed -e "s|.*HWaddr ||"|wc -l) 147 if [ "$t}" = "1" ]; then 148 # Il semble qu on n entre pas ici en post-inst exécuté en fin d install 149 mac=$(ifconfig |grep HWaddr|sed -e "s|.*HWaddr ||") 150 echo "Une adresse mac trouvee : $mac" 151 if [ -n "$mac" ]; then 152 #nom_machine=$(ldapsearch -xLLL macAddress=$mac cn|grep "^cn: "|sed -e "s|^cn: ||") 153 154 t=$(ldapsearch -xLLL macAddress=$mac cn|grep "^cn: "|sed -e "s|^cn: ||"|head -n1) 155 if [ -z "$t" ]; then 156 echo "Nom de machine non trouvé dans l annuaire LDAP" 157 else 158 tab_nom_machine=($(ldapsearch -xLLL macAddress=$mac cn|grep "^cn: "|sed -e "s|^cn: ||")) 159 if [ "${#tab_nom_machine[*]}" = "1" ]; then 160 t=$(echo "$tab_nom_machine[0]}"|sed -e "s|[^A-Za-z0-9_\-]||g") 161 t2=$(echo "$tab_nom_machine[0]}"|sed -e "s|_|-|g") 162 if [ "$t" != "$tab_nom_machine[0]}" ]; then 163 echo "Le nom de machine $tab_nom_machine[0]} contient des caracteres invalides." 164 elif [ "$t2" != "$tab_nom_machine[0]}" ]; then 165 echo "Le nom de machine $tab_nom_machine[0]} contient des _ qui seront remplaces par des -" 166 nom_machine="$t2" 167 echo "nouveau nom : $nom_machine" 168 sleep 2 169 else 170 nom_machine=$tab_nom_machine[0]} 171 172 echo "Nom de machine trouve dans l annuaire LDAP : $nom_machine" 173 174 fi 175 else 176 echo "Attention : adresse MAC $mac est associee a plusieurs machines:" 177 ldapsearch -xLLL macAddress=$mac cn|grep "^cn: "|sed -e "s|^cn: ||" 178 fi 179 fi 180 else 181 echo "Attention : adresse MAC illisible !!" 182 183 fi 184 fi 185 186 187 188 while [ -z "$nom_machine" ] 189 do 190 echo "Machine non connue de l'annuare, Veuillez saisir un nom" 191 echo "Attention espaces et _ sont interdits et 15 car maxi" 192 read nom_machine 193 echo "Nom de machine: $nom_machine" 194 if [ -n "$nom_machine}" ]; then 195 t=$(echo "$nom_machine:0:1}"|grep "[A-Za-z]") 196 if [ -z "$t" ]; then 197 echo "Le nom doit commencer par une lettre." 198 nom_machine="" 199 else 200 t=$(echo "$nom_machine}"|sed -e "s/[A-Za-z0-9\-]//g") 201 if [ -n "$t" ]; then 202 echo "Le nom $nom_machine contient des caracteres invalides: '$t'" 203 nom_machine="" 204 fi 205 fi 206 fi 207 done 208 sleep 2 209 210 211 echo "" 212 echo "Config SSMTP..." 213 cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.$ladate} 214 echo " 215 root=$email 216 #mailhub=mail 217 mailhub=$mailhub 218 rewriteDomain=$rewriteDomain 219 hostname=$nom_machine.$nom_domaine 220 " > /etc/ssmtp/ssmtp.conf 221 sleep 2 222 223 224 if [ $ISCRIPT != "erreur" ]; then 225 echo -e "$jaune}" 226 echo -e "===========================================" 227 echo -e "Intégration au domaine SE3" 228 echo -e "===========================================$neutre}" 229 230 echo "Voulez-vous intégrer la machine au domaine SE3 (o)" 231 read -t 10 rep 232 else 233 echo "Script d'intégration non présent" | tee -a $compte_rendu 234 fi 235 236 237 [ "$rep" != "n" ] && echo "La machine sera mise au domaine" && sleep 1 238 239 240 241 echo -e "$jaune}" 242 echo -e "===========================================" 243 echo -e "Début de l'installation des paquets de base" 244 echo -e "===========================================$neutre}" 245 246 echo "Installation des paquets définis dans mesapplis-debian.txt" 247 sleep 2 248 if [ -e /etc/proxy.sh ] ; then 249 . /etc/proxy.sh 250 fi 251 252 apt-get -q update 253 # aptitude -y full-upgrade 254 apt-get install -y tofrodos 255 fromdos /root/bin/mesapplis-debian.txt 256 for i in $(cat /root/bin/mesapplis-debian.txt) 257 do 258 #installation des paquets 259 echo -e "$vert}==========================" 260 echo -e "on installe $i" 261 echo -e "==========================$neutre}" 262 sleep 2 263 264 aptitude -y install $i 265 266 done 267 fromdos /root/bin/mesapplis-debian-eb.txt 268 for i in $(cat /root/bin/mesapplis-debian-eb.txt) 269 do 270 #installation des paquets 271 echo -e "$vert}==========================" 272 echo -e "on installe $i" 273 echo -e "==========================$neutre}" 274 sleep 2 275 276 aptitude -y install $i 277 278 done 279 echo -e "$jaune}" 280 echo -e "===========================================" 281 echo -e "Fin de l'installation des paquets mesapplis-debian" 282 echo -e "===========================================$neutre}" 283 284 285 if [ "$rep" != "n" ]; then 286 ./integration_wheezy.bash --nom-client="$nom_machine" --is --ivl | tee -a $compte_rendu 287 288 else 289 290 echo "on intègre pas au domaine....Renommage du poste pour $nom_machine"| tee -a $compte_rendu 291 echo "$nom_machine" > "/etc/hostname" 292 invoke-rc.d hostname.sh stop > $SORTIE 2>&1 293 invoke-rc.d hostname.sh start > $SORTIE 2>&1 294 295 echo " 296 127.0.0.1 localhost 297 127.0.1.1 $nom_machine 298 299 # The following lines are desirable for IPv6 capable hosts 300 ::1 ip6-localhost ip6-loopback 301 fe00::0 ip6-localnet 302 ff00::0 ip6-mcastprefix 303 ff02::1 ip6-allnodes 304 ff02::2 ip6-allrouters 305 " > "/etc/hosts" 306 307 echo "Renommage termine."| tee -a $compte_rendu 308 echo "pour intégrer le poste plus tard : 309 cd /root/bin/ 310 ./integration_wheezy.bash --nom-client=\"$nom_machine\" --is --ivl" | tee -a $compte_rendu 311 fi 312 313 314 # if [ -n "$nom_machine" -a -n "$email" ]; then 315 # cat /root/firstboot.txt|mail -s "[$nom_se3.$nom_domaine]: Post-install $nom_machine" $email 316 # fi 317 318 gdm="$(cat /etc/X11/default-display-manager | cut -d / -f 4)" 319 if [ "$gdm" = "gdm3" ]; then 320 update-rc.d gdm3 defaults 321 fi 322 if [ "$gdm" = "lightdm" ]; then 323 update-rc.d lightdm defaults 324 fi 325 326 mv /root/bin/post-install_debian_wheezy.sh /root/bin/post-install_debian_wheezy.sh.$ladate 327 328 329 echo "Reconfig grub..." | tee -a $compte_rendu 330 sed -i "s|^GRUB_DEFAULT=.*|GRUB_DEFAULT=saved|" /etc/default/grub 331 sed -i "/^GRUB_SAVEDEFAULT=.*/d" /etc/default/grub 332 echo " 333 # Pour rebooter sur le dernier OS choisi 334 GRUB_SAVEDEFAULT=true" >> /etc/default/grub 335 336 # Virer l'entree (mode de dépannage) 337 echo ' 338 # Pour ne pas generer l entree mode de depannage (sans mot de passe root) 339 GRUB_DISABLE_LINUX_RECOVERY="true"' >> /etc/default/grub 340 egrep -v "(^$|^#)" /etc/default/grub | tee -a $compte_rendu 341 sed -r -i -e 's/^\GRUB_TIMEOUT=-1.*$/GRUB_TIMEOUT=3/g' /etc/default/grub 342 os-prober 343 update-grub 344 345 apt-get remove -y xscreensaver 346 347 348 349 # modif inittab 350 sed 's|1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>\&1|1:2345:respawn:/sbin/getty 38400 tty1|' -i /etc/inittab 351 352 # Remise en place gdm3 353 update-rc.d gdm3 defaults 354 355 356 echo -e "$COLTITRE" 357 echo "--------------------------------------------------------------------------------" 358 echo "Fin du script -reboot dans 10s pour finaliser l'installation" 359 echo "--------------------------------------------------------------------------------" 360 echo -e "$COLTXT" 361 read -t 10 dummy 362 reboot 363 364 exit 0
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |