La mascotte BSD dessinée par Tatsumi Hosokawa
  Chuck's corner (intitulé du site)

Accueil
  Bienvenue !
  Who's that Chuck ?

Articles
  Investigation numérique
  Virtual-to-Remote-Physical
  Prométhée, intranet éduc.
  Frenzy, mini CD live
  Sécu. Open/Closed Source
  Installer FreeBSD 5
  Powered by Unknown !

  En cours d'élaboration :
  Analyseurs d'empreintes

Logiciels
  Portages
  Projet HeV

Liens
  Sites BSD en français
  Liste systèmes BSD
  Projets à l'honneur

Recherche
  avec Logo Google

  sur le site :
  
  sur BSD en général :
  

Mise en œuvre de Frenzy, FreeBSD en mini live CD

NDE: L'article suivant a été initialement publié en version PDF sur le site Mirabellug. Il est présenté ici dans une version enrichie en liens externes.

Mon propos est ici de décrire l'utilisation de Frenzy, une distribution live basée sur FreeBSD.

La version décrite ici est la 0.3.

1. Live CD Linux et FreeBSD

1.1. Les live Linux

Le monde des live CD commence à être particulièrement riche. Les live CD Linux sont légion, KNOPPIX en tête. Ils occupent généralement toute une galette de 12 cm (le CD standard), certaines sont toutefois d'une taille plus réduite compatible avec la capacité d'un mini CD de 3 pouces (8 cm). Citons dans cette catégorie SAM, une distribution basée sur MANDRAKELINUX ou DAMN SMALL LINUX (DSL), cette dernière est à ce point réduite qu'elle tient même sur un CD format carte de visite de 50 Mo. Les lecteurs intéressés par DSL pourront se reporter à la courte documentation que j'ai consacré à cette distribution et qui est accessible sur le site du Mirabellug.

1.2. Live CD *BSD

Les live CD BSD sont moins nombreux mais pas inexistants, Dragonfly, FreeSBIE, NetBSD Live! CD, FreeBSD5.3live etc. Toutes ces distributions occupent le volume d'un CD standard. Frenzy, quant à elle, présente cette caractéristique essentielle à mes yeux de tenir sur un mini CD, donc de pouvoir toujours traîner dans le fond de ma poche avec le portefeuille.

1.3. Se procurer des mini CD

Le format mini CD est certes intéressant mais pas vraiment courant. A ma connaissance les grandes surfaces ne diffusent pas ce genre de médias vierges, il faut donc se rabattre sur les spécialistes de la VPC genre SURCOUF ou PEARL.

2. Frenzy 0.3, présentation

Frenzy est le fruit du travail d'un BSDiste ukrainien, Sergei Mozhaisky qui a packagé une version réduite de FreeBSD. Ce point est important à mémoriser parce que l'alphabet par défaut est le cyrillique. C'est joli mais pas vraiment utile au pays du béret et de la baguette. L'auteur a résolument privilégié l'aspect "utilitaire" de cette distribution qu'il a truffée de petits programmes permettant de faire essentiellement de la maintenance de machines. Point de KDE ou Gnome, l'interface graphique est FluxBox. A noter tout de même la présence de AbiWord, un traitement de texte très sympa et qui présente, entre autre, l'intérêt d'être compatible avec le produit 'équivalent', bien que non libre, d'un grand éditeur installé à Redmond (USA).

3. Mise en œuvre

3.1. Gravure de l'ISO

Le site de Frenzy est localisé à l'adresse http://frenzy.org.ua. Ajouter /eng/ pour la version anglophone du site. C'est à partir de cette page que vous trouverez le lien qui vous permettra de télécharger l'ISO, un bébé de 208.5 Mo soit de quoi "blinder", un mini CD de bonne qualité. Attention, certains mini CD semblent limités à 185 Mo.

Une fois le téléchargement complété, il suffit de taper :

# burncd -f /dev/acd1 -s max data frenzy_v03_release.iso fixate

pour réaliser cette gravure.

La syntaxe ci-dessus suppose que le graveur est le second appareil CD -le premier serait nommé acd0- et que, bien sûr, vous utilisez FreeBSD ! Je galèje bien évidemment. Si vous n'utilisez pas (encore) FreeBSD vous avez certainement un bon logiciel de gravure1 à disposition sur votre machine. A tout hasard, si vous cherchez des informations sur la gravure CD en ligne de commande pensez à lire l'article sur ce sujet mis en ligne sur le site du Mirabellug.

