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