Sommaire

  1. configuration du serveur
    1. configuration DHCP/TFTP/NFS pour installer les PC grace au boot PXE
    2. configuration NFS :
    3. configuration du serveur DHCP
  2. Copie et configuration des médias
    1. Pour MANDRIVA:
    2. Pour UBUNTU
    3. Configuration de TFTP
    4. Configuration de PXELINUX:
  3. Mises à jour bi-annuelle des médias
    1. Mise à jour Ubuntu
    2. Mise à jour Mandriva avec les nouvelles ISO
  4. Mises à jour permanente des distributions

configuration du serveur

le serveur mis en place en Mars 2010 est : Debian GNU/Linux 5.0 (x86)

configuration DHCP/TFTP/NFS pour installer les PC grace au boot PXE

docs :

doc non utile ici (car PXE sur Debian) http://wiki.mandriva.com/en/Docs/Installing_Mandriva_Linux/PXE_Install
doc utile pour le netinst de Mandriva : http://wiki.mandriva.com/en/Development/Howto/Stage_One_Install
doc divers http://wiki.mandriva.com/fr/Installer_Mandriva_Linux

config pour TFTP:
doc Setting Up A PXE Install Server For Multiple Linux Distributions On Debian Lenny http://www.howtoforge.com/setting-up-a-pxe-install-server-for-multiple-linux-distributions-on-debian-lenny
doc Setting Up A PXE Install Server On Ubuntu 9.10 http://www.howtoforge.com/setting-up-a-pxe-install-server-on-ubuntu-9.10

config pour install de ubuntu en NFS
Installation d'ubuntu avec le LiveCD en réseau
http://dev.petitchevalroux.net/linux/installation-ubuntu-avec-livecd-reseau-linux.68.html

  • les procédures de netinst sont spécifiques aux distributions

configuration NFS :

# apt-get install nfs-kernel-server

contenu du fichier /etc/exports :

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
/media/inst *(ro,async,no_subtree_check)

recharger la configuration avec le commande

# exportfs -a

configuration du serveur DHCP

  • installation du paquet
# apt-get install dhcp3-server

contenu du fichier /etc/dhcp3/dhcpd.conf :

option domain-name "microtel91.local";
option domain-name-servers 172.16.0.1;

default-lease-time 6000;
max-lease-time 72000;

authoritative;
log-facility local7;

