• Aucun résultat trouvé

Mettre en place un serveur pour l installation automatisée de Windows XP.

N/A
N/A
Protected

Academic year: 2022

Partager "Mettre en place un serveur pour l installation automatisée de Windows XP."

Copied!
12
0
0

Texte intégral

(1)

CRDP de l’académie de Versailles

Mission TICE Médiapôles

mediapoles

@crdp.ac-versailles.fr

Mettre en place un serveur pour l’installation automatisée

de Windows XP.

584, rue Fourny 78530 Buc Tél. 01 39 45 78 78

Juin 2009

http://mediapoles.crdp.ac-versailles.fr

(2)

Introduction.

Qu’est-ce qu’UNATTENDED ?

Son concepteur dit lui-même qu’il aurait pu appeler son produit « Open RIS ». Il s’agit en fait d’un ensemble de scripts fonctionnant sur un serveur GNU-Linux et permettant d’installer sur des stations de façon silencieuse (unattended = le processus n’attend pas de réponses de l’utilisateur) un OS (Windows XP), ses mises à jour, et des logiciels

(bureautique, antivirus, etc ….).

UNATTENDED est mis gratuitement à disposition du public sous licence libre c’est à dire autorisant outre l’utilisation, la copie, la modification et la diffusion de l’ensemble du produit.

Pourquoi un serveur UNATTENDED sur une machine dédiée ?

La restauration de Windows XP sur les clients, si elle est faite simultanément sur plusieurs machines, va fortement solliciter le serveur, et rendre son utilisation « normale » difficile pour les utilisateurs.

C’est pourquoi il vaut mieux dans la mesure du possible, et surtout si la restauration doit se faire pendant les heures ouvrables, installer le serveur UNATTENDED sur une machine dédiée.

Installation du serveur.

1. Installer un système de base Debian GNU-Linux (version stable).

Il n’est pas nécessaire de disposer d’une machine très puissante ; une bonne carte réseau, 256 Mo de RAM et un disque dur véloce seront des plus. La machine doit être connectée sur Internet, et pouvoir disposer d’un débit descendant raisonnable.

Au démarrage de l’installation, il est conseillé de choisir « Advanced options » puis

« Graphical expert install ».

L’installation de la distribution Debian stable est documentée ici : http://formation-debian.via.ecp.fr/intro-partie1.html

L’installation peut-être minimale : au moment de la procédure d’installation, il suffit de : - configurer le réseau en utilisant une adresse IP fixe (et non par DHCP, qui est le choix par

défaut).

- réserver un espace important à la partition /var ; c’est dans cette partition que sera copié l’ensemble des données nécessaires au fonctionnement du logiciel.

- créer un utilisateur unattend avec un mot de passe quelconque (ici una123) - décocher tout lors du choix des paquets à installer avec tasksel

NB : pour pouvoir éditer les fichiers de configuration et mettre en place les différents éléments nécessaires au fonctionnement du serveur, il est souhaitable d’installer un service ssh par la commande :

apt-get install ssh

(3)

Il est ensuite possible d’utiliser par exemple le logiciel filezilla pour accéder au serveur en sftp depuis un client (Windows, Linux en interface graphique, Mac).

Dans Filezilla, il suffit d’ajouter un nouveau site avec les paramètres de la capture d’écran ci- dessous :

Dans cette capture d’écran 192.168.1.6 correspond à l’adresse IP du serveur unattended. Les identifiants et mot de passe sont ceux du compte « root » créé à l’installation de Debian.

Clé à accepter lors de la première connexion :

Il peut être très pratique d’installer l’explorateur de fichier/éditeur mc apt-get install mc

Le lancement de l’explorateur de fichiers mc se fait tout simplement en tapant mc en ligne de commande

2. Installer un serveur de boot : atftpd - apt-get install atftpd

- Editer le fichier /etc/inetd.conf et rechercher la ligne configurant le service tftp. Elle doit se terminer par par /tftpboot (Attention… la ligne doit se terminer SEULEMENT par /tftpboot) Vous devrez certainement supprimer /var/lib qui sera déjà écrit.

- Relancer le service inet par la commande : /etc/init.d/inetutils-inetd restart

(4)

3. Installer un serveur dhcp : dhcp3-server - apt-get install dhcp3-server

- éditer le fichier /etc/dhcp3/dhcpd.conf qui doit ressembler à quelque chose comme ça :

# Exemple de fichier de configuration pour dhcpd

# Déclarations des options communes.

# Déclarations des options communes.

