From 3091032d0cd448fc9b7c733f1c7ad63cac9b4cb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20MANSON?= <jmanson@INVOLV.lan>
Date: Tue, 31 Oct 2017 21:14:55 +0100
Subject: [PATCH] nettoyages des script et arret des scripts en cas d'erreur

---
 downloader.sh        |  3 ++-
 env.sh               |  9 ++++++---
 extract_and_mount.sh |  2 +-
 grubconfig.sh        |  1 +
 kernelinstall.sh     |  1 +
 partitions.sh        |  2 ++
 portageconfig.sh     |  3 +++
 portageinstall.sh    |  3 +++
 start.sh             | 47 +++++++++++++++++++++++++-------------------
 sudoconfig.sh        |  3 ++-
 sysconfig.sh         | 21 +++++++++++++-------
 11 files changed, 62 insertions(+), 33 deletions(-)

diff --git a/downloader.sh b/downloader.sh
index 1536fc5..2cf3568 100644
--- a/downloader.sh
+++ b/downloader.sh
@@ -1,5 +1,6 @@
 #!/bin/bash
-WGETCMD="wget --no-cookies -P $CHROOT/"
+set -eu
+# Téléchargements des sources 
 $WGETCMD $REPO/$STAGE3
 $WGETCMD $REPO/$SNAPSHOT
 $WGETCMD $REPO/kernel.tar.bz2
diff --git a/env.sh b/env.sh
index e2117c2..fabcd4d 100644
--- a/env.sh
+++ b/env.sh
@@ -1,5 +1,7 @@
-#!/bin/bsh
-
+#!/bin/bash
+set -eu
+export USER=joe
+export PASSWORD=password
 export SWAP=/dev/sda2
 export SYS=/dev/sda1
 export CHROOT=/mnt/gentoo
@@ -9,4 +11,5 @@ export REPO=https://repo.jmanson.fr
 export NJOBS=$(grep '^processor' /proc/cpuinfo | sort -u | wc -l)
 export MAKEOPTS="-j$((NJOBS+1)) -l${NJOBS}"
 export EMERGE_DEFAULT_OPTS="--jobs=${NJOBS} --load-average=${NJOBS}"
-export PORTAGE_BINHOST="https://repo.jmanson.fr/packages"
\ No newline at end of file
+export PORTAGE_BINHOST="https://repo.jmanson.fr/packages"
+export WGETCMD="wget --no-cookies -P $CHROOT/"
\ No newline at end of file
diff --git a/extract_and_mount.sh b/extract_and_mount.sh
index 928f1ac..d32a64e 100644
--- a/extract_and_mount.sh
+++ b/extract_and_mount.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-
+set -eu
 # Préparer le système
 tar xjpf $CHROOT/$STAGE3 -C $CHROOT  --xattrs --numeric-owner
 chmod 1777 $CHROOT/tmp
diff --git a/grubconfig.sh b/grubconfig.sh
index 67f5f7d..4c56264 100644
--- a/grubconfig.sh
+++ b/grubconfig.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+set -eu
 #configurer grub
 chroot $CHROOT /bin/bash -c "grub-install /dev/sda"
 chroot $CHROOT /bin/bash -c "grub-mkconfig -o /boot/grub/grub.cfg"
diff --git a/kernelinstall.sh b/kernelinstall.sh
index 4b8de00..da19c22 100644
--- a/kernelinstall.sh
+++ b/kernelinstall.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+set -eu
 #installer le noyaux
 tar xjpf $CHROOT/kernel.tar.bz2 -C $CHROOT/
 tar xjpf $CHROOT/modules.tar.bz2 -C /lib/modules/
\ No newline at end of file
diff --git a/partitions.sh b/partitions.sh
index e29fb6b..d38754e 100644
--- a/partitions.sh
+++ b/partitions.sh
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -eu
+
 #trouver la quantité de mémoire
 MEM=`free -m | grep "Mem:" | awk -F' '  '{print $2}'| sed 's/m//'`
 #trouver la taille du disque sda
diff --git a/portageconfig.sh b/portageconfig.sh
index a4af5a4..67f4b5c 100644
--- a/portageconfig.sh
+++ b/portageconfig.sh
@@ -1,4 +1,7 @@
 #!/bin/bash
+
+set -eu
+
 #configurer portage
 mirrorselect -i -c FR -o >> $CHROOT/etc/portage/make.conf
 echo MAKEOPTS='"'$MAKEOPTS'"' >> $CHROOT/etc/portage/make.conf
diff --git a/portageinstall.sh b/portageinstall.sh
index effd57a..6eca6f2 100644
--- a/portageinstall.sh
+++ b/portageinstall.sh
@@ -1,4 +1,7 @@
 #!/bin/bash
+
+set -eu
+
 # ectraire portage et installer
 tar xjpf $CHROOT/$SNAPSHOT -C $CHROOT/usr
 chroot $CHROOT /bin/bash -c "emerge --config sys-libs/timezone-data"
diff --git a/start.sh b/start.sh
index 308814a..5c5b738 100644
--- a/start.sh
+++ b/start.sh
@@ -1,22 +1,29 @@
 #!/bin/bash
+set -eu
+# définition de l'url contenant les scripts
 RAWDIR=https://git.jmanson.fr/jeremy/installer_gentoo/raw/master
