10.28
Pour créer un serveur de déploiement , il faut que la machine soit :
Il faudra ensuite récupérer les fichiers nécessaires à l’installation, et configurer le tout.
Le nom de mon serveur est : serveur-debian
l’adresse ip est fixe , est est définie comme: 192.168.1.1
1. Configuration du serveur DHCP
on va récupérer le packet
La configuration se passe en 2 étapes:
- on définie l’interface réseau de notre serveur dhcp dans le fichier
/etc/default/dhcp3-server - On configure le serveur dhcp dans le fichier
/etc/dhcp3/dhcpd.conf
Le fichier dhcpd.conf
Exemple de fichier dhcpd.conf
ignore client-updates;
#— autorisation du pxe —–
allow bootp;
allow booting;
#— définition des serveurs DNS ——
option domain-name "debian.intra";
option domain-name-servers serveur-debian.debian.intra;
default-lease-time 600;
max-lease-time 7200;
# !! — IMORTANT — ce serveur fait autorité !! —-
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# — définition des plages du serveur dhcp —
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20; # il donne les adresses de 10 Ã 20
option routers 192.168.1.1; #adresse du serveur DHCP/DNS
option domain-name-servers serveur-debian.debian.intra;
option domain-name "debian.intra";
#———- POUR LE PXE —————
server-name "serveur-debian";#nom du serveur pxe
next-server 192.168.1.1;#adresse du serveur tftpd
filename "pxelinux.0";#fichier de boot pxe
}
Le serveur dhcp est configuré. Pour tester votre configuration vous pouvez tapez la commande
il vous mettra un message si une erreur s’est faufilée dans votre fichier
2. Serveur tftp
On récupère le paquet tftpd-hpa
Il existe plusieurs serveurs tftpd, mais seul tftpd-hpa m’a permis de mettre en place ce serveur
Pour le récupérer, vous devez ajouter une ligne apt dans le fichier/etc/apt/sources.list :deb http://ftp.de.debian.org/debian lenny mainN’bouliez de faire un aptitude update apres la mise a jour du fichier !
Récupération du serveur
Une fois les packets récupérés, il faut modifier 2 fichiers:
- Le fichier
/etc/inetd.confet commenter la ligne de tftpd
#tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/i n.tftpd -s /var/lib/tftpboot - Le fichier
/etc/default/tftpd-hpaqui contient le configuration ( basique ) de tftpd.#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /tftpboot"Dans cet exemple, le repertoire qui cointiendra nos fichiers de boot est /tftpboot
3. Serveur PXE
On récupère le paquet :
On configure PXE grace au fichier /etc/pxe.conf
Seules quelques lignes sont à modifier:
Les 2 premières, pour définir l’interface réseau à utiliser
2 interface=eth1
3 default_address=192.168.1.1
La ligne 33 , contient le repertoire pour pxe
33 tftpdbase=/tftpboot
Voilà , nous avons configurés les serveurs… maintenant il faut mettre en place les fichiers boot.
4. Configuration générale
Le serveur va installer les clients du réseaux à partir de fichier de configuration.
Le fichier de boot principal est pxelinux.0 ( que l’on a définit dans le dhcpd.conf )
Puis il y a le répertoire pxelinux.cfg , qui contiend le fichier default pour les paramètres élémentaires de boot.
L’arborescence est la suivante :
– splash.png
– vesamenu.c32
– initrd.gz
– initrd
Le fichier pxelinux.0 peut se télécharger ici
Le fichier /tftpboot/pxelinux.cfg/default est le fichier lu au démarrage du client sur le réseau.
Dans ce fichier, nous allons appeler le fichier /tftpboot/boot-screens/menu.cfg qui a la configuration du menu de choix de l’installation
Un exemple de fichier default:
default /boot-screens/vesamenu.c32
prompt 0
timeout 0
Une exemple de fichier /ftptboot/boot-sreens/menu.cfg :
menu width 49
menu vshift 12
menu title Installer Menu
menu background boot-screens/splash.png
menu tabmsg Press ENTER to boot or TAB to edit a menu entry
menu autoboot Starting Local System in # seconds
prompt 0
label bootlocal
menu label ^Boot from local disk
localboot 0
timeout 200
localtimeout 200
DEFAULT debian
menu begin debian
menu title Debian
DEFAULT Debian Lenny
label mainmenu
menu label ^Back…
menu exit
menu title Debian Lenny
menu begin debian-lenny-i386
menu title Debian Lenny i386
label mainmenu
menu label ^Back…
menu exit
DEFAULT install
LABEL install
menu label ^Install
menu default
kernel debian-lenny/linux
append initrd=debian-lenny/initrd.gz vga=normal –
menu end
menu end
5. Debian
5a. Fichiers d’installation
Les fichiers linux et initrd.gz sont spécifiques à la distribution et au type de machine ( x86, x64 , etc … ).
Ils se mettent dans le repertoire /tftpboot/typeOS/.
Pour debian lenny, vous pouvez récupérer ses fichiers version x86 :
– linux
– initrd.gz
Les mettre dans /tftpboot/debian-lenny/
Vous pouvez maintenant tester votre configuration ! Demarrez sur le reseau avec une machine cliente, vous devriez avoir le menu d’installation qui s’affiche !
Si tout marche, il faut maintenant ne pas avoir à refaire l’installation de A à Z. On peut définir une installation totalement automatisée ( partitionnement, utilisateurs , packets à installer ) grâce au fichier preseed.cfg.
5b. Installation sans assistance
Ce fichier sera appelé au démarrage de l’installation grace au mot-clé preseed/url dans le ficheir précédent ( /tftpboot/boot-screens/menu.cfg)
On remplace cette ligne
par cette ligne
Les mots-clés « languagechooser/langue-name », « countrychooser/shortlist », « console-keympas-at/keymaps » servent à définir la langue et le type de clavier du menu d’installation de debian
Le fichier preseed.cfg doit etre accessible par http, il faut donc installer le packet apache2 , et mettre le fichier preseed dans le repertoire
/var/www/INSTALLATION/
Un exemple de fichier preseed.cfg qui:
- FORMATE tout le disque
- crée un compte utilisateur test ( mot de passe : password, mot de passe root: password)
- installe debian par défaut ( sans interface graphique)
- ajoute ssh-server comme paquet à installer
est disponible ici
6. OpenSuse
Meme pricincipe que pour debian pour installer openSuse en mode normal.
6a. Fichiers d’installation
Pour openSuse 11.1,vous pouvez récupérer ses fichiers version x86 :
– linux
– initrd
il faut juste rajouter une nouvelle entrée dans notre menu.cfg
menu title Opensuse11
label ^Suse
kernel openSuse/i386/linux
append initrd=openSuse/initrd splash=silent vga=0×314 showopts install=http://download.opensuse.org/distribution/11.1/repo/oss/
menu end
Ce qui permet d’avoir le menu classique d’installation. Maintenant nous allons nous intéresser à l’installation sans assistante.
6b. Installation sans assistance
L’installation sans assistance de openSuse se fait grâce au fichier suse.xml.
Ce fichier permet de définir, comme le ficheir preseed.cfg de debian, le partitionnement, les utilisateurs , etc.
Pour pouvoir faire appel au fichier suse.xml, il faut modifier le fichier menu.cfg, et modifier la ligne
par
On ajout le mot-clé autoyast, qui définit le fichier de configuration automatique. Pour pouvoir y accéder, il est nécessaire d’installer apache2 sur notre serveur de déploiement (comme pour debian).

Bonjour,
Tout d’abord merci pour la qualité de ce document.
J’ai réussi avec mes petits doigts boudinés à monter mon serveur.
Cependant, je ne sais pas trop pourquoi, aprés le chargement de l’initrd…et le défilé de lignes, j’obtiens un écran noir et plus rien ne se passe.
Une piste, une route ou encore un cerveau correctement équipé seraient les bienvenus.
Merci
Cordialement
Euh !!!!!
En fait j’ai des gros doigts et un petit clavier…
J’ai fait une faute de frappe…
Tout fonctionne…..
Laurent