option domain-name "stage.local";

option domain-name-servers 192.168.2.1;

default-lease-time 600;

max-lease-time 7200;

# Déclaration des options particulières au subnet utilisé.

subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.200 192.168.2.240;

option routers 192.168.2.1;

# Déclarations des options liées au serveur de démarrage.

next-server 192.168.2.10;

filename "pxelinux.0";

}

# Modèle de déclaration des IP permanentes.

# Décommenter les lignes suivantes et les renseigner.

#host fantasia {

# hardware ethernet 08:00:07:26:c0:a5;

# fixed-address 192.168.2.211;

#}

Dans l’exemple ci-dessus, 192.168.2.10 est l’adresse IP du serveur Unattended lui même.

pxelinux.0 << lire « zéro »

Relancer ensuite le serveur DHCP par la commande : /etc/init.d/dhcp3-server restart.

4. Installer unattended

- Télécharger les paquets logiciels nécessaires à partir de l’adresse suivante : http://sourceforge.net/projects/unattended/ .

La version actuelle porte le n° 4.8. Il faut donc récupérer les fichiers « unattended-4.8- linuxboot.zip » et « unattended-4.8.zip »

- Décompresser les deux fichiers ZIP dans un même répertoire nommé « unattended » puis transférer leur contenu dans le dossier /var de votre serveur.

- Télécharger les fichiers « menu.c32 » et « fr.kbd » à l’adresse http://mp-gif.ac-

versailles.fr/ftp/unattend/fichiers , et les coller dans /var/unattended/linuxboot/tftpboot, à côté du fichier pxelinux.0

- Editer le fichier /var/unattended/linuxboot/tftpboot/pxelinux.cfg/default et le modifier en s’inspirant du modèle disponible ici

http://mp-gif.ac-versailles.fr/ftp/unattend/fichiers/default .

Ces manipulations permettent de démarrer une station sur le réseau tout en protégeant l’opération par un mot de passe.

(5)

- Modifier les droits sur le dossier /var/unattended par la commande suivante :

chmod –R 755 /var/unattended ( = droits de lecture pour tout le monde dans tous les répertoires) ATTENTION : Cette commande est à refaire régulièrement dès lors que vous modifiez, complétez … des fichiers dans ce répertoire !

- Faire un lien symbolique de /var/unattended/linuxboot/tftpboot vers /tftpboot par la commande :

ln –s /var/unattended/linuxboot/tftpboot /tftpboot

- Faire le ménage dans le dossier /var/unattended/install/scripts ; les seuls scripts

indispensables sont base.bat(*), defrag.bat, perl.bat et ceux concernant les mises à jour de xp, ainsi que le kb873374.reg. Effacer tous les autres scripts et tous les répertoires autres que « enu » et « fra ».

- Actualiser le logiciel en téléchargeant les dernières mises à jour. Pour ce faire, lancer successivement les commandes :

/var/unattended/install/tools/script-update /var/unattended/install/tools/prepare FRA Vérifier ensuite que tout est à jour par la commande :

/var/unattended/install/tools/check FRA

Si cette dernière commande renvoie encore une réponse, relancer la commande prepare jusqu’à ce qu’il n’y ait plus rien à mettre à jour.

Cette séquence de mise à jour peut être automatisé par une tâche cron :

• lancer la commande crontab –e

• Insérer les lignes suivantes :

45 0 * * * /var/unattended/install/tools/script-update 0 1 * * * /var/unattended/install/tools/prepare FRA

• Enregistrer

La première commande sera alors lancée tous les jours à minuit 45, et la seconde à une heure.

NB : Les problèmes d’installation et de mise à jour, repérés au 8 juin 2009 et qui devraient pour certains être corrigés dans les prochaines versions du logiciel.

windows-kb890830-v2.8.exe n’est plus disponible et est remplacé par windows-kb890830-v2.10.exe.

Il faut donc télécharger la nouvelle version et la déposer dans le dossier

/var/unattended/install/updates/common/k890830. Il faut donc également modifier en conséquence la ligne 38 du script /var/unattended/install/scripts/winxpsp3-extras.bat qui y fait référence. Le problème est que cette modification est annulée par la mise à jour.

Le « Windows Genuine Advantage Validation Tool », dit WGA, n’est pas installé dans la mesure ou son installation silencieuse n’est pas possible. Cela ne devrait pas être modifié prochainement.

L’installation de ie7 peut bloquer l’installation en empêchant un reboot de s’effectuer. Il faut alors provoquer le reboot « à la main ».

