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