nettoyages des script et arret des scripts en cas d'erreur

This commit is contained in:
Jérémy MANSON 2017-10-31 21:14:55 +01:00
parent 07fed59cf7
commit 3091032d0c
11 changed files with 62 additions and 33 deletions

View File

@ -1,5 +1,6 @@
#!/bin/bash #!/bin/bash
WGETCMD="wget --no-cookies -P $CHROOT/" set -eu
# Téléchargements des sources
$WGETCMD $REPO/$STAGE3 $WGETCMD $REPO/$STAGE3
$WGETCMD $REPO/$SNAPSHOT $WGETCMD $REPO/$SNAPSHOT
$WGETCMD $REPO/kernel.tar.bz2 $WGETCMD $REPO/kernel.tar.bz2

9
env.sh
View File

@ -1,5 +1,7 @@
#!/bin/bsh #!/bin/bash
set -eu
export USER=joe
export PASSWORD=password
export SWAP=/dev/sda2 export SWAP=/dev/sda2
export SYS=/dev/sda1 export SYS=/dev/sda1
export CHROOT=/mnt/gentoo 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 NJOBS=$(grep '^processor' /proc/cpuinfo | sort -u | wc -l)
export MAKEOPTS="-j$((NJOBS+1)) -l${NJOBS}" export MAKEOPTS="-j$((NJOBS+1)) -l${NJOBS}"
export EMERGE_DEFAULT_OPTS="--jobs=${NJOBS} --load-average=${NJOBS}" export EMERGE_DEFAULT_OPTS="--jobs=${NJOBS} --load-average=${NJOBS}"
export PORTAGE_BINHOST="https://repo.jmanson.fr/packages" export PORTAGE_BINHOST="https://repo.jmanson.fr/packages"
export WGETCMD="wget --no-cookies -P $CHROOT/"

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
set -eu
# Préparer le système # Préparer le système
tar xjpf $CHROOT/$STAGE3 -C $CHROOT --xattrs --numeric-owner tar xjpf $CHROOT/$STAGE3 -C $CHROOT --xattrs --numeric-owner
chmod 1777 $CHROOT/tmp chmod 1777 $CHROOT/tmp

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -eu
#configurer grub #configurer grub
chroot $CHROOT /bin/bash -c "grub-install /dev/sda" chroot $CHROOT /bin/bash -c "grub-install /dev/sda"
chroot $CHROOT /bin/bash -c "grub-mkconfig -o /boot/grub/grub.cfg" chroot $CHROOT /bin/bash -c "grub-mkconfig -o /boot/grub/grub.cfg"

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -eu
#installer le noyaux #installer le noyaux
tar xjpf $CHROOT/kernel.tar.bz2 -C $CHROOT/ tar xjpf $CHROOT/kernel.tar.bz2 -C $CHROOT/
tar xjpf $CHROOT/modules.tar.bz2 -C /lib/modules/ tar xjpf $CHROOT/modules.tar.bz2 -C /lib/modules/

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
set -eu
#trouver la quantité de mémoire #trouver la quantité de mémoire
MEM=`free -m | grep "Mem:" | awk -F' ' '{print $2}'| sed 's/m//'` MEM=`free -m | grep "Mem:" | awk -F' ' '{print $2}'| sed 's/m//'`
#trouver la taille du disque sda #trouver la taille du disque sda

View File

@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
set -eu
#configurer portage #configurer portage
mirrorselect -i -c FR -o >> $CHROOT/etc/portage/make.conf mirrorselect -i -c FR -o >> $CHROOT/etc/portage/make.conf
echo MAKEOPTS='"'$MAKEOPTS'"' >> $CHROOT/etc/portage/make.conf echo MAKEOPTS='"'$MAKEOPTS'"' >> $CHROOT/etc/portage/make.conf

View File

@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
set -eu
# ectraire portage et installer # ectraire portage et installer
tar xjpf $CHROOT/$SNAPSHOT -C $CHROOT/usr tar xjpf $CHROOT/$SNAPSHOT -C $CHROOT/usr
chroot $CHROOT /bin/bash -c "emerge --config sys-libs/timezone-data" chroot $CHROOT /bin/bash -c "emerge --config sys-libs/timezone-data"

