Compare commits

...

10 Commits

12 changed files with 81 additions and 39 deletions

View File

@ -21,4 +21,10 @@ Pour information voici l'identifiant créer pendant l'installation :
* Utilisateur : joe * Utilisateur : joe
* 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.

View File

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

13
env.sh
View File

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

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
#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,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/

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

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

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