3.2. Mise en œuvre

3.2.1. Le boot

Ça y est, le grand moment est arrivé, vous mettez le CD dans le lecteur et vous bootez votre PC. Deux interventions sont nécessaires lors du boot de façon à aboutir à un système exploitable :

  • Guettez le menu de boot, celui qui montre le logo Frenzy sur le côté gauche. La première fois, faites l'essai de laisser se dérouler le boot avec l'option "1" par défaut, vous verrez bien si le processus de boot se bloque. En cas de problème, rebootez alors en utilisant l'option 2 pour désactiver la prise en charge de l'ACPI. Cette procédure spécifique est parfois nécessaire sur certaines machines. Elle l'est en tout cas sur mon PC de bureau, qui pourtant fait tourner sans problème depuis des mois un FreeBSD 5.2. Mystère... Aspect intéressant Frenzy démarre sans problème sur un portable IBM R31.
  • Le boot se déroule normalement puis se fige un instant sur l'affichage d'une invite "Press 'e' for english langage", le "e" étant en jaune ce qui rend cette séquence assez facile à distinguer dans le défilement des messages de configuration. N'hésitez pas un instant, l'écran ne restera figé que 3 secondes, faute de quoi vous allez goûter au cyrillique !

3.2.2. Paramétrage langue française

Le boot se termine par une invite à se "loguer". Le seul compte existant à ce stade est le compte root, sans mot de passe. L'authentification ne devrait donc poser aucun problème. Attention, à cet instant le clavier est configuré en "US". Vous êtes donc confronté au problème classique, "a" et "q" permutés, ":" pour ".", virgule pour "m", etc. La première chose va donc être de passer en clavier français. Le plus simple est d'utiliser la commande sysinstall, la grande classique de FreeBSD permettant de paramètrer la distribution. Le "a" étant déplacé, la frappe de sysinst suivie de [Tab] suffit, grâce à la complémentation de commande offerte par TCSH, à lancer cet utilitaire. Déroulez le menu jusqu'à l'option Keymap puis validez par [Enter]. Sélectionner French ISO (accent) et taper [Enter]. Le tour est joué, sortir proprement de sysinstall par Exit install et vous voilà avec le clavier AZERTY. Curieusement les accents sont en panne, je cherche encore à savoir pourquoi, si quelqu'un a une solution je suis preneur.2

Une autre méthode consiste à utiliser la commande kbdmap, laquelle fait apparaître un menu de sélection de clavier assez semblable à celui qui est présent dans sysinstall. L'avantage de kbdmap est que cette commande est plus rapide puisqu'elle aboutit immédiatement à la liste des claviers au lieu de passer par deux épaisseurs de menus à l'aller et autant au retour.

L'inconvénient est que tant que le clavier est au standard US le "m" est à côté du "n", en fait à la place de la virgule et que "a" et "q" sont permutés. Au mini, il faut donc taper kbd, suivi de la touche [Tab] pour lancer cette commande.

4. Configuration de XFree

Avant de lancer le serveur X il faut modifier le fichier de configuration qui sera utilisé au lancement du serveur lors de l'autoconfiguration pour créer le /etc/X11/XF86Config classique. Le fichier de départ, celui qui sert de squelette au futur fichier de configuration, est à ranger sous:

/var/etc_local/X11/XF86config.default

Un petit coup de Vim (ici aussi le site du Mirabellug comporte un article...) et vous partez à la recherche de la ligne XkbLayout, située à la ligne 38 dans le cas de la version 0.3. Cette ligne comporte pour l'instant comme argument "us,ru(winkeys)", paramètre que vous pouvez remplacer simplement par "fr" ou alors "fr,us". Cette seconde possibilité est intéressante si vous souhaitez conserver la possibilité de passer du clavier français au clavier us, la commutation se faisant par [Crtl]-[Shift].

Il reste maintenant à taper startx pour lancer le serveur graphique et FluxBox.

J'ai signalé que les caractères accentués ne fonctionnaient pas en mode terminal, ils ne fonctionnent pas non plus dans un rxvt obtenu à partir de FluxBox, ni dans les applications utilisant directement la fenêtre du terminal comme Vim. Je cherche encore le motif. Par contre les éditeurs de texte mis à votre disposition, Gnotepad+, gVim, et Jed sont tout à fait opérationnels, AbiWord aussi bien sûr.

5. Exploitation

