g4u -- Un cloneur d'image système pour PC Version française de g4u -- Harddisk Image Cloning for PCs [http://www.feyrer.de/g4u/] Hubert Feyrer Joseph Boiteau Adaptation française François-Xavier Detournière Relecture de la version française Jean-Philippe Guérard Préparation de la publication de la v.f. Version : 2.2.fr.0.3 5 octobre 2006 +------------------------------------------------------------------------+ | Historique des versions | |------------------------------------------------------------------------| | Version 2.2.fr.0.3 | 14-09-2006 | JB,FXD | |------------------------------------------------------------------------| | Mises à jour du document (formatage) et relecture | |------------------------------------------------------------------------| | Version 2.2.fr.0.2 | 24-07-2006 | JB | |------------------------------------------------------------------------| | Première publication en français | |------------------------------------------------------------------------| | Version 2.2 | 31-05-2006 | HF | +------------------------------------------------------------------------+ Résumé 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. -------------------------------------------------------------------------- Table des matières Qu'est ce que c'est ? Pourquoi pas une des alternatives existantes ? Prérequis & téléchargement L'utiliser Préparations Création de l'image Déploiement de l'image Copier un disque localement Copier une partition localement FAQ et autres détails sur le clonage de disque Systèmes de fichiers supportés Systèmes d'exploitations supportés Matériel supporté Un mot sur les disques de différentes tailles Changer le niveau de compression Liste des disques reconnus Problèmes avec les images de 2 giga-octets Pouvez-vous ajouter une fonctionnalité XXX ? Problèmes de performance réseau Réduire la taille de l'image Paramétrer l'IP manuellement Extraire le noyau g4u Boot réseau de g4u via PXE Quel serveur FTP utiliser ? Aide et rapports d'erreurs Aide Rapport d'erreur Blog Recompiler depuis les sources Liens & Ressources (en langue anglaise) Historique Copies, licences & donations [1][Note] Note Traduction en français basée sur la version 2.2 [http://www.feyrer.de/g4u/#history] de la documentation officielle [http://www.feyrer.de/g4u/] 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 [http://www.feyrer.de/g4u/screenshot1-booting.gif] 2. Détection de périphériques [http://www.feyrer.de/g4u/screenshot2-devices.gif] 3. Bienvenue dans g4u ! [http://www.feyrer.de/g4u/screenshot3-welcome.gif] 4. Quelques commandes g4u [http://www.feyrer.de/g4u/screenshot4-commands.gif] 5. Envoi d'une image avec uploaddisk [http://www.feyrer.de/g4u/screenshot5-uploaddisk.gif] 6. Restauration avec slurpdisk [http://www.feyrer.de/g4u/screenshot6-slurpdisk.gif] 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 [http://www.feyrer.de/g4u/g4u-2.2.fs.zip] / non compressées : disquette une [http://www.feyrer.de/g4u/g4u-2.2-1.fs], disquette deux [http://www.feyrer.de/g4u/g4u-2.2-2.fs] et disquette trois [http://www.feyrer.de/g4u/g4u-2.2-3.fs]) * L'image ISO CD g4u 2.2 (zippée [http://www.feyrer.de/g4u/g4u-2.2.iso.zip] / non compressée [http://www.feyrer.de/g4u/g4u-2.2.iso]) * Le code source [http://www.feyrer.de/g4u/g4u-2.2.tgz] 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 [http://www.feyrer.de/g4u/g4u-1.17.fs.zip] / non compressées [http://www.feyrer.de/g4u/g4u-1.17.fs]) * ISO du CD g4u 1.17 (zippée [http://www.feyrer.de/g4u/g4u-1.17.iso.zip] / compressées [http://www.feyrer.de/g4u/g4u-1.17.iso]) * Les sources g4u 1.17 [http://www.feyrer.de/g4u/g4u-1.17.tgz] Vous pouvez aussi télécharger une image d'un de ces miroirs : * Australie [http://planetmirror.com/pub/g4u/] * Canada [http://theatomicmoose.ca/g4u/] 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 [2]rawrite.exe. Il y a aussi un programme Windows appelé [3]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. [4][Avertissement] 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 [http://www.feyrer.de/g4u/G4U-KERNEL-2.2] 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) [http://netbsd.gw.com/cgi-bin/man-cgi?ifconfig++NetBSD-current] ou encore le document Auto-Negotiation Valid Configuration Table [http://www.cisco.com/warp/public/473/46.html#auto_neg_valid] à 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 [http://www.activestate.com/Products/ActivePerl/] d'installé. Dans un shell, tapez : cd /d c:\ c:\win-preclone.pl c: Cliquez ici [http://www.feyrer.de/g4u/win-preclone.pl] 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 [http://www.feyrer.de/g4u/nullfile-1.02.exe] * nullfile-1.02.pas [http://www.feyrer.de/g4u/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 [http://www.feyrer.de/g4u/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 [5]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 [http://www.netbsd.org/Documentation/network/netboot/intro.i386.html]. Un condensé des étapes nécessaires à g4u est disponible dans les archives, soit en français [http://sourceforge.net/mailarchive/message.php?msg_id=13050093] par Jean-Christophe Guis ou une traduction en anglaise [http://sourceforge.net/mailarchive/message.php?msg_id=13051496] de Steve Clement. Un autre petit rapport sur Comment configurer une Fedora Core 5 en tant que serveur PXE [http://www.tuxdocs.net/wiki/index.php/G4u_configure_for_pxe_boot] 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 [http://www.netbsd.org/] 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. [http://www.cerberusftp.com/] * 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 : Cette liste contient seulement les annonces faites à propos de g4u. * Inscriptions et configuration via web [http://lists.sourceforge.net/mailman/listinfo/g4u-announce] , ou * Envoyez un email nommé « subscribe yourpassword » à l'adresse 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 [http://sourceforge.net/mailarchive/forum.php?forum_id=43206]. * Liste de diffusion : Cette liste contient les questions et réponses faites à propos de g4u. * Inscriptions et configuration via web [http://lists.sourceforge.net/mailman/listinfo/g4u-help] , ou * Envoyez un email nommé « subscribe yourpassword » à l'adresse 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 [http://sourceforge.net/mailarchive/forum.php?forum_id=43203]. * 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 [http://www.feyrer.de/g4u/commercial.html] » 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 [http://www.feyrer.de/g4u/#support]. Blog Suivant la mode du moment, j'ai créé un blog g4u [http://www.feyrer.de/NetBSD/blog.html?-tags=g4u] pour les gens s'intéressant de près à l'actualité des développements. Celui-ci fait partie de mon blog NetBSD [http://www.feyrer.de/NetBSD/blog.html]. Et pour ceux que ça intéresse, il y a aussi le feed RSS de la partie g4u [http://www.feyrer.de/NetBSD/bx/blosxom.cgi/index.rss?-tags=g4u] de disponible (en addition au feed RSS complet de mon blog NetBSD [http://www.feyrer.de/NetBSD/blog-rss.xml] ). 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 [6]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 [http://www.feyrer.de/g4u/g4u-2.2.tgz] * Décompressez-les : % cd /usr/src % tar plzvxf .../g4u-2.2.tgz * Appliquez les patches : % cd /usr/src/sys/dev/ata % patch . 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 . * 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 . 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É.