La mise à jour vers ie8 n’est pas encore implémentée.

Il peut arriver qu’une erreur se produise en toute fin d’installation avec une erreur sur la commande

« net localgroup ». Il s’agit probablement d’un bug qui devrait être corrigé. En attendant, il est possible de commenter par un « # » la ligne 849 du fichier /var/unattended/install/dosbin/install.pl.

Attention à laisser les deux derniers caractères de la ligne (« ) ; ») en dehors du commentaire en insérant un saut de ligne avant ces deux caractères.

5. Installer et configurer samba - apt-get install samba

- editer le fichier /etc/samba/smb.conf et y apporter les modifications suivantes :

#======================= Global Settings =======================

(6)

(...)

# Change this to the workgroup/NT-domain name your Samba server will part of workgroup = STAGE

(...)

# WINS Server - Tells the NMBD components of Samba to be a WINS Client

# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both wins server = ip_du_serveur_wins

(...)

#### Networking ####

(...)

interfaces = 192.168.2.0/24 eth0 (...)

####### Authentication #######

# "security = user" is always a good idea. This will require a Unix account

# in this server for every user accessing the server. See

# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html

# in the samba-doc package for details.

security = user (...)

obey pam restrictions = yes guest account = nobody invalid users = root guest ok = yes

# This boolean parameter controls whether Samba attempts to sync the Unix

# password with the SMB password when the encrypted SMB password in the

# passdb is changed.

unix password sync = yes (...)

#======================= Share Definitions =======================

[install]

comment = partage unattended path = /var/unattended/install valid users = unattend admin users = unattend browseable = no read only = no

Enregistrer le mot de passe samba de l'utilisateur unattend par la commande

smbpasswd -a unattend (entrer deux fois le mot de passe comme demandé ensuite), puis redémarrer le service samba par la commande /etc/init.d/samba restart

(7)

Mise en place de l’OS et des drivers

1. Les sources d’installation génériques de Windows : c’est simple.

- Dans le dossier /var/unattended/install/os, créer un dossier winXP (attention, si vous voulez utiliser plus loin le script n-install.sh, il vous faut indiquer ce nom en respectant la casse des caractères) et y copier le répertoire i386 du CdRom d’installation d’une version

« VLK » de Windows XP (attention là encore à bien écrire « i386 » avec un i minuscule).

- A l’intérieur du dossier i386, créer un dossier nommé $OEM$, et contenant lui-même un dossier nommé $1, destiné à recevoir les drivers spécifiques à chaque type de machine et qui seront installés automatiquement.

- Copier le script suivant dans un fichier /usr/local/bin/n-install.sh

#! /bin/sh

# changer le chemin d'unattended si nécessaire unattended=/var/unattended

winXP=winXP

echo "creation d'un nouveau répertoire d'installation"

echo "pour une nouvelle config materielle"

echo "entrez le nom du répertoire (8 caractéres max) :"

read dir

cp -lR $unattended/install/os/$winXP $unattended/install/os/$dir chown -R unattend.root $unattended/install/os/$dir

chmod -R 755 "$unattended/install/os/$dir/i386/\$OEM\$/\$1"

echo "répertoire $dir créé "

echo "vous devez maintenant modifier les drivers dans ce répertoire"

echo "en ne laissant que ceux nécessaires ou en ajoutant d'autres"

- Modifier les droits sur le script pour le rendre exécutable par l’utilisateur root, par la commande :

chmod 700 /usr/local/bin/n-install.sh

2. Les drivers spécifiques à chaque installation : ça se complique.

Au cours de l’installation de windows XP, l’ensemble du contenu du dossier $1 est copié dans le dossier C:\drivers. Si l’on dispose de plusieurs types de configurations différentes, la taille de ce dossier peut rapidement devenir importante ; de plus il peut se présenter des problèmes de conflit entre différents pilotes.

Il est donc nécessaire de créer des répertoires d'installation différents pour chaque type de configuration matérielle. Le problème, dans ce cas, la duplication du dossier i386 sur le serveur pour chaque configuration. D’où l’intérêt d’utiliser une fonction puissante d'Unix : les liens durs (cp -lR). Au lieu de copier le fichier, on crée un pointeur vers celui-ci. C’est la fonction du script n-install.sh.

Pour chaque configuration matérielle, il faut donc :

- lancer le script n-install.sh (Attention, il ne faut pas le lancer depuis le répertoire dans lequel il se trouve sinon cela ne fonctionne pas)

