g4u — Un cloneur d'image système pour PC
Version française de g4u — Harddisk Image Cloning for
PCs
Version : 2.2.fr.0.3
5 octobre 2006
Hubert
Feyrer
hubert CHEZ feyrer POINT de
Joseph
Boiteau
Adaptation française
josephboiteau CHEZ gmail POINT com
François-Xavier
Detournière
Relecture de la version française
fx POINT detourniere CHEZ wanadoo POINT fr
Jean-Philippe
Guérard
Préparation de la publication de la v.f.
fevrier CHEZ tigreraye POINT org
2.2.fr.0.3
14-09-2006
JB,FXD
Mises à jour du document (formatage) et
relecture
2.2.fr.0.2
24-07-2006
JB
Première publication en français
2.2
31-05-2006
HF
Ce document décrit la configuration et l'exploitation du logiciel
libre g4u, un programme permettant de sauvegarder, sur un serveur FTP,
une image disque de la machine locale. Simple, robuste et efficace,
cette application ne manquera pas de séduire bon nombre
d'administrateurs.
Traduction en français basée sur la version 2.2 de la documentation officielle
Qu'est ce que c'est ?
g4u (ghost for unix
) est un système à base NetBSD,
amorçable (disquette/cdrom), qui permet de cloner facilement des images
disques, permettant ainsi de déployer un même système sur de multiples
machines via FTP. Le support amorçable offre 2 options : l'une est de
remonter, compressée, l'image d'une machine locale via FTP, l'autre est la
restauration via FTP, suivi d'une décompression et d'un remplacement du
disque original. La configuration réseau se fait via DHCP. L'exploitation
du disque se faisant comme une image, tout système de fichier ou
d'exploitation peut être déployé en utilisant g4u. Le clonage des disques
et partitions locales est tout aussi facilement possible.
Pour les impatients curieux, quelques captures d'écran sont
disponibles :
Démarrage de
g4u dans bochs
Détection de
périphériques
Bienvenue dans
g4u !
Quelques
commandes g4u
Envoi d'une
image avec uploaddisk
Restauration
avec slurpdisk
Pourquoi pas une des alternatives existantes ?
La partie serveur est souvent prévue pour être sous DOS/Windows.
Je voulais utiliser un serveur de type Unix.
Les systèmes de fichiers supportés comptent tous ceux de
Microsoft, mais les autres sont mal supportés (Solaris/x86, NetBSD, et
cætera.)
Je n'ai pas envie de m'infliger (plus jamais) la mise en place
d'une disquette de boot DOS qui configure le réseau via DHCP.
Je me suis amusé à faire un déploiement multiple avec IMM, mais
cela fut trop lent, j'ai donc décidé d'aller plus loin.
Prérequis & téléchargement
Trois disquettes vierges 1.44MB, ou un CD-R/RW vierge
Un serveur FTP avec quelques Giga de libres
Un serveur DHCP
Ajouté à ça, vous pourriez avoir besoin des éléments
suivants :
Les images disquettes g4u 2.2 (zippées / non
compressées : disquette une,
disquette
deux et disquette
trois)
L'image ISO CD g4u 2.2 (zippée / non
compressée)
Le code
source de g4u 2.2
Les checksums MD5 associés :
MD5 (g4u-2.2-1.fs) = 195d8e8efe4a5ae30ab9c3f9c4714927
MD5 (g4u-2.2-2.fs) = b0244439fb3f3826a8915d27fc9008e3
MD5 (g4u-2.2-3.fs) = aac41da46ee3f3c420eea5cdf45877d6
MD5 (g4u-2.2.iso) = f0e884c04b332e0b029b1a7b2ed98f2c
MD5 (g4u-2.2.tgz) = f3e05d5953c4b43f37812362665fcdae
MD5 (g4u-2.2.fs.zip) = 3de640a7c53704980f416b740512ddf6
MD5 (g4u-2.2.iso.zip) = 5b0252a83fb432e51d2fbdf3bcc310d8
D'anciennes versions sont également disponibles :
Image disquette g4u 1.17 (zippée / non
compressées)
ISO du CD g4u 1.17 (zippée /
compressées)
Les sources
g4u 1.17
Vous pouvez aussi télécharger une image d'un de ces
miroirs :
Australie
Canada
L'utiliser
Préparations
En utilisant les images disquettes :
Téléchargez les images
disquettes, g4u-2.2-1.fs, g4u-2.2-3.fs et g4u-2.2-3.fs ou
g4u-2.3.fs.zip, qui contient ces fichiers.
Si vous avez téléchargé le fichier g4u-2.1.fs.zip,
décompressez le, vous obtiendrez les 2 fichiers g4u-2.1-1.fs et
g4u-2.1-2.fs
Mettez chacune de ces images sur des disquettes
distinctes. Sur un système Unix, un simple cat
g4u-2.2-1.fs >/dev/diskette
fera l'affaire (et de
même pour -2.fs). Le chemin du lecteur de disquette devrait vous
être familier, les chemins courants sont :
NetBSD : /dev/fd0a
Solaris : /dev/diskette
Linux : /dev/fd0
Il en va de même pour les périphériques USB (clés et
autres mémoires flash), mais vous devrez y mettre l'image g4u.fs
venant de l'ISO :
NetBSD : /dev/sd0d
Linux : /dev/sd0
Si vous utilisez Microsoft Windows ou DOS, utilisez rawrite.exe.
Il y a aussi un programme Windows appelé rawr32.zip
qui vous le permettra.
Utilisation de l'image CDROM de g4u :
Téléchargez l'image CD,
g4u-2.2.iso ou g4u-2.2.iso.zip
Si vous téléchargez le fichier g4u-2.1.iso.zip,
décompressez le pour avoir g4u-2.1.iso.
Référez vous au manuel de votre logiciel de gravure (Nero,
DiskJuggler, WinOnCD, cdrecord, et cætera), pour réussir votre
coup. Notez bien que l'image est amorçable.
Sur le serveur FTP de votre choix, créez un compte utilisateur
appelé install, et protégez-le d'un mot de passe.
Vérifiez que l'utilisateur « install » puisse se connecter via
ftp.
Si vous voulez utiliser un compte différent, vous pouvez
spécifier login@server pour slurpdisk,
uploaddisk, et cætera.
Assurez vous d'avoir un service DHCP fonctionnel vous
permettant d'accéder par la suite au serveur ftp (name server,
netmask, default gateway). Dans le cas contraire vous pourrez
toujours faire un paramétrage manuel de
l'IP.
Création de l'image
Démarrez sur la machine à cloner à l'aide du CD ou des
disquettes g4u. Vous verrez le noyau se charger depuis le support,
puis la liste des périphériques trouvés sur la machine. Ensuite
l'appel au DHCP (veillez bien à ce que celui-ci soit correctement
configuré !). A la fin, une brève description des commandes
disponibles est affichée et un shell est à disposition.
Tout le disque :
Tapez uploaddisk adresse.serveur.ftp
nomdefichier.gz pour opérer une copie intégrale du disque,
et la mettre sur le compte "install" de votre serveur ftp sous le
nomdefichier donné. L'image disque est compressée (avec gzip -9), il
est donc usuel d'apposer l'extension ".gz" au fichier
concerné ; mais pas obligatoire :). Avant que l'envoi des
données ne se fasse, le mot de passe du compte « install » vous sera
demandé.
Si vous voulez cloner le disque secondaire, ajoutez son nom
sur la ligne de commande d'uploaddisk : "uploaddisk
adresse.serveur.ftp nomdefichier.gz wd1". De la même manière vous
pourrez utilisez des disques SCSI : uploaddisk
adresse.serveur.ftp nomdefichier.gz sd0.
Si vous avez préféré utiliser un nom de compte différent du
compte "install", faites-en précédé le nom du serveur, tel que
moncompte@adresse.serveur.ftp pour chaque
commande, uploaddisk et slurpdisk.
Seulement une partition :
Affichez la liste des différents disques identifiés par g4u
via la commande disks, la liste des partitions
d'un disque est disponible via la commande parts
disk, où disk est le nom du disque à afficher tel que wd0,
wd1, sd0, et cætera. Les partitions sont numérotées avec des lettres
commençant à 'a', où les partitions de a à d sont communément
prédéfinies, avec vos propres partitions commençant à 'e'. Ces
partitions sont de type BSD, qui ont quelques similitudes avec les
partitions DOS [dixit l'auteur]. Pour spécifier une partition,
utilisez "wd0e" ou "sd0f" : uploadpart
adresse.serveur.ftp nomdefichier.gz wd0e. Lancez
"uploadpart" sans options pour faire afficher détails et exemples
sur la commande.
Suite au traitement (ignorez les erreurs :-), vous devez
retrouver le shell. Selon vos capacités réseau, CPU, disques et le
contenu, la création et l'envoi de l'image peut durer plusieurs
heures !
Vous pouvez éteindre la machine à l'aide de la commande
halt ou simplement en pressant le bouton
reset/power - aucun système de fichier n'étant monté, aucun dommage
ne peut être occasionné.
Vérifiez que le compte "install" de votre serveur FTP a reçu
le(s) fichier(s) image.
Déploiement de l'image
Amorcez la machine à l'aide des disquette ou du CD, puis, au
prompt, effetuez l'une des actions suivantes :
Pour un disque complet :
Tapez la commande slurpdisk adresse.serveur.ftp
nomdefichier.gz. Celle-ci va se connecter au serveur ftp,
compte install, vérifier le mot de passe,
récupérer l'image, la décompresser et la remettre en place sur
/dev/rwd0d.
Si vous voulez restaurer une image sur un disque SCSI, ajouter
son nom à la commande, comme suit : slurpdisk
adresse.serveur.ftp nomdefichier.gz sd0.
Voir plus haut pour l'utilisation d'un compte FTP autre que
install.
Une partition :
Utilisez slurppart yadresse.serveur.ftp
nomdefichier.gz wd0e ou toute valeur passée précédement à
uploadpart. Notez bien que l'information du positionnement de la
partition vient du MBR, qui devra être la même qu'au moment de la
création de l'image - attendez vous à quelques surprises si la table
de partitionnement a été modifiée entre la création de l'image et la
restauration. Dans le cas de modifications à ce niveau, vérifiez le
secteur de début ainsi que la taille de la partition (commande
parts). Pour une image disque complète, pas de
soucis, faites une restauration complète avec
uploaddisk (le MBR étant inclus).
Redémarrez la machine (commande reboot ou
bouton reset), et votre machine est comme avant (elle le doit en
tout cas).
Copier un disque localement
Si vous souhaitez simplement copier un disque local vers un autre
(ce qui correspond aux commandes uploaddisk et
slurpdisk, au FTP près), vous pouvez le faire avec la
commande copydisk. La commande prend les noms des 2
disks en paramètres, la source puis la cible, et copie les données de
l'une à l'autre. Si par exemple l'on veut copier le premier disque
wd0
vers le deuxième wd1
:
copydisk wd0 wd1
De même pour des disques SCSI : copydisk sd0
sd1, et cætera.
Attention !
Toutes les données du disque cible seront écrasées !
Je rappelle que la liste des disques est disponible avec la
commande disks.
Copier une partition localement
De même qu'avec la copie locale de disques, si vous souhaitez
simplement copier une partition locale vers une autre, vous pouvez le
faire avec la commande copypart. La commande prend
les 2 noms des partitions en paramètres, la source puis la cible, et
copie les données de l'une à l'autre. Si par exemple l'on veut copier la
première partition wd0e
vers la seconde
wd0f
, faites :
copypart wd0e wd0f
Encore une fois, la liste des disques est disponible via la
commande disk, et la liste des partitions d'un disk
via la commande parts. Les noms de partitions sont de
la forme wd0d
, w1e
, sd1f
(système BSD) ; hda1
, hda2
,
sda1
(linux), et cætera.
Attention à ce que les partitions source et cible aient la même
taille (en nombre de secteurs), sinon de drôles de choses peuvent
arriver. En copiant une partition trop grande pour la partition cible,
g4u ne va pas écraser les données suivants la petite partition, mais la
copie restera partielle. Gardez l'idée en tête, cela arrive dans ce
genre de copie et ne pose d'ailleurs pas de problème à l'inverse en
copiant une petite partition dans une plus grande !
FAQ et autres détails sur le clonage de disque
Systèmes de fichiers supportés
L'une des questions des plus courantes : quels
systèmes de fichiers supporte g4u
. La réponse est :
tous
. g4u lit le disque bit à bit, du premier au dernier.
Ceci inclut le MBR, la table de partition ainsi que les partitions
elles-mêmes sans même aller voir ce qu'il se trouve dans
celles-ci.
Systèmes d'exploitations supportés
La liste des systèmes d'exploitation supportés par g4u se
rapproche de la liste précédente, TOUS. Encore une fois, étant donné
l'approche image
de g4u, tout système peut être
copié.
En plaçant un disque dur conteneur
dans un PC, g4u
peut même copier/déployer un système d'exploitation non-PC sur ce
périphérique. Des systèmes tels que HP-UX, Irix, Solaris, AIX par
exemple.
Matériel supporté
Le système utilisant g4u peut avoir des disques de type IDE, SATA,
SCSI ou RAID avec de multiples contrôleurs (Adaptec, et cætera). Il en
est de même pour bon nombre de cartes PCMCIA, Cardbus, ISA et autres
cartes PCI. Jetez un oeil à la configuration du noyau
de g4u pour une liste plus complète du matériel supporté.
Pour vous assurer le bon support d'un type matériel, il vous
suffit d'amorcer votre système avec g4u et de vérifier avec la commande
ifconfig -a que votre carte réseau est listée et donc
reconnue, et de même pour les disques avec la commande disks
. Dans le cas contraire, un long périple peut vous être
nécessaire pour arriver à vos fins... analysez la sortie de
dmesg (sous g4u ;touche espace pour faire défiler
l'affichage). Si besoin, demandez de l'aide
. Voyez la partie Retour
d'erreurs
pour plus d'informations à ce sujet.
Un mot sur les disques de différentes tailles
A la question comment g4u gère les disques de différentes
tailles
, qui d'ailleurs revient souvent aussi, la réponse est
que g4u travaille avec des disques de tailles et de géométries
identiques. Mettre une image d'un petit disque sur un disque plus grand
est possible ; c'est l'inverse qui pause problème.
Si vous ne pouvez faire autrement que de préparer un système sur
un gros disque qui sera amené à être re-déployé vers un disque plus
petit, assurez-vous que l'espace excédentaire sur le gros disque n'est
pas occupé par une partition ou un système de fichier actif ; ou
des données seront perdues.
Si vous déployez une petite image sur un plus gros disque,
l'espace non exploité par g4u peut être exploité par une autre
partition, un autre système de fichier. Vous aurez en revanche à le
faire en utilisant vos outils / votre système d'exploitation.
Changer le niveau de compression
Par défaut, les images disques remontées sur le serveur FTP sont
compressées avec gzip -9. Ceci permet d'économiser de
l'espace disque mais rallonge l'opération, plusieurs heures de
traitement est chose courante. Vous pouvez réduire le niveau de
compression de gzip lors du uploaddisk avec la
variable d'environnement correspondante :
# GZIP=-1
Vous pouvez modifier le niveau de compression allant de 1 (rapide
mais faible taux de compression) à 9 (lent mais taux intéressant). Le
reste des options de la commande uploaddisk restant évidemment
inchangées.
Liste des disques reconnus
Pendant le démarrage de g4u, tous les périphériques reconnus sont
listés ; mais très vite. Pour obtenir à tout moment cette liste des
disques, utilisez la commande disks :
# disks
wd0 at pciide0 channel 0 drive 0:
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 6149 MB, 13328 cyl, 15 head, 63 sec, 512 bytes/sect x 12594960 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
Cet exemple liste un disque dur de 6Giga.
Problèmes avec les images de 2 giga-octets
Vous avez expérimenté un g4u qui plante lors du transfert ftp
d'une image dépassant les 2 giga ? Ce problème ne vient pas de g4u
mais de votre serveur FTP. D'anciennes distributions Linux sont connues
pour n'accepter que des fichiers de taille inférieure à 2 giga, et si ce
Linux a un kernel 2.4, rien n'est garantit. Assurez-vous d'avoir un
démon FTP à jour et installez un système d'exploitation décent (dixit
l'auteur, le rustre !).
Sinon, jusqu'ici, quel que soit le serveur FTP employé (NetBSD,
Solaris and Windows 2000), aucun problème n'a été répertorié.
Pouvez-vous ajouter une fonctionnalité XXX ?
J'ai des demandes pour ajouter certaines fonctionnalités à
g4u :
l'utilisation de TFTP
l'utilisation de SSH/scp
l'utilisation de NFS
l'ajout d'une interface X ou de type
curses
l'écriture des images vers CDROM / un déploiement depuis un
CDROM
la compression bzip2
Après avoir migré vers une gestion de boot g4u en 2 disquettes,
certaines de ces fonctionnalités seront ajoutés, mais d'autres (X, et
cætera) n'ont que peu de chances d'être intégrées. Tenez-vous au courant
des prochaines mises à jour !
Problèmes de performance réseau
Si les performances réseaux sont faibles (moins de 5 Mo/s via un
switch ethernet 100BaseT par exemple) malgré un processeur rapide, un
disque qui ne sature pas et un taux de compression faible, doutez de
votre configuration réseau ! Un problème courant sur les réseaux
switchés est une discordance de duplex entre la carte réseau et le
switch. Sous NetBSD, par défaut, les vitesses et le duplex sont négociés
automatiquement mais peuvent l'être manuellement.
Forcer un 100BaseTX/Full-duplex :
# ifconfig fxp0 media 100BaseTX mediaopt Full-duplex
# ifconfig -a
fxp0: flags=[...]
media: Ethernet 100baseTX full-duplex
Utiliser l'auto-négociation (par défaut) :
# ifconfig fxp0 media auto
# ifconfig -a
fxp0: flags=[...]
media: Ethernet autoselect (100baseTX)
Pour plus d'informations à ce sujet, voyez les pages de manuels de
ifconfig(8) ou encore le document
Auto-Negotiation Valid Configuration Table à l'étape Why
Is It That the Speed and Duplex Cannot Be Hardcoded on Only One Link
Partner ?
.
Réduire la taille de l'image
Des gens se plaignent de la taille trop importante des images
créées par g4u. Ces tailles de fichiers sont normales, elles sont dues
au fait que g4u clone tout le disque, tous les blocs, sans se soucier de
savoir si ils contiennent une quelconque donnée. Pour différencier un
bloc utilisé d'un non utilisé, g4u devrait connaître le système de
fichier employé - Windows FAT, Linux Ext2/3/ReiserFS/et cætera, BSD FFS,
Solaris UFS, et cætera. Etant donnée la faible capacité d'une disquette,
et le nombre d'implémentations nécessaires pour couvrir différents
systèmes de fichiers, il est peu probable qu'un tel tri soit ajouté aux
fonctionnalités de g4u.
Malgré tout il y a un moyen plutôt simple de contourner le
problème : utiliser le système d'exploitation d'origine afin
d'optimiser l'occupation du système de fichiers. Il suffit de faire en
sorte que les blocs non utilisés / vides ne soient pas remplis de
données aléatoires, mais au contraire de valeurs facilement
compressibles par g4u. Ceci donnant lieu à des images disques plus
petites.
En clair, remplacez les blocs non-utilisés de votre disque avec
des octets à 0. Ouvrez un fichier et remplissez-le d'octets à 0 jusqu'à
ce que le disque soit plein, puis fermez le fichier et effacez le. Le
résultat est que tous les blocs non utilisés contiennent maintenant des
données que g4u peut facilement compresser. En toute logique le système
d'exploitation marque juste les blocs inutilisés comme 'inutilisés' mais
ne modifie en rien leur contenu.
L'utilisation de cette technique sur un disque de 20Go avec un
système Solaris 8/x86 de 6Go et le reste en Windows 2000 Workstation a
permis de diminuer l'image compressée de ~6Go à ~2Go. Vous imaginez bien
sûr le gain de temps au déploiement. :)
Pour effectuer le remplissage des blocs non utilisés avec des
octets à 0, il y a plusieurs méthodes, dépendant du système
d'exploitation de la machine et des logiciels disponibles :
Unix standard : (fonctionne sur toutes les variantes
Unix : Linux, NetBSD, Solaris, et cætera.) :
# dd if=/dev/zero of=/0bits bs=20971520 # bs=20m
# rm /0bits
Solution Perl pour Windows : Ceci nécessite perl
d'installé. Dans un shell, tapez :
cd /d c:\
c:\win-preclone.pl c:
Cliquez
ici pour télécharger le script perl win-preclone.pl.
Une solution en Pascal pour Windows :
Ce programme en pascal est une contribution de Matthias Jordan
[mjordan CHEZ code TIRET fu POINT de] :
nullfile-1.02.exe
nullfile-1.02.pas
Ce programme est fourni sans aucune garantie.
La solution Windows 64bit :
Dominic Leelodharry [dominic CHEZ authorsoftware POINT com] a
envoyé à l'auteur une version 64bit pour Windows :
nullfile-1.01_64bit.exe
Ce programme est fourni sans aucune garantie.
Windows Erasor
:
Ce programme freeware peut effacer votre disque de manière
sûre, mais il est aussi capable de remplir le disque de
0-bits
. Téléchargeable sur www.heidi.ie/eraser. Merci à
Stephen Krans [s040 CHEZ krans POINT org] pour le
tuyau !
Soluce Windows embarquée :
Apparemment Windows XP fournit un outil d'encryption de disque
permettant l'écriture d'octets à 0. Pour se faire, lancez la
commande : cipher /W:C: (pour le lecteur
C:). Vous devrez quitter l'opération (Control+C) après la première
opération, sinon des données aléatoires seront écrites suites au
remplissage de 0-bytes
.
Lancez l'une de ces commandes avant d'éteindre le système
d'exploitation, puis créez une image avec g4u, vous verrez une nette
différence de taille d'image.
Paramétrer l'IP manuellement
Vous voudrez ou devrez parfois vous passez d'un DHCP. Dans ce cas,
une configuration manuelle du réseau est aussi possible :
Regardez si votre interface réseau est reconnue, et sous quel
nom, avec la commande :
# ifconfig -a
Le nom de l'interface sera du type ex0
,
tlp0
, et cætera. (Contrairement à Linux, les
interfaces réseaux NetBSD ne s'appellent pas
eth0
!)
Ensuite configurez l'IP et le masque réseau de cette
interface. J'utiliserai ici la dénomination xx0 pour l'interface
réseau, et la machine devrait porter l'IP 1.2.3.4 et le masque
réseau 255.255.255.0 :
# ifconfig xx0 1.2.3.4 netmask 255.255.255.0
Enfin, vous pouvez spécifier le router par défaut, si votre
serveur FTP est sur un sous-réseau IP différent de celui où se
trouve la machine g4u. Spécifions une IP router 2.3.4.5, voici la
commande à saisir :
route add default 2.3.4.5
C'est tout ? Simple, non ? Rappelez-vous que nous
traitons de l'Unix ! Après ces quelques étapes, vous pouvez
utiliser g4u comme s'il utilisait un DHCP.
Extraire le noyau g4u
On m'a demandé comment démarrer depuis le disque dur (en utilisant
grub par exemple). L'idée est d'extraire le noyau de la disquette de
démarrage, et de l'associer à grub (ou n'importe quel autre bootloader -
voyez peut-être avec PXE to netboot g4u).
Voici comment extraire le noyau, appelé
netbsd
:
% ( cat g4u-2.2-1.fs | dd bs=512 skip=16 ; \
? cat g4u-2.2-2.fs | dd bs=512 skip=16 \
? ) | tar vxf -
-r--r--r-- 1 feyrer netbsd 53948 Nov 3 23:08 boot
-rw-rw-r-- 1 feyrer netbsd 1479905 Nov 3 23:08 netbsd
Notez que le noyau à ce niveau (netbsd
) est
toujours compressé, ce qui va très bien à un bootloader comme grub, mais
au cas où vous voudriez le décompresser :
% file netbsd
netbsd: gzip compressed data, was "netbsd-INSTALL_G4U", from Unix
% mv netbsd netbsd.gz
% gunzip netbsd.gz
% ls -la netbsd
-rw-rw-r-- 1 feyrer wheel 5523084 Dec 7 18:08 netbsd
% file netbsd
netbsd: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
Boot réseau de g4u via PXE
Afin de faire un boot réseau de g4u via PXE, vous devrez d'abord
extraire le noyau des disquettes , puis
suivre les étapes qui décrivent un boot réseau, dit diskless
boot
(sans disquette), voir
la documentation NetBSD pour les nombreux moyens de réaliser une telle
chose.
Un condensé des étapes nécessaires à g4u est disponible dans les
archives, soit en
français par Jean-Christophe Guis ou
une traduction en anglaise de Steve Clement.
Un autre petit rapport sur
Comment configurer une Fedora Core 5 en tant que serveur PXE de
Aaron Axelsen est disponible en anglais.
Quel serveur FTP utiliser ?
Lorsque vous récupérez ou envoyez des images sur votre serveur FTP
et que vous voyez une ligne du style :
553 Cannot send file larger than 4 gigabytes
vous pouvez être sûr que cette ligne (ou tout autre ligne avec un
numéro en entête) vient de votre serveur FTP, et de la même manière, que
ce n'est pas g4u qui a un problème mais le serveur FTP.
Quelques programmes connus de serveurs FTP :
ftpd(8) de NetBSD
qui est disponible sur une installation par défaut.
GuildFTPd pour Windows XP.
Le service FTP de Microsoft Windows 2000 et 2003 Server (à
savoir qu'il existe quelques soucis avec les services FTP des
versions MS Windows non serveur.).
Le démon vsftp de votre distribution Linux favorite (reconnu
fonctionnel sur Fedora 2 et Debian Sarge).
Cerberus
FTP.
Le service FTP de Novell Netware (reconnu fonctionnel sur
Netware 6).
TYPSoft FTP Server sur une clé USB avec Windows XP.
Filezilla Server sur Windows 98SE et XP.
Le démon FTP de Mac OS X et Mac OS X Server.
(D'autres ? Faites m'en part !).
Aide et rapports d'erreurs
Aide
Voici la liste des éléments permettant d'obtenir de
l'aide :
Liste de diffusion : g4u TIRET announce CHEZ
feyrer POINT de
Cette liste contient seulement les annonces faites à propos de
g4u.
Inscriptions et configuration
via web , ou
Envoyez un email nommé subscribe
yourpassword
à l'adresse g4u TIRET announce TIRET
request CHEZ feyrer POINT de pour vous inscrire. S'il
vous plait, remplacez yourpassword par un mot
de passe personnel, votre mot de passe secret pour cette liste
de diffusion.
Les archives : g4uannounce
list archive.
Liste de diffusion : g4u TIRET help CHEZ feyrer
POINT de
Cette liste contient les questions et réponses faites à propos
de g4u.
Inscriptions et configuration
via web , ou
Envoyez un email nommé subscribe
yourpassword
à l'adresse g4u TIRET help TIRET
request CHEZ feyrer POINT de pour vous inscrire. S'il
vous plait, remplacez yourpassword par un mot
de passe personnel, votre mot de passe secret pour cette liste
de diffusion.
Les archives : g4u-help
list archive.
Communauté Orkut g4u
:
Il existe une communauté g4u
sur Orkut qui a
créé un forum pour g4u. Comme Orkut a beaucoup ralenti aujourd'hui,
je ne suis plus vraiment sur ce forum ; je vous conseille plus
vivement d'utiliser les listes de diffusion précédentes.
Optionnel (!) une licence commerciale est disponible,
regardez la page Commercial
licence
pour plus d'informations.
Rapport d'erreur
Si vous avez des problèmes avec g4u et que vous souhaitez les
remonter, S'IL VOUS PLAIT précisez les informations suivantes. Il est
impossible de vous aider sans savoir de quel système/configuration l'on
parle.
Quelle version de g4u utilisez-vous ?
Quelles commandes exactement avez-vous utilisées ?
Quelle sortie précise avez-vous eu du programme (précise, sans
aucune modification, oeil pour oeil, dent pour dent de votre
part) ?
Si le système bloque au démarrage, quelles sont les 3
dernières lignes affichés à l'écran (toujours copie conforme
svp)
Que donne la commande disks
? la commande
parts
?
Si vous avez des soucis liés à un périphérique (carte réseau
ou disque dur) ; ajoutez s'il vous plait les lignes relatives
venant de la sortie de la commande dmesg
Quel système d'exploitation, système de fichiers et service
FTP utilisez-vous coté serveur FTP ?
Envoyez vos rapports d'erreurs à la liste de diffusion g4u-help.
Blog
Suivant la mode du moment, j'ai créé un blog g4u
pour les gens s'intéressant de près à l'actualité des développements.
Celui-ci fait partie de mon blog
NetBSD.
Et pour ceux que ça intéresse, il y a aussi le
feed RSS de la partie g4u de disponible (en addition au feed RSS complet de mon
blog NetBSD ).
Recompiler depuis les sources
G4u est construit sur les bases de la disquette de démarrage NetBSD.
Un noyau ainsi qu'une disquette de boot personnalisés, tous deux ramenés à
la taille minime de 3 disquettes de 1.44Mo ou un cdrom.
Pour recompiler ces images :
Il est à noter que la compilation depuis les sources ne
nécessite pas les droits 'root'. Ci-dessous, les actions précédées du
prompt #
sont à exécuter en tant que root, celles
précédées de %
sont les commandes à exécuter en tant
que simple utilisateur.
Munissez-vous d'une machine i386/PC sous NetBSD 3.0.
Tout autre système d'architecture Unix-like devrait faire l'affaire
aussi, ceci restant non testé à ma connaissance.
Installez mkisofs (contenu dans le package cdrecord), via le
paquet de binaires :
# PKG_PATH=ftp://ftp.NetBSD.org/pub/NetBSD/packages/3.0/i386/All
# export PKG_PATH
# pkg_add -v cdrecord
ou, si vous avez pkgsrc d'installé :
# cd /usr/pkgsrc/sysutils/cdrecord
# make install
Récupérez les sources NetBSD-current (~23 mai 2006) dans
/usr/src :
% su
# mkdir /usr/cvs
# chown $USER /usr/cvs
# ln -s cvs/src /usr/src
# exit
% cd /usr/cvs
% env CVS_RSH=ssh cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot co -D 20060523 src
Pour être sûr de votre coup, recompilez complètement la version
(afin d'exécuter les tests de régression et autres) :
% ./build.sh -N 1 -U release
Rappelez-vous où récupérer le nouveau compilateur - ajustez si
nécessaire :
% setenv T /usr/src/obj.i386/tooldir.NetBSD-3.0-i386/bin
Récupérez les source de g4u
2.2
Décompressez-les :
% cd /usr/src
% tar plzvxf .../g4u-2.2.tgz
Appliquez les patches :
% cd /usr/src/sys/dev/ata
% patch <wd.c.patch-g4u
% cd /usr/src/sys/dev/scsipi
% patch <sd.c.patch-g4u
% cd /usr/src/sys/kern
% patch <subr_prf.c.patch-g4u
Compilez les images disquettes et ISO de G4U :
% cd /usr/src/distrib/i386/floppies/g4u
% $T/nbmake-i386
Après ça, vous devrez trouver les fichiers images
g4u1.fs
, g4u1.fs
et
g4u.iso
dans le répertoire
/usr/src/distrib/i386/floppies/g4u :
% pwd /usr/cvs/src/distrib/i386/floppies/g4u
% ls -l g4u.*
-rw-rw-r-- 1 feyrer netbsd 3309568 Nov 3 23:09 g4u.iso
-rw-rw-r-- 1 feyrer netbsd 1474560 Nov 3 23:08 g4u1.fs
-rw-rw-r-- 1 feyrer netbsd 1474560 Nov 3 23:08 g4u2.fs
Liens & Ressources (en langue anglaise)
Un tutoriel pour installer M0n0wall avec g4u
Pereyra a fournit les
instructions pour installer M0n0wall firewall avec
g4u.
Récolter les GUIDs / UUIDs afin de procéder à une
installation distante (RIS) des comptes utilisateurs
Une activité coûteuse en terme de temps, et qui de
surcroît se veut extrêmement répétitive lorsque vous avez un parc
d'un grand nombre de machines, c'est d'avoir à gérer le remplacement
des anciennes machines ainsi que de commander des nouvelles. La
méthode traditionnelle consiste à noter la MAC adresse et le nom de
la machine, envoyer via email les données à quelqu'un d'autre,
mettre à jour les données du serveur DHCP, et cætera, et cætera. Ce
projet cherche à minimiser le temps d'intervention humain nécessaire
à mettre une machine en place.
Et en plus, ceci est basé sur
du NetBSD ! :)[le lien du site
d'origine (en anglais)].
MIDS - g4u avec un menu
Rob Bennett a modifié g4u afin que celui-ci charge du code
additionnel depuis un serveur FTP, et d'implémenter une interface
graphique (des boîtes de dialogues de type 'curses'). Comme le but
premier de g4u est de tenir sur une disquette, cette extension
mérite d'y jetter un
oeil !
La page iR110/150 (sparc64) dd Network Backup :
Des gens cherchaient une version UltraSPARC (sparc64) based de
g4u. Eh bien messieurs, elle existe : The
iR110/150 dd Network Backup Page vous donnera les scripts
vous permettant de faire les sauvegardes des disques d'un UltraSPARC
sur un serveur NFS distant. Bravo à l'auteur !
Yet Another Ghost Installer (YAGI) :
La
thèse de Daniel Ettle, que l'auteur a supervisé, porte sur
un installeur
réseau au Toshiba Regensburg Operations.
Symantec Ghost
La solution
commerciale qui ne faisait pas ce dont j'avais besoin et qui
m'a poussé à créer g4u. Essayez-le si vous ne voulez pas d'un
système de sauvegarde à images. Et si vous le trouvez trop cher,
dites-vous bien que moi-même je ne
souhaites pas mourir de faim. :)
Historique
Voir l'historique de
l'auteur (anglais)
Copies, licences & donations
Aucune licence n'est nécessaire, excepté pour le domaine militaire
et usages associés, un licence commerciale
est disponible, et les donations sont toujours les bienvenues ! Vous
pouvez envoyer de l'argent via paypal
ou m'acheter un livre depuis
ma liste de souhaits Amazon, comme tous les gens qui ont déjà tant
donné - Merci beaucoup !
g4u est distribué sous la licence standard BSD
license
:
/*
* Copyright (c) 1999-2006
* Hubert Feyrer <hubert CHEZ feyrer POINT de>. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met :
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for g4u by
* Hubert Feyrer <hubert CHEZ feyrer POINT de>.
* 4. Neither the name of the author nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
et voici une version française non-officielle
de la
licence BSD :
Copyright © 1999-2006 Hubert Feyrer <hubert CHEZ feyrer POINT
de>. Tous droits réservés.
La redistribution du code source, modifié ou non, sous forme de binaire
est soumise aux conditions suivantes :
* Le copyright ci-dessus, la présente liste des conditions et
l'avertissement qui la suit doivent figurer dans le code source.
* La documentation et/ou les fichiers accompagnant le code source
distribué sous forme de binaire doivent faire apparaître le copyright
ci-dessus, la présente liste des conditions et l'avertissement qui la suit.
* Tout produit incluant tout ou partie du code de ce programme doit
comporter la mention : Ce produit s'inspire d'un programme développé par
l'université de Californie Berkeley et ses collaborateurs.
* Le nom de la dite université, pas plus que ceux de ses collaborateurs,
ne sauraient être utilisés dans le but de promouvoir ou de légitimer un
produit dérivé de ce programme sans autorisation écrite préalable à cette
effet.
CE PROGRAMME EST FOURNI « TEL QU'EN L'ÉTAT » PAR LES MEMBRES DU CONSEIL
D'ADMINISTRATION ET LEURS COLLABORATEURS ET IL N'EST DONNÉ AUCUNE GARANTIE,
IMPLICITE OU EXPLICITE, QUANT À SON UTILISATION COMMERCIALE, PROFESSIONNELLE
OU AUTRE. LES MEMBRES DU CONSEIL D'ADMINISTRATION ET LEURS COLLABORATEURS NE
PEUVENT EN AUCUN CAS ÊTRE TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU
PRÉJUDICE DIRECT, INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES
FINANCIÈRES DUES AU MANQUE À GAGNER, À L'INTERRUPTION D'ACTIVITÉS, OU
LA PERTE D'INFORMATIONS ET AUTRES) DÉCOULANT DE L'UTILISATION DU PROGRAMME,
OU DE L'IMPOSSIBILITÉ D'UTILISER CELUI-CI, ET DONT L'UTILISATEUR ACCEPTE
L'ENTIÈRE RESPONSABILITÉ.