Ça y est, tout fonctionne, vous allez pouvoir partir à la découverte de Frenzy. Une fois n'est pas coutume, j'ai traduit (et adapté) ci-dessous le texte de présentation de Frenzy qui apparait sur le site. Cette part de traduction constitue le corps de ce chapitre.

5.1. Présentation, exigences matérielles

Frenzy est, selon la définition donnée sur le site, un "portable system administrator toolkit LiveCD" basé sur FreeBSD. Il comporte les logiciels permettant de tester le matériel, les systèmes de fichiers, effectuer les contrôles de sécurité et analyser le fonctionnement réseau.

Les exigences matérielles sont très réduites :

  • Un processeur Pentium ou mieux.
  • 32 Mo de RAM.
  • Un lecteur de CD pouvant booter (BIOS configuré de façon ad hoc) et pouvant lire des mini CD.
  • Il n'est pas nécessaire de disposer d'un disque dur.

5.2. Prestations

La version 0.3 de Frenzy est basée sur FreeBSD 5.2.1-RELEASE. La compression du système de fichier obtenue par geom\_ugz permet de mettre plus de 600 Mo de données sur un support de 200 Mo. La vitesse de chargement s'en trouve accélérée d'autant.

Au boot, Frenzy crée les disques RAM nécessaires, détecte et monte automatique les partitions de disques durs (UFS, FAT16/32, NTFS, EXT2FS sont supportés). Frenzy utilise également pour son propre compte les partitions de swap FreeBSD éventuellement détectées.

Si vous le souhaitez, vous pouvez créer vous-même un fichier de swap sur une partition montée. Frenzy dispose également d'une détection automatique du type de souris (PS/2, serial, USB).

Frenzy offre plus de 400 applications :

  • Compilateurs C et nasm, interpréteurs Perl et Python
  • Gestionnaires de fichiers deco, mc et xnc
  • Éditeurs de texte parmi lesquels: joe, ViM et AbiWord
  • Afficheurs et convertisseurs de fichiers textes, analyseurs de logs
  • Archiveurs, utilitaires système et fichiers
  • Utilitaires de récupération de fichiers
  • Outils pour disques durs
  • Outils de diagnostic et d'information système
  • Benchmarks utilitaires de test du matériel
  • Antivirus (clamav, drweb) et outils de détection de rootkits
  • Utilitaires de chiffrement et de gestion de mots de passe
  • Outils réseau (LAN, modem, dial-up, VPN, Wireless)
  • Navigateurs Web, lecteurs de mail et news, clients ICQ et IRC
  • Outils de calcul de réseau
  • Moniteurs de trafic
  • Proxy, redirection
  • Prise de contrôle à distance (telnet, ssh, RDP, VNC)
  • Clients MySQL et PostgreSQL
  • Serveur et client Samba
  • Outils pour DNS, LDAP, SNMP, DHCP, ICMP, ARP et paquets IP
  • Scanner de ports, de réseau et détection de service
  • Sniffers, outils de détection d'intrusion
  • Afficheurs d'images (gqview) et de fichiers PDF
  • Video player (MPlayer)

Frenzy comporte un certains nombre de scripts pour réseau (IP statique et DHCP) et configuration PPP (dialup). Vous pouvez facilement sauvegarder les réglages système sur une disquette, une clef USB ou le disque dur et les restaurer automatiquement lors du boot.

La distribution contient l'essentiel de la documentation FreeBSD ainsi qu'un système d'aide spécifique à Frenzy.

La liste complète des logiciels peut être trouvée à l'adresse : http://frenzy.org.ua/eng/v03_softlist.shtml

6. Utilisation avancée

6.1. Trouver de l'aide

Frenzy dispose de son propre système d'aide, en plus bien entendu de l'aide classique offerte par les pages man. Cette aide spécifique s'obtient en tapant simplement help dans un terminal X. Apparait alors un petit menu qui permet de sélectionner parmi une douzaine d'entrées disponibles.

6.2. Enregistrer et restaurer l'environnement de travail

6.2.1. Enregistrer les modifications

Depuis le boot, vous avez fait un gros travail d'adaptation. Peut-être avez vous créé un fichier, pris une note, récupéré un document sur Internet, etc. Vous souhaitez bien entendu sauvegarder ces éléments en vue d'une utilisation future. Vous pouvez bien entendu copier les fichiers 1 à 1 sur une clef USB ou une disquette. Une autre méthode bien pratique est offerte par la commande backup. Une fois lancée, cette commande sauvegarde certains fichiers sur le support que vous lui désignez au moyen d'un petit menu déroulant qui apparait alors. Les supports peuvent être aussi bien une clef USB, une disquette au format DOS ou un disque dur.