subnet 172.16.0.0 netmask 255.255.255.0 {
  option routers 172.16.0.1;
  range 172.16.0.10 172.16.0.254;
  next-server 172.16.0.1;
  filename "pxelinux.0";

Copie et configuration des médias

Pour MANDRIVA:

ici l'exemple est donné avec les DVD Mandriva Free 2010.1

  • Créer le répertoire de stockage:
# mkdir /media/inst
# cd /media/inst
  • Télécharger les ISO:
#wget ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/iso/2010.2/mandriva-linux-one-2010.2-GNOME-europe-americas-cdrom-i586.iso

  • Vérifier avec les Md5sum
# wget ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/iso/2010.2/mandriva-linux-one-2010.2-GNOME-europe-americas-cdrom-i586.iso.md5

  • on crée alors sous /media/inst des dossiers pour y copier le contenu des CD
# mkdir /media/inst/mandriva-linux-i586
# mkdir /media/inst/mandriva-linux-x86_64
  • Pour ne pas avoir à modifier le fichier de configuration des installations /var/lib/tftpboot/pxelinux.cfg/default, à chaque nouvelle version de la distribution, nous créons des liens symboliques des dossiers mdv-i586 et mdv-x86_64 vers les dossiers crées :

# ls -n mandriva-linux-i586 mdv-i586
# ls -n mandriva-linux-x86_64 mdv-x86_64
  • monter le 1er DVD (i586) ( en loopback) et copier les données (ici en exemple mandriva-linux-free-2010.0-i586.iso)
# mount -o loop mandriva-linux-free-2010.0-i586.iso /mnt  (cette commande ne fonctionne pas ?)
# cp -a /mnt/i586/* /media/inst/mandriva-linux-free-2010.1-i586
# umount /mnt
  • monter le 2ème DVD (x86_64) ( en loopback) et copier les données
# mount -o loop mandriva-linux-free-2010.0-x86_64.iso /mnt
# cp -a /mnt/x86_64/* /media/inst/mandriva-linux-free-2010.1-x86_64
# umount /mnt

grace aux liens symboliques créés nous accederons au contenu des DVD via les dossiers :

/media/inst/mdv-i586
/media/inst/mdv-x86_64

Nous n'avons plus besoin des images ISO que nous pouvons supprimer.

rm /media/inst/mandriva-linux-free-2010.0-i586.iso
rm /media/inst/mandriva-linux-free-2010.0-x86_64.iso

Pour UBUNTU

  • le "netboot"
# cd /var/lib/tftpboot/

On récupère un pxelinux préconfiguré (debian, ubuntu, etc...), et les kernels/initrd d'installation i386 et amd64 d'ubuntu

  • création du répertoire /var/lib/tftpboot/ubuntu-installer/i386 pour l'archive
# mkdir /var/lib/tftpboot/ubuntu-installer/i386
# cd /var/lib/tftpboot/ubuntu-installer/i386
  • download du netboot i386 :
# wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/netboot.tar.gz
  • on extrait l'archive
# tar xvzf netboot.tar.gz
./
./ubuntu-installer/
./ubuntu-installer/i386/
./ubuntu-installer/i386/initrd.gz
./ubuntu-installer/i386/linux
./ubuntu-installer/i386/pxelinux.0
./ubuntu-installer/i386/pxelinux.cfg/
./ubuntu-installer/i386/pxelinux.cfg/default
./ubuntu-installer/i386/boot-screens/
./ubuntu-installer/i386/boot-screens/vesamenu.c32
./ubuntu-installer/i386/boot-screens/adtext.cfg
./ubuntu-installer/i386/boot-screens/menu.cfg
./ubuntu-installer/i386/boot-screens/po4a.cfg
./ubuntu-installer/i386/boot-screens/prompt.cfg
./ubuntu-installer/i386/boot-screens/stdmenu.cfg
./ubuntu-installer/i386/boot-screens/text.cfg
./ubuntu-installer/i386/boot-screens/f1.txt
./ubuntu-installer/i386/boot-screens/f10.txt
./ubuntu-installer/i386/boot-screens/f2.txt
./ubuntu-installer/i386/boot-screens/f3.txt
./ubuntu-installer/i386/boot-screens/f4.txt
./ubuntu-installer/i386/boot-screens/f5.txt
./ubuntu-installer/i386/boot-screens/f6.txt
./ubuntu-installer/i386/boot-screens/f7.txt
./ubuntu-installer/i386/boot-screens/f8.txt
./ubuntu-installer/i386/boot-screens/f9.txt
./ubuntu-installer/i386/boot-screens/splash.png
./pxelinux.cfg
./pxelinux.0
./version.info
  • idem pour x86_64 :
# mkdir /var/lib/tftpboot/ubuntu-installer/amd64
# cd /var/lib/tftpboot/ubuntu-installer/amd64
# wget http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/current/images/netboot/netboot.tar.gz
# tar xvzf netboot.tar.gz 
./
./ubuntu-installer/
./ubuntu-installer/amd64/
./ubuntu-installer/amd64/initrd.gz
./ubuntu-installer/amd64/linux
./ubuntu-installer/amd64/pxelinux.0
./ubuntu-installer/amd64/pxelinux.cfg/
./ubuntu-installer/amd64/pxelinux.cfg/default
./ubuntu-installer/amd64/boot-screens/
./ubuntu-installer/amd64/boot-screens/vesamenu.c32
./ubuntu-installer/amd64/boot-screens/adtext.cfg
./ubuntu-installer/amd64/boot-screens/menu.cfg
./ubuntu-installer/amd64/boot-screens/po4a.cfg
./ubuntu-installer/amd64/boot-screens/prompt.cfg
./ubuntu-installer/amd64/boot-screens/stdmenu.cfg
./ubuntu-installer/amd64/boot-screens/text.cfg
./ubuntu-installer/amd64/boot-screens/f1.txt
./ubuntu-installer/amd64/boot-screens/f10.txt
./ubuntu-installer/amd64/boot-screens/f2.txt
./ubuntu-installer/amd64/boot-screens/f3.txt
./ubuntu-installer/amd64/boot-screens/f4.txt
./ubuntu-installer/amd64/boot-screens/f5.txt
./ubuntu-installer/amd64/boot-screens/f6.txt
./ubuntu-installer/amd64/boot-screens/f7.txt
./ubuntu-installer/amd64/boot-screens/f8.txt
./ubuntu-installer/amd64/boot-screens/f9.txt
./ubuntu-installer/amd64/boot-screens/splash.png
./pxelinux.cfg
./pxelinux.0
./version.info

Configuration de TFTP

  • installation du paquet
# apt-get install tftpd-hpa
  • Pour Mandriva on creer un dossier mandriva' sous /var/lib/tftpboot/ pour y copier les noyaux de boot des PC à installer.

# mkdir /var/lib/tftpboot/mandriva/i586
# mkdir /var/lib/tftpboot/mandriva/x86_64
# cp -a /media/inst/mdv-i586/isolinux/alt0 /var/lib/tftpboot/mandriva/i586
# cp -a /media/inst/mdv-x86_64/isolinux/alt0  /var/lib/tftpboot/mandriva/x86_64

Nous obtenons alors la configuration suivante :

# find /var/lib/tftpboot/mandriva/
/var/lib/tftpboot/mandriva/
/var/lib/tftpboot/mandriva/x86_64
/var/lib/tftpboot/mandriva/x86_64/alt0
/var/lib/tftpboot/mandriva/x86_64/alt0/vmlinuz
/var/lib/tftpboot/mandriva/x86_64/alt0/all.rdz
/var/lib/tftpboot/mandriva/i586
/var/lib/tftpboot/mandriva/i586/alt0
/var/lib/tftpboot/mandriva/i586/alt0/vmlinuz
/var/lib/tftpboot/mandriva/i586/alt0/all.rdz

Configuration de PXELINUX:

  • Création du fichier /var/lib/tftpboot/pxelinux.cfg/default

# mkdir /var/lib/tftpboot/pxelinux.cfg
  • Sous ce dossier créer un fichier appelé : default donc le contenu est :

DISPLAY boot.txt 

DEFAULT mandriva32

LABEL mandriva32
        kernel mandriva/i586/alt0/vmlinuz
        append initrd=mandriva/i586/alt0/all.rdz automatic=method:nfs,network:dhcp,server:172.16.0.1,directory:/media/inst/mdv-i586 vga=788 splash=silent

LABEL mandriva64
        kernel mandriva/x86_64/alt0/vmlinuz
        append initrd=mandriva/x86_64/alt0/all.rdz automatic=method:nfs,network:dhcp,server:172.16.0.1,directory:/media/inst/mdv-x86_64 vga=788 splash=silent

LABEL netubuntu32
        kernel ubuntu-installer/i386/linux
        append vga=788 initrd=ubuntu-installer/i386/initrd.gz -- quiet

LABEL netubuntu64
        kernel ubuntu-installer/amd64/linux
        append vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet

PROMPT 1
TIMEOUT 0
  • le fichier pxelinux.cfg est sous /var/lib/tftpboot

  • Pour Mandriva la correspondance des fichiers de boot des PC
mandriva/i586/alt0/vmlinuz      --> /var/lib/tftpboot/mandriva/i586/alt0/vmlinuz
mandriva/i586/alt0/all.rdz         --> /var/lib/tftpboot/mandriva/i586/alt0/all.rdz
mandriva/x86_64/alt0/vmlinuz -->  /var/lib/tftpboot/mandriva/x86_64/alt0/vmlinuz
mandriva/x86_64/alt0/all.rdz    -->/var/lib/tftpboot/mandriva/x86_64/alt0/all.rdz

L'installation se fait par NFS à partir de :

/media/inst/mdv-i586
/media/inst/mdv-x86_64
  • Si on veut un acces Internet, configurer le NAT sur le serveur d'installation
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • Note: remplacer eth0 par l'interface de sortie Internet.

Mises à jour bi-annuelle des médias

Mise à jour Ubuntu

Mise à jour Mandriva avec les nouvelles ISO

ici la mise à jour est faite avec les DVD Mandriva free 2010.2 32 et 64bit

  • copier iso sous /media/inst (une seule à la fos si ma,que de place)

#ls -l /media/inst/mandriva-linux-free-2010.2-*.iso
/media/inst/mandriva-linux-free-2010.2-i586.iso
/media/inst/mandriva-linux-free-2010.2-x86_64.iso
  • création des 2 nouveaux dossiers qui vont recevoir les contenus des DVD
# mkdir /media/inst/mandriva-linux-free-2010.2-i586
# mkdir /media/inst/mandriva-linux-free-2010.2-x86_64
  • On casse les anciens liens symbolique sous /media/inst/

mdv-i586 -> mandriva-linux-free-2010.1-i586/
mdv-x86_64 -> mandriva-linux-free-2010.1-x86_64/

pour les faire pointer sur les nouveau dossiers.

# cd /media/inst
# rm mdv-i586
# rm mdv-x86_64
  • on efface les anciens dossiers contenant les données
# rm -rf mandriva-linux-free-2010.1-i586
# rm -rf  mandriva-linux-free-2010.1-x86_64
  • on recreer les nouveaux liens
# ls -n mandriva-linux-free-2010.2-i586 mdv-i586
# ls -n mandriva-linux-free-2010.2-x86_64 mdv-x86_64
  • montage du nouveau DVD i586
# mount -o loop /media/inst/mandriva-linux-free-2010.2-i586.iso  /mnt
  • vérifiication du contenu de /mnt
# ll /mnt
total 9
-r-xr-xr-x 1 root root   82 2009-10-30 14:25 autorun.inf
-r--r--r-- 1 root root 2048 2010-07-01 16:14 boot.catalog
dr-xr-xr-x 3 root root 2048 2009-04-23 12:48 dosutils
dr-xr-xr-x 7 root root 4096 2010-07-01 16:14 i586
  • copie du contenu du DVD vers le dossier crée
#cp -a /mnt/i586 /media/inst/mandriva-linux-free-2010.2-i586
  • démontage et suppression du fichier ISO dont nous n'avons plus besoin.
# umount /mnt
# rm /media/inst/mandriva-linux-free-2010.2-i586.iso
  • idem pour le DVD x86_64
  • montage du nouveau DVD x86_64
# mount -o loop /media/inst/mandriva-linux-free-2010.2-x86_64.iso  /mnt
  • vérifiication du contenu de /mnt
# ll /mnt
total 9
-r-xr-xr-x 1 root root   82 2009-10-30 14:25 autorun.inf
-r--r--r-- 1 root root 2048 2010-07-01 16:14 boot.catalog
dr-xr-xr-x 3 root root 2048 2009-04-23 12:48 dosutils
dr-xr-xr-x 7 root root 4096 2010-07-01 16:14 x86_64
  • copie du contenu du DVD vers le dossier crée
#cp -a /mnt/x86_64 /media/inst/mandriva-linux-free-2010.2-x86_64
  • démontage et suppression du fichier ISO dont nous n'avons plus besoin.
# umount /mnt
# rm /media/inst/mandriva-linux-free-2010.2-x86_64.iso
  • mise à jour des noyaux de boot de PC à installer
# rm -r /var/lib/tftpboot/mandriva/i586/*
# rm -r /var/lib/tftpboot/mandriva/x86_64/*
# cp -a /media/inst/mdv-i586/isolinux/alt0 /var/lib/tftpboot/mandriva/i586
# cp -a /media/inst/mdv-x86_64/isolinux/alt0  /var/lib/tftpboot/mandriva/x86_64
  • mise à jour du fichier /var/lib/tftpboot/pxelinux.cfg/default pour indiquer le nouveau nom de la distribution.

label mandriva32
        menu label ^Mandriva 2010.2 32bit
        kernel mandriva/i586/alt0/vmlinuz
        append initrd=mandriva/i586/alt0/all.rdz automatic=method:nfs,network:dhcp,server:172.16.0.1,directory:/media/inst/mdv-i586 vga=788 splash=silent

label mandriva64
        menu label ^Mandriva 2010.2 64bit
        kernel mandriva/x86_64/alt0/vmlinuz
        append initrd=mandriva/x86_64/alt0/all.rdz automatic=method:nfs,network:dhcp,server:172.16.0.1,directory:/media/inst/mdv-x86_64 vga=788 splash=silent

Mises à jour permanente des distributions