# 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 :

1. Démarrage de g4u dans bochs

2. Détection de périphériques

3. Bienvenue dans g4u !

4. Quelques commandes g4u

5. Envoi d'une image avec uploaddisk

6. 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 :

  1. 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.

  2. 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

  3. 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 :

  1. Téléchargez l'image CD, g4u-2.2.iso ou g4u-2.2.iso.zip

  2. Si vous téléchargez le fichier g4u-2.1.iso.zip, décompressez le pour avoir g4u-2.1.iso.

  3. 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 :

1. 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 !)

2. 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

3. 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

- Appliq`uez les patch`es :

      % 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É.