Compare commits

...

10 Commits

12 changed files with 81 additions and 39 deletions

@ -22,3 +22,9 @@ Pour information voici l'identifiant créer pendant l'installation :
* Mot de passe : password * Mot de passe : password
(evidemment, pour une utilisation en production ou une exposition de la machine sur internet, je recommande tres fortement de créer un autre utilisateur ou *au moins de changer le mot de passe !*) (evidemment, pour une utilisation en production ou une exposition de la machine sur internet, je recommande tres fortement de créer un autre utilisateur ou *au moins de changer le mot de passe !*)
Changes Log
-----------
**V0.1** : premiere version du script, il fait son job sans poser de question (en ce basant sur les infos contenu dans le script env.sh)
dans le prochaine version j'essairai de lui faire faire plus de controle et de rendre les installation personalisable.

@ -1,6 +1,7 @@
#!/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
$WGETCMD $REPO/modules.tar.bz2 $WGETCMD $REPO/$MODULES

11
env.sh

@ -1,12 +1,19 @@
#!/bin/bsh #!/bin/bash
set -eu
export USER=joe
export PASSWORD=password
export MYHOSTNAME=mygentoo
export MYDOMAIN=devel.lan
export SWAP=/dev/sda2 export SWAP=/dev/sda2
export SYS=/dev/sda1 export SYS=/dev/sda1
export CHROOT=/mnt/gentoo export CHROOT=/mnt/gentoo
export STAGE3=stage3-amd64-20170907.tar.bz2 export STAGE3=stage3-amd64-20170907.tar.bz2
export SNAPSHOT=portage-20171006.tar.bz2 export SNAPSHOT=portage-20171006.tar.bz2
export KERNEL=kernel.tar.bz2
export MODULES=modules.tar.bz2
export REPO=https://repo.jmanson.fr 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/"

@ -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

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
#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"

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

@ -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

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

@ -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"

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

@ -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

@ -1,21 +1,32 @@
#!/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
echo "127.0.0.1 localhost" > $CHROOT/etc/hosts
echo "::1 localhost" >> $CHROOT/etc/hosts
echo "127.0.1.1 $MYHOSTNAME.$MYDOMAIN $MYHOSTNAME" >> $CHROOT/etc/hosts
echo hostname='"'$MYHOSTNAME'"' > $CHROOT/etc/conf.d/hostname
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"