- donner un nom explicite à la configuration, d’au plus huit caractères

- peupler le dossier $1 de l’ensemble des drivers spécifiques à la configuration matérielle et non disponibles par défaut dans les sources de windows XP.

Si jusque là les choses étaient à peu près claires, cette partie est la plus pénible car la moins

« standardisée ». Ce qu’il faut savoir, c’est que l’organisation de l’arborescence du dossier importe peu mais chaque pilote doit comporter un fichier *.inf, ainsi que les drivers eux

(8)

même. Il faut donc en général décompresser les pilotes téléchargés sur le net, et copier le répertoire approprié (XP en général) dans $1. Certains pilotes (chez Intel en particulier) demandent une dizaine de manipulations plus ou moins parfaitement documentées avant d'être directement installables!

Attention ! Tous les noms doivent être au format DOS (8.3), et l'ensemble du chemin depuis winXP inclus ne doit pas dépasser 64 caractères, ce qui interdit la plupart du temps de simplement recopier les pilotes depuis le CdRom d’installation.

A ce stade, il est possible de faire une installation, mais le processus n’est pas encore automatique : il est nécessaire de répondre à quelques questions de l’installeur. Il nous faut donc maintenant configurer les fichiers de réponse de façon à rendre l’installation entièrement automatique.

3. Fichiers de réponse pour une installation « unattended ».

Les deux fichiers importants se trouvent dans /var/unattended/install/site, et se nomment unattend.txt et unattend.csv. Le premier définit les éléments de configuration valables pour toutes les configurations, le second permet de différencier les installations et de les

personnaliser pour chaque machine du réseau. Le critère discriminant sera au départ l’adresse MAC de l’interface qui va initier la connexion sur le serveur de boot.

- Le fichier unattend.txt

On peut trouver sur internet toute la documentation voulue sur ce fichier de réponse. En voici un exemple dont on peut s’inspirer :

; General user information [UserData]

[Identification]

AdminPassword=motdepasse [GuiUnattended]

TimeZone=105 OEMSkipRegional=1 OemSkipWelcome=1

AdminPassword=motdepasse [Unattended]

UnattendMode=DefaultHide FileSystem=ConvertNTFS ExtendOemPartition=0 OemSkipEula=Yes OemPreinstall=Yes

; Needed for XP - see <http://support.microsoft.com/?kbid=294801>.

UnattendSwitch=Yes DriverSigningPolicy=Ignore WaitForReboot=No

[Components]

; Install IIS by default iis_common=Off iis_inetmgr=Off iis_www=off

; Docs suggest iis_pwmgr only works on Win2k, but include it

; anyway

(9)

iis_pwmgr=Off

; Include docs iis_doc=Off accessopt=off chat=off deskpaper=off iisdbg=off

indexsrv_system=off media_clips=off media_utopia=off mousepoint=off msnexplr=off pinball=off zonegames=off [Data]

AutoPartition=1 MsDosInitiated="0"

UnattendedInstall=Yes [Display]

BitsPerPel=32 Xresolution=1024 YResolution=768 Vrefresh=75 [Networking]

InstallDefaultComponents=Yes [_meta]

ntinstall_cmd="nt5x-install "

fdisk_lba=1

fdisk_cmds="fdisk /clear 1;fdisk /pri:7000;fdisk /activate:1"

fdisk_confirm=0

format_cmd="format /y /z:seriously /q /u /a /v: c:"

replace_mbr=1 local_admins

ntp_servers="ntp.ac-versailles.fr"

edit_files=0 [Branding]

BrandIEUsingUnattended=Yes [URL]

Home_Page=about:blank [shell]

DefaultStartPanelOff=yes DefaultThemesOff=yes [windowsFirewall]

Profiles=WindowsFirewall.TurnOffFirewall [WindowsFirewall.TurnOffFirewall]

Mode=0

(10)

- Le fichier unattend.csv

Il permet de définir certaines caractéristiques du système à installer : type d’installation, nom de la machine, clé de licence, logiciels supplémentaires à installer, etc., en fonction de l’adresse MAC de la machine.

En voici un exemple :

"Lookup","Property","Value"

"0007E9F57EA9","ComputerName","postea"

"0007E9F57EB1","ComputerName","posteb"

"0007E9F57E3F","ComputerName","postec"

"Default","FullName","Mp-Gif"

"Mp-Gif","OrgName","LVC"

"postea","OS_media","type1"

"posteb","OS_media","type2"

"postec","OS_media","type3"

