FAI - Fully Automatic Installation
Manuel (Fr)
Mini CD
DEBIAN32 Bits (22Mb): http://d-i.debian.org/daily-images/i386/daily/netboot/mini.iso
64 Bits (25Mb): http://d-i.debian.org/daily-images/amd64/daily/netboot/mini.iso
UBUNTU Netboot Images
SCRIPT POUR TELECHARGER LA DERNIERE UBUNTU NETINSTALL :
#!/bin/bashMIRROR=mirrors.us.kernel.orgROOTDIR=/home/image/bootfor REL in trusty saucy raring quantal precise oneiric natty maverick luciddofor ARCH in i386 amd64doecho "Sync'ing Ubuntu $REL / $ARCH..."mkdir -p $ROOTDIR/Ubuntu/$REL/$ARCH/cd $ROOTDIR/Ubuntu/$REL/$ARCH/ && wget -N http://$MIRROR/pub/ubuntu/dists/$REL/main/installer-$ARCH/current/images/netboot/ubuntu-installer/$ARCH/initrd.gz http://$MIRROR/pub/ubuntu/dists/$REL/main/installer-$ARCH/current/images/netboot/ubuntu-installer/$ARCH/linuxdonedoneScript pour Debian netinstall
Automatisation de l'installation et pré-configuration sur Debian
CustomPostInstallScript
GenPreseed
Notes pour une installation d Ubuntu automatisée
1) Pour la personnalisation du fichier preseed.cfg on peut utiliser l'outil debconf-get-selections.- doc ubuntu actuelle ( / v. 10.10)
- doc ubuntu future (à tester après la sortie officielle de la v. 11.04)
- exemple Ubuntu 10.04 AMD64 Server en anglais
Exemple :
#
# Configuration du fichier preseed :
#
# Configuration reseau (obsolete en si utilisation du DHCP)
#d-i netcfg/get_hostname string unassigned-hostname
#d-i netcfg/get_domain string unassigned-domain
#d-i netcfg/get_hostname seen true
#d-i netcfg/get_domain seen true
#
# Choix du noyau a installer
# Dans le cas d'un serveur 9.10, installer linux-generic-pae :
#d-i base-installer/kernel/override-image string linux-generic-pae
#
# Source d'installation (miroir)
#
d-i mirror/country string fr
d-i mirror/http/countries select fr
d-i mirror/protocol select http
d-i mirror/http/hostname string fr.archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
# Nom de la distribution installée
d-i mirror/suite string lucid
# Choix des miroirs security :
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string fr.archive.ubuntu.com
d-i apt-setup/security_path string /ubuntu
d-i mirror/http/proxy string
#
# langue
#
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string fr
d-i debian-installer/locale string fr_fr
d-i console-keymaps-usb/keymap select nodeadkeys
#
# horloge
#
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server ntp.free.fr
#
# partitionnement
#
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
#d-i partman-auto/purge_lvm_from_device boolean true # pour les anciennes versions, en 8.04 cf ligne ci-dessous
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select
# Terminer le partitionnement et appliquer les changements
d-i partman/confirm boolean true
#
# Détermine le type d'installation
#
tasksel tasksel/first multiselect ubuntu-desktop
#tasksel tasksel/first multiselect standard
#tasksel tasksel/first multiselect ubuntu-desktop
#tasksel tasksel/first multiselect kubuntu-desktop
#tasksel tasksel/first multiselect edubuntu-desktop
#tasksel tasksel/first multiselect xubuntu-desktop
#tasksel tasksel/first multiselect dns-server
#tasksel tasksel/first multiselect lamp-server ##(installation d'un serveur avec Apache, MySQL et PHP)
#
# Creation des comptes utilisateur/root
#
#d-i passwd/root-login boolean true
# Mot de passe root en clair (insecure) :
#d-i passwd/root-password password insecure
#d-i passwd/root-password-again password insecure
# Mot de passe root crypté en MD5 :
#d-i passwd/root-password-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#
# Création du compte local : Toto
# Si le compte root est déjà créé, l'utilisateur ne pourra pas faire de sudo
#
d-i passwd/make-user boolean true
d-i passwd/user-fullname string Toto
d-i passwd/username string toto
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure
#d-i passwd/user-password-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#d-i passwd/user-password-again-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#
# Pour éviter le dernier message disant que l'installation est terminée :
d-i finish-install/reboot_in_progress note
#
# Politique pour l'application des mises à jour. Réglé sur :
# - "none" (pas de mise à jour automatique)
# - "unattended-upgrades" (installation des mises à jour de sécurité automatiquement)
# - "landscape" (mise à jour gérées depuis Landscape)
d-i pkgsel/update-policy select unattended-upgrades
# Permet d'encrypter le répertoire home (ne fonctionne pas pour les versions antérieures a Intrepid) :
d-i user-setup/encrypt-home boolean false
#
# Apt setup.
#
# Configure les branches qui seront actives multiverse, universe, security
base-config apt-setup/uri_type select http
#base-config apt-setup/country select enter information manually
base-config apt-setup/hostname string fr.archive.ubuntu.com
base-config apt-setup/directory string /ubuntu
base-config apt-setup/another boolean true
base-config apt-setup/universe boolean true
base-config apt-setup/multiverse boolean true
base-config apt-setup/security-updates boolean true
#
# paquets supplémentaires qui seront installés :
#
d-i pkgsel/include string libpam-mount
d-i pkgsel/include string curl
d-i pkgsel/include string debconf-utils
d-i pkgsel/include string openssh-server
d-i pkgsel/include string vim
d-i pkgsel/include string ssh
Exemples tirés de Debian
1) Voir guide Debian2) sources '1' + '2' + '3'
# Locales
d-i debian-installer/locale select fr_FR.UTF-8
# Keyboard
d-i console-keymaps-at/keymap select fr-latin9
d-i keyboard-configuration/xkb-keymap select fr(latin9)
# Network
d-i netcfg/choose_interface select auto
d-i netcfg/get_domain string unassigned-domain
# Miroir + Proxy
d-i mirror/country string manual
d-i mirror/http/hostname string mymirror.domain.tld
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
# Distribution a installer.
d-i mirror/suite string squeeze
d-i mirror/udeb/suite string squeeze
# Compte root + 1er compte utilisateur
d-i passwd/root-password-crypted password $1$qCP/fKPR$1234PZ39vnxJlWC0sqM76b0
d-i passwd/user-fullname string bonin
d-i passwd/username string bonin
d-i passwd/user-password-crypted password $1$lmSKuibG$cDMRxTiPUI1123tQM7igMQ1
# Clock
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string
# Partitionning
# Remove any existing LVM traces:
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto-lvm/new_vg_name string vg01
# Préparation du schéma de partitionnement avec une partition /boot de 256Mo,
# le reste de la partition en LVM, puis dans ce LVM : / de 4Go, /var de 4Go et le swap avec le reste
d-i partman-auto/expert_recipe string \
boot-root :: \
256 1000000 256 ext3 \
$primary{ } \
$bootable{ } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext3 } \
mountpoint{ /boot } \
. \
100 100000 10000000 lvm \
$primary{ } \
$defaultignore{ } \
method{ lvm } \
vg_name{ vg01 } \
. \
4352 10000 4352 ext3 \
$lvmok{ } \
in_vg{ vg01 } \
lv_name{ racine } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext3 } \
mountpoint{ / } \
. \
4352 10000 4352 ext3 \
$lvmok{ } \
in_vg{ vg01 } \
lv_name{ var } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext3 } \
mountpoint{ /var } \
. \
100% 10000 100% linux-swap \
$lvmok{ } \
in_vg{ vg01 } \
lv_name{ swap } \
method{ swap } \
format{ } \
.
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# Apt
d-i apt-setup/services-select multiselect security
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/security_host string mymirror.mipih.net/security
# Ne pas participer au programme de recolte d'informations
popularity-contest popularity-contest/participate boolean false
# Grub
# Auto install grub if this is the only one system.
d-i grub-installer/only_debian boolean true
# Standard minimal system
tasksel tasksel/first multiselect standard
# Ajout de paquets supplementaires
d-i pkgsel/include string openssh-server build-essential
# End
# Reboot automatically
d-i finish-install/reboot_in_progress note
puis reconstruction du CD :
$ mkdir debian-600-adm64
$ bsdtar -C ./debian-600-adm64 -xf ./debian-600-amd64-netinst.iso
$ cd debian-600-adm64
$ cp install.amd/initrd.gz install.amd/initrd.gz.old
$ mkdir initrd
$ cd initrd
$ gunzip -c ../install.amd/initrd.gz.old | cpio -id
$ cp /path/to/preseed.cfg .
$ find . | cpio --create --format='newc' | gzip > ../initrd.gz
$ cd ..
$ mv initrd.gz install.amd/
$ rm -Rf initrd && rm -Rf install.amd/initrd.gz.old
$ md5sum `find ! -name "md5sum.txt" ! -path "./isolinux/*" ! -name "debian" -follow -type f` > ./md5sum.txt
$ cd ..
$ mkisofs -o ./debian-600-amd64-netinst-custom.iso \
-V di`date -u +%m%d%H%M%S` \
-r -J -no-emul-boot -boot-load-size 4 -boot-info-table \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
./debian-505-amd64
Aucun commentaire:
Enregistrer un commentaire