presentation de distribution linux slax

Creation: 2 fevrier 2010
Mise à jour: 13 decembre 2012
Version: 1.1
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2010-2012 Jean-Louis BICQUELET-SALAÜN
La version 7 de la slax vient de sortir. Cette page correspondait à la version 6. Consultez slax version 7.

Avantages et inconvénients de la SLAX

La plupart des live-CD Linux ne sont en fait que des «live-démo», c'est à dire qu'ils sont destiné à tester la distribution en question, afin d'être en mesure de décider si il serait intéressant de l'installer sur son disque dur. Ces live-cds sont trop lents ou pas assez configurable pour envisager une utilisation autre qu'occasionnelle.

Il est à ma connaissance une seule distribution live, qui soit conçue npour être réellement utilisée sur CD ou sur clé USB. Il s'agit de la SLAX. Elle est légère, modulable (et cette modularité est très facile à comprendre) et conviviale. L'image gravée est directement utilisable. La version USB est simple à créer et assez facilement configurable. Les données restents persistantes sur la clé, car celle-ci est formatée en FAT32.

La Slax est une distribution tchèque, développée par une seule personne, Tomas Matejicek. L'adresse du site est http://www.slax.org/.

Ceci sans être vraiment un défaut, est une particularité qui peut devenir génante. Dans un des posts Tomas Matejicek déclare qu'il passe sur ce projet le temps qu'il peut et que la prochaine version sortira quand elle sortira, ce que comprend parfaitement. D'autre part l'évolution de cette version dépend des choix d'une personne et non d'une équipe. Entre SLAX 5 et SLAX 6, il y a eu une refonte des modules (très profitable d'ailleurs). Ceci à amené un nouveaux format de modules, du travail en plus, et il à bien fallu suivre.

La slax est basée sur la Slackware 12 une distribution vénérable et rustique assez proche des systèmes UNIX. La slackware ne propose plus gnome depuis la Slackware 10.2. Il est possible d'utiliser xfce à la place, mais ceci me gène d'une part parce que j'aime bien gnome d'une part, et que l'évolution de KDE 4 me déplait fortement. L'avenir nous dira ce que la SLAX va devenir.

D'ici là, vous pouvez facilement vous créer une distribution sur cdrom ou clé usb transportable partout et correspondant à vos besoins.

présentation de la SLAX

matériel

sur le site on trouve:

  • une image iso que l'on peut télécharger et graver sur un cdrom
  • un fichier tar qui permet d'installer facilement SLAX sur une clé USB.
  • une collection de modules.
  • de quoi construire votre SLAX, en sélectionnant les modules que vous désirez. La liste choisie va vous permettre de télécharger une image tar ou iso correspondant à votre personnalisation. Malheureusement les modules ne sont pas forcément homogènes, les dépendances ne sont pas gérée, c'est à vous de les gérer manuellement, ce qui fait qu'il est difficile de se créer une image stable.
  • une documentation rapide
  • un forum de discution

On peut aussi trouver des modules sur ces liens:

les modules

qu'est ce qu'un module ?

Depuis la version 6, les modules utilisés sont des fichiers au format lzm qui utilisent une technique de compression (LZMA), comme zenwalk beaucoup plus efficace que les formats précédents mo. Ils sont chargés dans des répertoires spécifiques sur le média, soit dans le répertoire module si on désire que le module soit utilisé en permanence, soit dans le répertoire optional si on veut l'activer et le désactiver en fonction des besoins.

Un module peut être activé et désactivé « en live » selon les besoins grace à la commande activate module.lzm active le module voulu, desactivate module.lzm le desactive.

Il est aussi possible d'activer un module sous KDE en double cliquant dessus.

Vous pouvez donc vous constituer votre version de SLAX à partir des modules téléchargés sur internet et de ces deux répertoires en fonction des logiciels que vous utilisez quotidiennement ou de manière moins fréquentes.

les modules SLAX sont des filesystems squashfs qui comporte une extension .lzm. Le module est créé par un utilitaire mksquashfs présent dans SLAX, et peut être dépacké par unsquashfs. Ces deux utilitaires ont été patchés dans SLAX avec le compresseur LZMA.

Il est donc possible de monter le filesystem pour simplement le consulter de la façon suivante:

mount -t squashfs -o loop /path/module.lzm /mnt/workdir

création d'un module

Il existe plusieurs manières de créer des modules.

  • La manière la plus simple est de convertir un package slackware. Je rapelle que SLAX est basé sur la (et surtout pas sur zenwalk!). Il suffit de télécharger un package slackware et de leconvertir ainsi:

    tgz2lzm package.tgz package.lzm
    

    Si vous désirez modifier le package avant de le convertir, ce qui est souhaitable pour réduire l'encombrement de celui-ci par exemple, il faut installer le package quelque part avant de créer le module:

    installpkg -root /tmp/workdir package.tgz
    

    On modifie alors les fichiers dans le répertoire temporaire /tmp/workdir et on convertit le répertoire en module.

    dir2lzm /tmp/workdir module.lzm
    
  • Une autre manière de faire, consiste à modifier un package existant. Dans ce cas on utilise lzm2dir de la manière suivante:
    mkdir /tmp/workdir
    lzm2dir package.lzm /tmp/workdir
    

    modification du module dans le réperoitre temporaire puis

    dir2lzm /tmp/workdir module_modifie.lzm
    
  • Il reste enfin la solution consistant à compiler le programme à partir des sources (slackware ou debian) puis à en faire un module.

    Chaque module SLAX contient tous les fichiers et les répertoires avec le chemin en absolu (c'est à dire le chemin complet).

    un certain nombre de règles sont à respecter:

    1. Tous les chemins d'accès doivent être accessibles à tous les utilisateurs. Il faut donc passer la commande suivante sur les fichiers qui vont constituer un module, sauf exeption spécifique et souhaitée:

      find ./ -type d | xargs chmod -v 755;
      

      on fixe ainsi les droits des répertoire à 755 (drwxr-xr-x).

    2. Supprimez tous ce qui est inutile, strippez tous les binaires possibles et laissez à la compression LZMA qui est efficace le soin de compresser pour vous

      find . | grep .gz | xargs gunzip  find . | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded
      
    3. procurez vous le slackbuid correspondant à votre module

personnalisation avancée

Deux grands types de personnalisation sont possibles.

le boot

Les fichiers de configurations sont /boot/slax.cfg et /boot/isolinux/isolinux.cfg.

On peut ajouter le clavier français en ajoutant cette ligne

KBDMAP /boot/fr.ktl

et en ajoutant le fichier que vous aurez préalablement téléchargé fr.ktl dans le répertoire /boot. Cela vous permettra d'avoir un clavier azerty dés le debut du boot.

On peut parametrer un grand nombre de chose. Le fichier /slax/cheatcodes.txt décrit ce qu'il est possible de faire.

répertoire rootcopy

Tout ce que vous copiez dans ce dossier, est copié à la racine. L'arborescence des sous-dossiers, lorsque la distribution est chargée en mémoire est conservée.

C'est ici que l'on doit placer les applications que l'on désire ajouter sans pour autant vouloir en faire un module. C'est ici aussi que l'on peut tester les applications avant d'en faire un module. C'est aussi une manière facile d'effectuer des modifications ponctuelles ou localisées.

Un exemple très simple consiste à modifier le propre papier peint:

Créez un dossier /slax/rootcopy/usr/share/wallpapers/ et sauvegardez-y votre propre image slax-wallpaper.jpg.