"Default","Windows XP Professionnel ProductKey","MICRO-SOFTN-OUSCA-SSELE-SPIED"

"Default","Windows XP Professionnel ProductID","MICRO-SOFTN-OUSCA-SSELE-SPIED"

"Default","JoinWorkgroup","workgroup"

"Default","top_scripts","base.bat"

"Default","middle_scripts","ie7.bat"

Selon ce fichier, les machines seront automatiquement nommées en fonction de l’adresse MAC de leur interface réseau. Le nom de l’utilisateur et l’organisme seront les mêmes partout (directive « default »), de même que la clé de licence, le groupe de travail, et les scripts lancés.

Par contre, les trois postes correspondent à des types d’installations différentes, donc à des configurations matérielles différentes.

Le script « base.bat » peut être modifié : par défaut, il force l’installation des mises à jour de windows après l’installation, et fait une défragmentation post-installation. Le script « ie7.bat » peut-être remplacé par un « perso.bat », créé en fonction des besoins. Ces fichiers sont tous situés dans le dossier

/var/unattended/install/scripts.

Dernier point, le fichier config.pl situé dans le même dossier que les fichiers unattend.txt et

unatend.csv est bogué, dans la mesure où il n’installe pas automatiquement les divers. Le remplacer par cette version : http://mp-gif.ac-versailles.fr/ftp/unattend/fichiers/config.pl

(11)

Lancer l’installation de WindowsXP

- Dans le BIOS de la machine à installer, activer la fonction de boot PXE

- Au démarrage de la machine appuyer sur la touche F12 : la carte réseau est alors le premier périphérique de boot et l’installation démarre.

- Au cours de la première installation, en particulier lors des différents reboots effectués lors des mises à jour, il est possible de voir apparaître des messages d’erreur de deux types :

1- Impossible de connecter un lecteur réseau. Le problème est en général lié au temps que prend WinXP pour rendre disponible l’interface réseau ; la deuxième tentative de montage qui a lieu automatiquement au bout de quelques secondes se traduit en général par un succès et le processus peut continuer.

2- Un script est nécessaire mais n’a pas été téléchargé. Il est appelé par l’installeur mais ne pouvant être trouvé sur le serveur cela se traduit par un message

d’erreur proposant d’ignorer, d’abandonner ou de retenter l’exécution du programme qui a échoué. Il convient alors de télécharger le script sur le site http:// unattended.cvs.sourceforge.net de l’installer « à la main » sur le serveur, d’y relancer la commande prepare FRA, et enfin de retenter l’exécution de la commande sur la machine cliente.

(*) Il est possible de commenter certaines lignes dans le fichier « base.bat », en particulier la ligne qui lance la défragmentation, ou celle qui lance les mises-à-jour de Windows. Pour ce faire, faire précéder la ligne de « :: » (deux fois deux points).

(12)

Document réalisé par :

François-Xavier Vial, Conseiller TICE du bassin de Massy - Médiapôle de Gif François.Xavier.Vial@crdp.ac-versailles.fr

Michaël Vilbenoit, Conseiller TICE du bassin de Rambouillet - Médiapôle de Rambouillet Michel.Vilbenoit@crdp.ac-versailles.fr

Sources :

Le site du projet “UNATTENDED” : http://unattended.sourceforge.net

Références

Documents relatifs

Comme vous le savez, notre serveur est sur Internet mais s'il n'est pas sur le port par défaut, vous ne pourrez pas y

Si vous souhaitez que votre serveur BIMoffice se lance automatiquement au démarrage de la machine serveur, effectuez un clic droit dans le Dock sur l’icône de

Plus loin avec Windows XP 73 Panneau de configuration - Affichage - Fond d’écran. Plus loin avec Windows

• For other than power or no reported error codes, explain the symptom in the comments section.. International Business Machines Corporation General Systems Division.

Si ce n'est pas le cas vous devez la configurer, je vous renvoie à notre manuel Créez votre réseau avec Windows 98/me/2000/xp

• La collaboration continue entre le mécanisme d’harmonisation pour la santé en Afrique, l’Union africaine, la Commission économique pour l’Afrique (CEA) des Nations Unies

Une fois le compte ou- vert sur le serveur, il convient de personnaliser l'environnement du nouvel utilisateur sur un poste de travail, par exemple ouvrir un compte de courriel,

Pour la sélection du serveur choisir Select a server from the server pool et cliquer Next.. Dans les roles de serveur, metter case serveur Web Server IIS et