View File

@ -1,22 +1,29 @@
#!/bin/bash #!/bin/bash
set -eu
# définition de l'url contenant les scripts
RAWDIR=https://git.jmanson.fr/jeremy/installer_gentoo/raw/master 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 # Téléchargements des scripts
wget -P /tmp/ $RAWDIR/partitions.sh 2>> err.log wget -P /tmp/ $RAWDIR/env.sh
wget -P /tmp/ $RAWDIR/grubconfig.sh 2>> err.log wget -P /tmp/ $RAWDIR/downloader.sh
wget -P /tmp/ $RAWDIR/extract_and_mount.sh 2>> err.log wget -P /tmp/ $RAWDIR/partitions.sh
wget -P /tmp/ $RAWDIR/sysconfig.sh 2>> err.log wget -P /tmp/ $RAWDIR/grubconfig.sh
wget -P /tmp/ $RAWDIR/portageconfig.sh 2>> err.log wget -P /tmp/ $RAWDIR/extract_and_mount.sh
wget -P /tmp/ $RAWDIR/portageinstall.sh 2>> err.log wget -P /tmp/ $RAWDIR/sysconfig.sh
wget -P /tmp/ $RAWDIR/kernelinstall.sh 2>> err.log wget -P /tmp/ $RAWDIR/portageconfig.sh
wget -P /tmp/ $RAWDIR/sudoconfig.sh 2>> err.log wget -P /tmp/ $RAWDIR/portageinstall.sh
source /tmp/env.sh 2>> err.log wget -P /tmp/ $RAWDIR/kernelinstall.sh
sh /tmp/partitions.sh 2>> err.log wget -P /tmp/ $RAWDIR/sudoconfig.sh
sh /tmp/downloader.sh 2>> err.log # ouvrir les varriables
sh /tmp/extract_and_mount.sh 2>> err.log source /tmp/env.sh
sh /tmp/sysconfig.sh 2>> err.log
sh /tmp/portageconfig.sh 2>> err.log # lancer les scripts
sh /tmp/portageinstall.sh 2>> err.log sh /tmp/partitions.sh
sh /tmp/kernelinstall.sh 2>> err.log sh /tmp/downloader.sh
sh /tmp/sudoconfig.sh 2>> err.log sh /tmp/extract_and_mount.sh
sh /tmp/grubconfig.sh 2>> err.log sh /tmp/sysconfig.sh
sh /tmp/portageconfig.sh
sh /tmp/portageinstall.sh
sh /tmp/kernelinstall.sh
sh /tmp/sudoconfig.sh
sh /tmp/grubconfig.sh

View File

@ -1,3 +1,4 @@
#!/bin/bash #!/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 echo "%wheel ALL=(ALL) NOPASSWD: ALL" > $CHROOT/etc/sudoers.d/wheel

View File

@ -1,21 +1,28 @@
#!/bin/bash #!/bin/bash
set -eu
# configuration du système # configuration du système
# Franciser la gentoo
echo "Europe/Paris" > $CHROOT/etc/timezone 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 echo "fr_FR.UTF-8 UTF-8" >> $CHROOT/etc/locale.gen
chroot $CHROOT /bin/bash -c "locale-gen" chroot $CHROOT /bin/bash -c "locale-gen"
echo 'LANG="fr_FR.UTF-8"' > $CHROOT/etc/env.d/02locale echo 'LANG="fr_FR.UTF-8"' > $CHROOT/etc/env.d/02locale
echo 'LC_COLLATE="C"' >> $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 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` for interfaces in `ls /sys/class/net | sed /lo/d`
do do
chroot $CHROOT /bin/bash -c "ln -s /etc/init.d/net.lo /etc/init.d/net.$interfaces" 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" chroot $CHROOT /bin/bash -c "rc-update add net.$interfaces default"
done done
chroot $CHROOT /bin/bash -c "rc-update add sshd default" chroot $CHROOT /bin/bash -c "rc-update add sshd default"
# Configuration de fstab
echo "$SYS / ext4 noatime 0 1" > $CHROOT/etc/fstab echo "$SYS / ext4 noatime 0 1" > $CHROOT/etc/fstab
echo "$SWAP none swap sw 0 0" >> $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 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"