Objectifs
- Pouvoir installer une distribution Ubuntu (9.10, Karmic Koala) depuis le réseau local sans aucune intervention extérieure.
- Boot PXE -> Lecture du fichier de pré-configuration -> installation automatisée depuis votre serveur de dépôts local
Pré-requis
- Bind
- DHCP
- PXE
- Miroir local Ubuntu
- Installation automatisée par fichier Preseed
Ajouter les référentiels à votre mirroir
vi /mirror/apt-mirror.conf
# Miroir Karmic Installer
deb http://archive.ubuntu.com/ubuntu/ karmic main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main/debian-installer
#deb http://archive.ubuntu.com/ubuntu/ karmic-backports
deb http://archive.ubuntu.com/ubuntu/ karmic-security main/debian-installer
deb http://archive.ubuntu.com/ubuntu/ karmic-proposed main/debian-installer
- Mettre à jour le serveur de dépôts :
apt-mirror /mirror/apt-mirror.conf
Sources
Ajouter les l’option de boot Ă votre PXE
- Editer le fichier default :
vi /var/lib/tftboot/pxelinux.cfg/default
- Ajouter les lignes suivantes :
label Karmic Koala server Lan
MENU LABEL Karmic Koala Desktop ^lan
kernel karmic/netboot.i386/linux
#karmic/install/netboot/ubuntu-installer/i386/linux
append vga=normal initrd=karmic/netboot.i386/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw preseed/url=http://monserveur.domain.tld/ubuntu/preseed/910.desktop.lan.cfg locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys DEBCONF_DEBUG=5 netcfg/get_hostname=net-install netcfg/get_domain=workgroup--
Création du fichier preseed
- A mettre depuis un endroit accessible par le serveur PXE (Sources) :
#
d-i mirror/suite string karmic
#
# Configuration reseau (obsolete si présence d'un 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
#
# Install source
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 monserveur.domain.tld
d-i mirror/http/directory string /ubuntu
d-i mirror/suite string karmic
# Choix des mirroirs
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string monserveur.domain.tld
d-i apt-setup/security_path string /ubuntu
d-i mirror/http/proxy string
#
# 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 <- 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
#
# select Terminer le partitionnement et appliquer les changements
d-i partman/confirm boolean true
tasksel tasksel/first multiselect ubuntu-desktop
#
# Creation des comptes utilisateur/root
#
d-i passwd/root-login boolean true
# Root password, either in clear text
d-i passwd/root-password password insecure
d-i passwd/root-password-again password insecure
# Compte local, utilisateur toto :
#
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 finish-install/reboot_in_progress note
d-i pkgsel/update-policy select unattended-upgrades
# Ne fonctionne pas pour les versions antérieures a Intrepid
d-i user-setup/encrypt-home boolean false
#
# Apt setup.
base-config apt-setup/uri_type select http
# If you choose ftp or http, you'll be asked for a country and a mirror.
#base-config apt-setup/country select enter information manually
base-config apt-setup/hostname string monserveur.domain.tld
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
d-i pkgsel/include string openssh-server build-essential rsync less firmware-qlogic sudo cron-apt ntp host debsums devscripts pciutils ethtool
Tutoriels