-wget -P /tmp/ $RAWDIR/env.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/downloader.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/partitions.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/grubconfig.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/extract_and_mount.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/sysconfig.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/portageconfig.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/portageinstall.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/kernelinstall.sh 2>> err.log
-wget -P /tmp/ $RAWDIR/sudoconfig.sh 2>> err.log
-source /tmp/env.sh 2>> err.log
-sh /tmp/partitions.sh 2>> err.log
-sh /tmp/downloader.sh 2>> err.log
-sh /tmp/extract_and_mount.sh 2>> err.log
-sh /tmp/sysconfig.sh 2>> err.log
-sh /tmp/portageconfig.sh 2>> err.log
-sh /tmp/portageinstall.sh 2>> err.log
-sh /tmp/kernelinstall.sh 2>> err.log
-sh /tmp/sudoconfig.sh 2>> err.log
-sh /tmp/grubconfig.sh 2>> err.log
\ No newline at end of file
+
+# Téléchargements des scripts 
+wget -P /tmp/ $RAWDIR/env.sh  
+wget -P /tmp/ $RAWDIR/downloader.sh  
+wget -P /tmp/ $RAWDIR/partitions.sh  
+wget -P /tmp/ $RAWDIR/grubconfig.sh  
+wget -P /tmp/ $RAWDIR/extract_and_mount.sh  
+wget -P /tmp/ $RAWDIR/sysconfig.sh  
+wget -P /tmp/ $RAWDIR/portageconfig.sh  
+wget -P /tmp/ $RAWDIR/portageinstall.sh  
+wget -P /tmp/ $RAWDIR/kernelinstall.sh  
+wget -P /tmp/ $RAWDIR/sudoconfig.sh  
+# ouvrir les varriables 
+source /tmp/env.sh  
+
+# lancer les scripts 
+sh /tmp/partitions.sh  
+sh /tmp/downloader.sh  
+sh /tmp/extract_and_mount.sh  
+sh /tmp/sysconfig.sh  
+sh /tmp/portageconfig.sh  
+sh /tmp/portageinstall.sh  
+sh /tmp/kernelinstall.sh  
+sh /tmp/sudoconfig.sh  
+sh /tmp/grubconfig.sh  
\ No newline at end of file
diff --git a/sudoconfig.sh b/sudoconfig.sh
index 7965b34..b8f1f36 100644
--- a/sudoconfig.sh
+++ b/sudoconfig.sh
@@ -1,3 +1,4 @@
 #!/bin/bash
-#configurer sudo
+set -eu
+#configurer sudo pour que l'utilisateur créé accede au droit d'administration sans mot de passe
 echo "%wheel ALL=(ALL) NOPASSWD: ALL" > $CHROOT/etc/sudoers.d/wheel
\ No newline at end of file
diff --git a/sysconfig.sh b/sysconfig.sh
index be402b7..2136681 100644
--- a/sysconfig.sh
+++ b/sysconfig.sh
@@ -1,21 +1,28 @@
 #!/bin/bash
+set -eu
 # configuration du système 
+
+# Franciser la gentoo 
 echo "Europe/Paris" > $CHROOT/etc/timezone
-cp /etc/resolv.conf $CHROOT/etc/resolv.conf
 echo "fr_FR.UTF-8 UTF-8" >> $CHROOT/etc/locale.gen
 chroot $CHROOT /bin/bash -c "locale-gen"
 echo 'LANG="fr_FR.UTF-8"' > $CHROOT/etc/env.d/02locale
 echo 'LC_COLLATE="C"' >> $CHROOT/etc/env.d/02locale
-chroot $CHROOT /bin/bash -c "useradd -p \`openssl passwd -1 password\` -G wheel joe"
 sed -i 's/keymap="us"/keymap="fr"/g' $CHROOT/etc/conf.d/keymaps
 
+# Configuration réseau et activation de(s) interface(s) réseau au démarrage ainsi que le serveur SSH 
+cp /etc/resolv.conf $CHROOT/etc/resolv.conf
 for interfaces in `ls /sys/class/net | sed /lo/d`
-do
-chroot $CHROOT /bin/bash -c "ln -s /etc/init.d/net.lo /etc/init.d/net.$interfaces"
-chroot $CHROOT /bin/bash -c "rc-update add net.$interfaces default"
-done
+	do
+		chroot $CHROOT /bin/bash -c "ln -s /etc/init.d/net.lo /etc/init.d/net.$interfaces"
+		chroot $CHROOT /bin/bash -c "rc-update add net.$interfaces default"
+	done
 chroot $CHROOT /bin/bash -c "rc-update add sshd default"
 
+# Configuration de fstab
 echo "$SYS        /             ext4    noatime      0 1" >   $CHROOT/etc/fstab
 echo "$SWAP       none          swap    sw           0 0" >>  $CHROOT/etc/fstab
-echo "/dev/cdrom  /mnt/cdrom    auto    noauto,ro    0 0" >>  $CHROOT/etc/fstab
\ No newline at end of file
+echo "/dev/cdrom  /mnt/cdrom    auto    noauto,ro    0 0" >>  $CHROOT/etc/fstab
+
+# ajout de l'utilisateur
+chroot $CHROOT /bin/bash -c "useradd -p \`openssl passwd -1 $PASSWORD\` -G wheel $USER"
\ No newline at end of file