Compare commits
10 Commits
07fed59cf7
...
6bb85ede1e
Author | SHA1 | Date | |
---|---|---|---|
|
6bb85ede1e | ||
|
c5294f8a82 | ||
|
aaa633b8b0 | ||
36fb9c6409 | |||
55809548d1 | |||
9038769206 | |||
ae1e7e624d | |||
ecc4fa1200 | |||
10c4314fc5 | |||
|
3091032d0c |
@ -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.
|
@ -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
13
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"
|
||||||
|
49
start.sh
49
start.sh
@ -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
|
25
sysconfig.sh
25
sysconfig.sh
@ -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"
|
Loading…
x
Reference in New Issue
Block a user