6.2.2. Restaurer les modifications

Au boot Frenzy reconnait automatiquement le fichier de backup, à condition que le support de sauvegarde soit accessible à ce moment. La restauration se fait donc sans intervention de l'utilisateur.

Si vous avez omis de connecter la clef USB ou d'insérer la disquette rien n'est perdu, il suffit de mettre en place le support oublié et de lancer la commande restorebackup pour que tout rentre dans l'ordre. En réponse à cette commande Frenzy fait apparaitre un petit menu par lequel vous choisissez le support sur lequel doit être cherché le fichier de sauvegarde.

Je précise, mais vous le vérifierez sans mal, que les deux commandes backup et restorebackup fonctionnent aussi bien en mode console que dans un terminal X

6.2.3. Format du fichier de sauvegarde

Cette sauvegarde est en fait un fichier tbz (agglomération par tar suivi d'une compression par bzip2). Cela signifie aussi que le contenu de ce fichier peut très bien être exploité par un autre système d'exploitation (un vrai FreeBSD, un Linux, etc...). Le nom du fichier est simplement formé des lettres "frbk\_" suivies de la date au format compact sur 8 caractères et de l'extension .tbz, par exemple frbk\_20050306.tbz.

6.2.4. Portée des backups

En utilisation élémentaire, c'est-à-dire en mettant en œuvre les informations détaillées ci-dessus il n'apparait pas au premier abord que le backup puisse enregistrer certains réglages comme le choix de la langue anglaise (le "e" sur lequel j'ai tant insisté), ni le choix du clavier français. Par contre, il est facile de vérifier que le fichier squelette qui sert à construire le fichier de configuration de XFree est, lui, bien sauvegardé. Celà évite l'opération d'édition de ce fichier qui est tout de même assez pénible à faire, que cette opération soit devenue une routine ennuyeuse ou alors qu'elle soit l'occasion, étant occasionnelle, de pester contre ce *$!\&* d'article qui a encore disparu sous une pile de papiers ... !

L'emploi de l'aide Frenzy (help) permet de trouver assez rapidement une astuce fantastique. On découvre ainsi que la liste des fichiers à sauvegarder est prédéfinie dans

/usr/local/etc/frenzybackup/backup.lst

Il suffit de lire l'entête de ce fichier pour découvrir les règles du jeu, les lignes commençant par un tiret "-" sont considérées comme des commentaires, les autres sont actives. La liste est courte et intéressante. On y relève par exemple que le cache de opera, le navigateur proposé par Frenzy n'est pas sauvegardé. Sourire, serait-ce pour masquer les balades de l'administrateur système sur certains sites Internet disons ... non consacrés à l'informatique libre ? Plus sérieusement on découvre, à la deuxième ligne du tableau, un libellé

-/etc/frenzy/lang

Voilà un fichier curieux, en tout cas un fichier qui n'existe évidemment pas sous FreeBSD. La lecture de son contenu est édifiante : "EN". Tiens, tiens, on s'en serait un peu douté tout de même ! En fait il suffit de supprimer le tiret en tête de ligne du fichier précité pour forcer la sauvegarde de ce fichier. A partir de ce moment plus de soucis, même si vous avez laissé booter la machine en cyrillique, la restauration automatique ou manuelle du fichier de backup écrasera ce réglage et vous livrera Frenzy en anglais comme vous le souhaitiez certainement.

Il découle de ce qui précède que maintenant, fort de ce que nous savons, la procédure de boot devient extrêmement simple. En effet, aux conditions suivantes :

  • La machine boote avec prise en charge de l'ACPI
  • Vous avez créé un fichier de backup sur un périphérique raccordé à la machine
  • Vous n'utilisez pas les consoles textes accessibles par [Ctrl]-[Alt]-[F1] à ..[F8]

vous pouvez laisser le boot se dérouler sans intervenir. A la fin de celui-ci, vous lancez la procédure de réglage du clavier français si et seulement si vous souhaitez utiliser les consoles textes accessibles par [Ctrl]-[Alt]-[F1] à ..[F8]. Si vous ne travaillez qu'à partir de X11 vous pouvez aussi bien lancer l'interface graphique sans autre paramétrage, en veillant toutefois à taper stqrtx au lieu de startx, clavier US oblige. Sous X11 vous récupérerez le clavier français.

6.3. Accès aux supports en écriture

Par défaut, Frenzy monte tous les supports qu'il trouve au boot, mais en veillant à ne donner que des droits de lecture sur certaines unités, les partitions du disque dur par exemple. Curieusement, ce verrouillage n'interdit pas à la commande backup d'écrire sur le disque. En fait, il suffit de lire le script de

/usr/local/bin/backup

pour se rendre compte que backup utilise une commande rwmount documentée par ailleurs dans les écrans accessible par "help". La syntaxe de cette commande est très simple :

# rwmount /mnt/ad0s1f.ufs

remontera, cette fois en lecture + écriture, la partition ad0s1f.ufs (l'exemple est tiré de ma machine qui fait tourner FreeBSD). Pour connaitre la désignation exacte des partitions sur la machine sur laquelle vous travaillez, lisez simplement le contenu de /mnt/.

ATTENTION ! Autant vous donner le truc de suite pour vous éviter un gros mal de tête. Habitué que vous êtes à utiliser la complémentation de commande, vous pourriez être tenté de taper cette ligne en utilisant cette fameuse complémentation. Dans le cas de ma machine ça donnerait par exemple :

  • rwm suivi de [Tab] pour arriver à rwmount
  • /mnt/ad[Tab] -> rwmount /mnt/ad0s1
  • f[Tab] -> rwmount /mnt/ad0s1f.ufs/

et voilà l'ERREUR ! La complémentation de ligne ajoute, fort justement (de son point de vue), la barre oblique "/" en fin de ligne. Or cette barre oblique pose un problème au script, qui se bloque avec un message d'erreur:

Error: non-existant mount point

Et oui, c'est tout bête mais quand on ne sait pas qu'il faut enlever le "/" final, c'est le mal de tête assuré !

6.4. Attribution d'une adresse IP via un serveur DHCP

Vous venez de booter une machine équipée d'une connexion réseau, raccordée normalement à celui-ci, lequel dispose d'un serveur DHCP. Petite vérification:

# ifconfig -a

ne liste aucune adresse IP alors que d'habitude, lorsque vous bootez sur un live CD du genre KNOPPIX ou FreeBSDlive le dialogue qui s'établit entre votre PC et le serveur DHCP règle ces détails domestiques à votre place. En fait sur les "gros" live CD le script de démarrage lance le client correspondant au service DHCP. Qu'importe, il suffit de lancer ce client à la main :

# dhclient

pour que tout rentre dans l'ordre rapidement.

7. Limites de ce document

J'ai consigné dans ce document les informations qui me semblaient essentielles pour se lancer dans l'utilisation de cet outil merveilleux qu'est ce petit live CD. Je n'ai pas repris les informations de bases supposées acquises (faciles à trouver sur Internet) concernant par exemple le nommage des partitions sous BSD, ici plus spécifiquement FreeBSD. De telles redites ne feraient qu'alourdir mon papier sans présenter un intérêt décisif. A la différence de KNOPPIX, qui peut à l'occasion servir à un débutant à découvrir Linux, Frenzy est, du moins c'est mon avis, peu adapté à une découverte des bases de FreeBSD (encore que...). Comme indiqué, c'est surtout un outil de dépannage, de récupération des données, etc.

8. Version à jour de ce document

Tout document n'a de valeur que s'il vit, s'il est mis à jour, complété, corrigé. Cet article ne fait pas exception à la règle. Si vous avez un doute sur la validité de la version que vous avez entre les mains sachez que, à priori, la dernière version à jour de ce document pourra être trouvée aux adresses suivantes:

http://mirabellug.org, le site des utilisateurs de Linux et plus généralement des logiciels libres de Nancy.

http://jeanmarc.lichtle.free.fr, mon site personnel, pas toujours bien tenu d'ailleurs.

La date du document sert à identifier la version.

--
Jean-Marc Lichtlé, le 10 mars 2005.


Notes de l'enlumineur (NDE) :

  1. Par exemple, sous Windows XP : CDBurnerXP Pro [^]
  2. Voir dans le manuel de référence, le paragraphe sur la configuration de la console (définition du type et chargement des polices) [^]


[ Drapeau anglais English version | Informations légales | Ours | Manifeste | Charte | Nous contacter | Commenter cette page ]
[ Anneau FreeBSD | Liste des sites | Aller à : 5 précédents - précédent - au hasard - suivant - 5 suivants ]