Par Seb.
Copyright © 2007 Sébastien Boillod
Tous droits réservés. Permission est accordée à quiconque de diffuser, reproduire, traduire ou modifier cette oeuvre par quelque procédé que ce soit : ce à titre onéreux ou gracieux et sans restriction d'aucune sorte ni dans le nombre de reproductions effectuées, ni dans la nature ou dans l'étendue des changements apportés, ni même dans le choix des conditions légales de publication des oeuvres ainsi reproduites ou modifiées.
En contre-partie et dès l'exercice d'un des droits précédemment accordés, les points suivant doivent être observés :
LES INFORMATIONS ET/OU LE CODE CONTENUS DANS CETTE OEUVRE NE SONT NULLEMENT GARANTIS MAIS SIMPLEMENT MIS À DISPOSITION « EN L'ÉTAT », DANS L'ESPOIR D'ÊTRE UTILES. VOUS ADMETTEZ EN LES UTILISANT AVOIR LES COMPÉTENCES REQUISES POUR PRENDRE TOUTES LES MESURES ET PRECAUTIONS NÉCESSAIRES À L'INOCCUITÉ DE CET USAGE, ET RECONNAISSEZ AINSI AGIR ENTIÈREMENT ET SANS RÉSERVE À VOS RISQUES ET PÉRILS : EN AUCUN CAS L'AUTEUR NE POURRA ÊTRE TENU POUR RESPONSABLE DES ÉVENTUELS DOMMAGES, TOUTES NATURES CONFONDUES, DIRECTS OU INDIRECTS, RÉSULTANT DE CETTE UTILISATION.
Les tagfiles composent en quelque sorte le « génome » de la Slackware. En effet, ce sont les fichiers qui lors de son installation définissent le statut des paquets, et décident ainsi si oui ou non ils doivent être installés. C'est par exemple à partit d'eux que la sélection des paquets du mode Newbie et la pré-sélection du mode Expert sont obtenues.
Tout l'intérêt de la chose est bien sûr que le contenu de ces fichiers est modifiable. Par conséquent on peut facilement personnaliser l'installation de la Slackware en excluant tous les paquets qu'on utilise pas, voir même créer différents profils d'installation selon l'usage qui sera fait du système (serveur, bureau, etc. ). Le propos de cet article est tout simplement vous montrer comment jouer avec tout ça.
Première chose à faire, vous saisir de votre premier CD Slackware et monter la chose en tant que système de fichiers (sur /mnt/cdrom, pour la suite du document). Puis une fois cela effectué, tapez la commande suivante (le $ introduit les lignes que vous devez écrire dans votre terminal, les autres étant la sortie résultante) :
$ ls -1 /mnt/cdrom/slackware/*/tagfile /mnt/cdrom/slackware/ap/tagfile /mnt/cdrom/slackware/a/tagfile /mnt/cdrom/slackware/d/tagfile /mnt/cdrom/slackware/e/tagfile /mnt/cdrom/slackware/f/tagfile /mnt/cdrom/slackware/k/tagfile /mnt/cdrom/slackware/l/tagfile /mnt/cdrom/slackware/n/tagfile /mnt/cdrom/slackware/tcl/tagfile /mnt/cdrom/slackware/y/tagfile
Vous remarquerez immédiatement que dans chaque catégorie de paquets se trouve un de ces fameux fichiers tagfile. À présent, nous allons regarder succintenement le contenu d'un de ceux-ci (les dix premières lignes, pour être exacts) avec la commande head :
$ head /mnt/cdrom/slackware/a/tagfile aaa_base:ADD aaa_elflibs:ADD aaa_terminfo:REC acl:ADD acpid:REC apmd:REC attr:ADD bash:ADD bin:ADD bzip2:ADD
Comme vous le voyez le principe est très simple, pour chaque nom de paquet présent, une priorité est introduite par ”:”. Nous avons donc un tagfile par catégorie qui référence une priorité pour chacun des paquets de cette catégorie. Si vous éditez plusieurs tagfiles, vous vous rendrez vite compte qu'il existe quatre niveaux de priorité différents. Voici à quoi ils servent (par degré décroissant de priorité) :
REC, le paquet est optionnel et n'est pas installé à moins que vous ne l'indiquiez ;
À ce stade, vous l'avez certainement deviné la marche à suivre pour personnaliser l'installation de notre chère Slackware. Il suffit bien évidemment d'éditer le tagfile de chaque catégorie de paquets sélectionnée lors de l'installation, puis de modifier les priorités. La plupart du temps, vous mettrez ADD pour tout ce que vous voulez installer et SKP pour le reste, ainsi le processus d'installation sera beaucoup plus rapide.
Un problème demeurre cependant, nous ne pouvons pas écrire à même notre CD. Il nous faut par conséquent trouvez un autre moyen pour introduire nos personnalisations dans le processus d'installation. Par bonheur, deux méthodes ont justement été prévues à cet effet.
C'est sans doute la plus pratique et la plus simple à mettre en oeuvre. Il s'agit simplement de créer une arborescence semblable à celle présentée supra avec les tagfiles préalablement modifiés par nos soins. À noter qu'il n'est pas nécessaire de reprendre toutes les catégories, les tagfiles par défaut s'appliquant si les nôtres ne sont pas trouvés pour telle ou telle catégorie.
Voici par exemple, ce que donnerait une arborescence redéfinissant les profils d'installation des catégories A, AP et N, et ayant pour racine un répertoire arbitrairement nommé « mes_tags » :
$ ls -1 mes_tags/*/* mes_tags/ap/tagfile mes_tags/a/tagfile mes_tags/n/tagfile
Comme vous le voyez, chaque sous-répertoire ne contient que le tagfile de la catégorie concernée.
Une fois notre arborescence élaborée, ne reste plus qu'à stocker mes_tags sur une disquette, une clé USB (cas que nous prendrons pour la suite), voir sur une partition du disque dur qu'on préservera lors de l'installation.
Après cela, il nous suffira de booter sur le CD d'installation puis – avant d'exécuter setup – d'y monter notre clé (nous supposons ici qu'elle sera le périphérique sda1, adaptez à votre cas) sur un point de montage créé pour l'occasion (pour être sûrs de ne pas parasiter l'installation) :
$ mkdir /ma_cle $ mount -t auto /dev/sda1 /ma_cle
Puis lorsqu'arrivera le moment, nous choisirons la méthode d'installation Tagpath et nous indiquerons comme chemin /ma_cle/mes_tags. Nos tagfiles s'appliquerons alors en priorité sur ceux de la Slackware et le tour sera joué !
Cette méthode est sensiblement plus difficile à mettre en oeuvre, et ne sera probablement utile que pour les administrateurs voulant déployer sur un large parc des systèmes aux profils différents à partir d'un même jeu de CD. Elle suppose en effet de déconstruire les images ISO des CDs Slackware sur votre disque dur, avant d'y apporter vos modifications puis de les reconstruire. Cela débordant le cadre de cet article, nous ne traiterons pas des opérations de déconstruction/reconstruction des ISO (celles-ci sont documentées dans le fichier isolinux/README.TXT du premier CD, dont la traduction est ici disponible).
Cette nous allons placer nos tagfiles sagement à côté de ceux de la Slackware. La seule chose que nous devrons décider c'est quelle extension nous allons donner à ceux-ci, car elle devra être la même dans toutes les catégories que nous voudrons personnaliser (là encore, les tagfiles de la Slackware s'appliquent par défaut). Rien n'empêche d'ailleurs de créer plusieurs profils, il suffit pour cela d'utiliser plusieurs extensions. Dans l'exemple suivant, nous avons créé un profil « serveur » et un profil « bureau » pour les catégories A et AP :
$ ls -1 slackware/a/tagfile* slackware/ap/tagfile* slackware/a/tagfile slackware/a/tagfile.bureau slackware/a/tagfile.serveur slackware/ap/tagfile slackware/ap/tagfile.bureau slackware/ap/tagfile.serveur
Une fois tout cela mis en place et nos images reconstituée, il nous suffira de booter dessus puis, lorsque viendra le choix de la méthode d'installation, nous n'aurons qu'à sélectionner Custom et indiquer le nom de l'extension désirée : serveur pour notre profil de serveur, bureau pour notre profil de bureau (d'où l'intérêt de prendre des extensions explicites quant à leur usage). Ainsi nous obtiendrons facilement un système modulé aux petits oignons.
Par l'intermédiaire des tagfiles, la Slackware permet de choisir avec finesse et efficacité les composants à installer, ouvrant ainsi un large champ de personnalisations. Nous espérons que cet article, en exposant les bases de l'utilisation de ces fameux tagfiles, vous aura donné envie d'investir ce champ et vous permettra de vous simplifier la vie – sinon de vous amuser.