Par Seb.
Version 12.2.1.
Copyright © 2005, 2007, 2008 Sébastien Boillod.
Quiconque obtient une copie de ce document acquiert par la même le droit de reproduire, diffuser, modifier, traduire, adapter et/ou vendre celle-ci comme il l'entend, en plaçant les éventuelles contributions qu'il aura apportées sous les présents termes ou les termes de son choix. Cela tant qu'y figurent la mention copyright ci-dessus, cette autorisation et l'exonération de garantie ci-dessous.
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 PRÉCAUTIONS NÉCESSAIRES À L'INNOCUITÉ 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.
Slackware est une marque déposée par Patrick Volkerding et Slackware Linux, Inc. Ce document et les informations qu'il contient n'émanent pas du projet Linux Slackware et n'ont donc aucun caractère officiel.
Cette version de Linux from Slack est la réécriture de celle publiée sur léa-linux, le maintien de cette dernière étant laissé aux wikistes du lieu.
Pour la numérotation de la présente version, nous avons choisi de reprendre le numéro de la dernière Slackware stable avec laquelle elle a été testée, en ajoutant simplement un troisième nombre indiquant le nombre de révisions subies par une même version.
Beaucoup de personnes seraient à remercier pour l'élaboration de ce document, à commencer par toutes celles qui créent, traduisent ou diffusent de la documentation Linux et/ou donnent des coups de main sur les forums, partout sur la Toile. Néanmoins des remerciements particuliers sont à donner à fraaaz qui a fourni l'indispensable matière pour la sous-partie sur la connexion ADSL, ainsi qu'à l'ensemble des actifs du feu groupe Slackware pour lea-linux qui ont assisté la naissance de la première version de Linux From Slack. Merci également à Pat pour son excellente distribution et pour sa méthode tout-terrain de configuration d'ALSA.
L'objectif de Linux From Slack est de vous faire bâtir un système Linux Slackware couche par couche, en dégageant pour chaque fonctionnalité le lot de paquets nécessaires et en détaillant le rôle respectif de ceux-ci.
Au delà de l'intérêt pédagogique de la démarche, ce document peut aussi servir de guide aux vieux routards slackeux souhaitant constituer une bonne base minimaliste pour pesonnaliser leur système. Pour ces derniers (et pour les flemmards), à qui nous n'apprendrons pas grand chose, nous avons mis en place un Appendice pour le Slackeux pressé où ils trouveront le nécessaire pour accélérer sensiblement les choses.
Pour les autres, ce qui va suivre n'est pas particulièrement compliqué à réaliser, néanmoins par soucis de concision (plus c'est petit, mieux c'est maintenable) et eu égard à notre objet, nous ne traiterons pas outre-mesure de l'installation Slackware à proprement parler. Il est donc conseillé d'être à l'aise avec les menus de setup ou de s'armer d'une bonne documentation avant de poursuivre.
Concernant l'aspect matériel de la mise en oeuvre, nous partirons du principe que vous avez une machine mono-poste utilisant un bon vieux système de fichier ext3, sans besoins particuliers (RAID, LVM, etc. ) et bootant à partir du noyau d'installation par défaut. Si vous avez des raisons de penser que vous n'entrez pas dans ce cadre, jetez un oeil sur les fichiers slack-desc de la série A et repérez ceux susceptibles de vous servir.
A présent, vous pouvez booter sur le premier CD d'installation de notre Slackware (le seul nécessaire si vous n'escomptez pas installer d'interface graphique) : three, two, one, let's jam!
Dans cette partie, nous allons limiter notre ambition à un objectif bien basique : obtenir un système bootable.
Comme indiqué précédemment, nous vous laisserons à vous même pour l'installation jusqu'à ce que vous ayez à choisir les séries de paquets à installer (entrée SELECT).
Une fois parvenu à cette étape, déselectionnez toutes les séries à l'exception de A et AP, validez votre choix puis, lorsqu'on proposera divers modes d'installation, indiquez expert. Setup vous demandera alors de choisir individuellemnt chaque paquet à installer dans A puis dans AP. Voici la liste commentée des paquets à demander pour chaque série (déselectionnez tout ce qui n'y figure pas).
less n'empêchera bien sûr pas votre système de booter).
apm est plus indiqué à la place ;/dev, qui contient les points d'accès entre le système et le matériel ;vi ;find ;/boot/README.initrd après votre premier boot ;fdisk qui sert à partionner les disques durs) ;PATH. Sacré pingouin standard !vi. Si donc vous n'êtes pas à l'aise avec les éditeurs de texte en console ou si vous détestez vi, pensez à ajouter un éditeur à votre main (dans AP, nano est sans doute le plus simple pour ceux qui manquent de pratique).
À noter également que les utilisateurs de vim peuvent tout à fait installer celui-ci à la place d'elvis ; vi se référera alors à vim.
Une fois cela effectué, laissez-vous tranquillement porter jusqu'au bout du processus d'instllation. Pour les habitués, pas de panique si rien n'est demandé sur la configuration du réseau, nous verrons tout cela plus tard. Pour l'heure, il est temps de rebooter afin d'assister à l'éclosion de votre nouveau pingouin, nous croisons les doigts avec vous…
Théoriquement, à cette ligne vous devez être devant l'invite login: de votre bestiole tout frais sortie de sa coquille. Connectez-vous en root, le seul utilisateur disponible pour le moment.
Bon, c'est pas qu'en l'état il est pas mignon votre pingouinet, mais côté fonctionnalités c'est un peu le désert : il est incapable de faire trois pas dehors, il est muet et il n'entend rien au français. Nous allons prendre les problèmes un à un.
Pour commencer, nous allons mettre en place la connexion internet, ce qui vous permettra au moins de faire des recherches si tout ne se déroule pas comme escompté. Commencez par installer les paquets suivants (pour toutes les listes de paquets, la lettre entre parenthèses indique la série dans laquelle vous les trouverez):
À présent, nous allons pouvoir configurer la base du réseau en tapant netconfig. Une interface graphique de type ncurses apparaîtra alors, vous demandant d'entrer divers renseignements, dans l'ordre :
dhcpc qui est dans N), loopback devrait être le bon choix ;
À ce stade, nous avons normalement une base de réseau fonctionnelle. Pour vous en assurer, activez-la en exécutant /etc/rc.d/rc.inet1 puis tapez netstat -i. Une ligne commençant par lo doit apparaître, indiquant que l'interface réseau interne à votre machine est active.
Reste à configurer la connexion internet proprement dite. Pour cela, nous allons passer par PPPD (Point-to-Point Protocol Daemon), qui permet d'aller sur internet directement à partir du modem (si vous vous connectez en dhcp, vous pouvez sauter cette section car normalement votre connexion est prête). Deux cas sont présentés ici : la connexion 56K et la connexion ADSL.
Pour ce type de connexion, c'est avec pppsetup que ça se passe. L'exécution de la command fera apparaître une autre série de menus ncurses qui vous réclameront respectivement les informations suivantes :
No, à moins que vous ne soyez sûr que cette option est requise ;AT&FH0 OK. Outre le fait qu'elle ne semble pas fonctionner, elle a le mauvais goût de laisser le modem exprimer toute sa joie lorsqu'il se connecte. En voici donc une autre : ATZ OK ATM0L0 OK ;
Une fois que vous aurez entré tout ça, un rapport de configuration vous sera donné. Sachez que vous pouvez tout recommencer en cas d'erreur, une nouvelle configuration écrasant la précédente, il suffit de réexécuter pppconfig.
Il n'y a pas d'interface pour configurer simplement l'ADSL (enfin si, il y a pppoe-setup dans le paquet rp-pppoe situé dans N, mais comme il n'est pas nécessaire on va s'en passer), nous allons donc devoir plonger légèrement dans les entrailles de PPPD.
Tout d'abord, il faut indiquer à notre cher démon que nous allons avoir besoin de son plugin rp-pppoe (Roaring Penguin - Point-to-Point Protocol Over Ethernet). Pour ce, éditez le fichier /etc/ppp/options avec votre éditeur de texte (vi, par défaut), puis modifiez-le comme suit (entre <> sont indiquées les informations à insérer) :
plugin rp-pppoe.so name <votre login> noipdefault defaultroute mtu 1492 mru 1492 lock
Ensuite, éditez /etc/ppp/chap-secrets et/ou /etc/ppp/pap-secrets (selon la méthode d'authentification utilisée par votre FAI), et remplissez-le(s) ainsi :
<votre login> * <votre mot de passe>
Ces fichiers contenant vos login et mot de passe, seul le superutilisateur devrait pouvoir les lire, assurez-vous donc que c'est le cas en tapant chmod 600 /etc/ppp/chap-secrets /etc/ppp/pap-secrets.
Après cela, c'est au tour de /etc/resolv.conf d'être renseigné sur les serveurs de noms de domaines de votre FAI (sauf si vous êtes d'humeur badine et comptez n'utiliser que des adresses IP par la suite) :
search <nom de domaine votre fai, par ex. "free.fr"> nameserver <une des adresses DNS de votre FAI>
Puis précisez dans /etc/host.conf l'ordre dans lequel se résolvent les noms d'hôtes :
order hosts, bind multi on
Pour finir, ne reste plus qu'à activer le support de votre carte réseau dans un fichier /etc/modprobe.d/ethernet que nous créerons pour l'occasion :
alias <nom de votre interface réseau, 'ethx', où X vaut en général 0> via-rhine
Vous voici paré à vous connecter, quoique…
Comme il est là, votre pingouin peut certes aller sur le réseau, mais demeurre sans défense contre les agresseurs de tous acabits. C'est pourquoi il est conseillé de mettre en place un pare-feu, ou plus précisément un script iptables.
Si vous en avez un sous la main c'est tant mieux pour vous, autrement vous pouvez toujours essayer liquette qui devrait parfaitement faire l'affaire. Dans tous les cas, copiez le fichier en tant que /etc/rc.d/rc.firewall, rendez-le exécutable, puis exécutez-le en tapant la séquence de commandes suivante :
cat liquette > /etc/rc.d/rc.firewall chmod 700 /etc/rc.d/rc.firewall /etc/rc.d/rc.firewall start
Ainsi mis en place, le pare-feu sera automatiquement activé à chaque démarrage du système.
C'est le moment de nous essayer à un première glissade ventrale en tapant une des commandes ci-après selon le cas qui vous concerne :
/usr/sbin/ppp-go ;/usr/sbin/pppd <votre interface réseau, ethX>.
Si vous voulez vous amuser (ou trouver un meilleur guide d'installation), vous pouvez installer links (ou lynx si vous êtes nostalgique, les deux sont dans N) et surfer en mode texte sur la Toile. Si jamais vous êtes bien connecté mais que vous ne pouvez accéder à aucun site, c'est peut-être un problème de pare-feu : désactivez-le en tapant /etc/rc.d/rc.firewall stop. Si après cela tout fonctionne, inhibez-le définitivement au démarrage en lui retirant les droits d'exécution : chmod 600 /etc/rc.d/rc.firewall (attention cependant car votre pingouin sera de nouveau tout nu). Autrement, si le problème persiste malgré la désactivation du pare-feu, revoyez votre configuration (en particulier /etc/resolv.conf).
Bien, assez jouer sur le net, il y a encore du pain sur la planche. Si elle est activée, coupez la connexion avec la commande suivante : /usr/sbin/ppp-stop.
Il est temps à présent d'apprendre à notre pingouin à parler.
Ça ne vous a sûrement pas sauté aux oreilles, puisqu'aucune application n'a utilisé le son jusqu'ici, mais votre bestiole est totalement muette. Pour remédier à cela, commencer par lui coller dans le bec la décoction suivante :
Sur les Linux modernes, c'est ALSA (Advanced Linux Sound Architecture) qui est en charge du son. La première chose à faire est de lui faire reconnaître votre carte son. Il suffit normalement pour ce d'activer le son en tapant alsamixer. Vous vous retrouverez alors devant une interface constituée de plusieurs barres verticales correspondant chacune à un canal. Pour le moment, comme l'indique le MM aux pieds des barres, tous les canaux sont muets. Déplacez-vous donc au moins sur les barres PCM et Master, activez les canaux en appuyant sur [M], puis ajustez le volume (à zéro pour le moment) en jouant des touches [Page Haut] et [Page bas]. Une fois cela fait, quittez l'interface en appuyant sur [Q] et enregistrez vos règlages en tapant alsactl store.
Voilà, votre pingouin en sait normalement assez pour jacasser comme une pie. D'ailleurs, nous allons tout de suite mettre sa volubilité à l'épreuve en écoutant ce qu'il a à dire sur – par exemple – la (merveilleuse) commande sed. Il suffit pour cela d'entrer cat /bin/sed | aplay.
Bon, c'est vrai, sur l'articulation ça laisse à désirer mais notez qu'il a trouvé le chemin de vos enceintes, ce qui n'est déjà pas si mal (si ce n'est pas le cas, re-vérifiez vos règlages puis, s'il sont corrects, essayez de passer par la commande alsaconf pour obtenir la reconnaissance de votre matériel). Non, s'il pèche vraiment c'est plutôt à l'écrit, car en effet il semble parfaitement hermétique au français. Voyons voir ça…
Autant vous prévenir tout de suite, ne vous attendez pas à ce que votre palmipède vous ponde du Baudelaire. Sous Slackware et dans le monde de l'Open Source en général, l'anglais demeure en effet la règle (c'est injuste mais c'est ainsi). Faisons nonobstant de notre mieux et entâmons une nouvelle séquence d'installation :
glibc-solibs (A). Elle contient, outre ces derniers, ce qui est requis pour compiler des application en C et manipuler les locales ;
C'est dans /etc/profile.d/lang.sh que se déroulera l'essentiel – pour ne pas dire la totalité – du cours de langue que nous venons d'entreprendre. La marche à suivre en est par ailleurs très simple : éditez le fichier, commentez toutes les lignes qui ne le sont pas à l'exception de LC_COLLATE (afin de prévenir certains comportements inattendus lors des tris de chaînes), puis ajoutez celles-ci à la fin :
export LANG=fr_FR@euro export LESSCHARSET=latin9
La première ligne indique que, lorsqu'il est disponible, les interfaces et la sortie des commandes doivent être en français, et permettre l'emploi du symbole ?. La seconde ligne indique pour sa part à less, la commande de pagination utilisée lors de l'affichage des pages de manuel, d'employer un jeu de caractères avec accents et symbole ?. Cette dernière précision est importante si vous souhaitez avoir des pages de manuel françaises lisibles.
Une fois ces règlages mis en place, vous pouvez dès maintenant actualiser votre environnement en tapant . /etc/profile.d/lang.sh. Entrez ensuite rmdir /, le message d'erreur résultant devrait vous être retourné en français.
Ce sera notre second et dernier point de francisation. En effet, avoir des pages de manuel dans sa langue maternelle peut faire gagner du temps dans la résolution des problèmes, voir être nécessaire quand on n'a pas la chance de lire l'anglais. Les pages que nous nous proposons d'installer ici sont les traductions de celles du LDP (Linux Documentation Project), qui couvrent la plupart des commandes essentielles du système (car quotidiennement utilisées).
Si vous savez comment et préférez le faire, vous pouvez les empaqueter vous-même en récupérant les dernières sources (man-pages-fr et man-pages-extra-fr) à leur adresse de maintien. Cependant le plus simple est certainement de télécharger les paquets amoureusement emballés par votre serviteur. Dans tous les cas installez les paquets, puis tapez man bash. Si tout s'est bien passé, le manuel doit s'afficher en français.
Récapitulons : le réseau, le son, la francisation, … amusant mais cela laisse l'impression qu'on a oublié un truc… un truc essentiel, même… mais qu'est ce que ça peut bien être ?
Le root ! abomination linuxienne par excellence, le seul compte disponible pour se connecter à votre système est celui du superutilisateur. Par bonheur, le système étant encore très minimaliste et normalement à l'abri derrière un pare-feu, les risques courus jusqu'ici ont été plutôt minces. Notre pingouin étant cependant appelé à prendre de l'embonpoint, il est plus que temps de rejoindre l'orthodoxie en la matière.
Le plus simple pour créer un nouveau compte utilisateur est de passer par la commande adduser (à ne pas confondre avec useradd, beaucoup moins conviviale). Celle-ci exécutée, elle vous réclamera divers paramètres en vous proposant à chaque fois entre crochets une valeur par défaut qui sera adoptée si vous validez un champs vide. Dans l'ordre d'apparition :
disk à cette liste ;bash ne vous convient pas, entrez le nom du shell désiré puis validez. Attention cependant car pour le moment seul bash est disponible, vous trouverez les autres shells (ash, ksh, tcsh, zsh) dans AP. Si vous ne savez pas quoi choisir, bash est certainement ce qu'il y a de plus standard sous Linux ;Une fois tout cela renseigné, on vous demandera de valider l'ensemble de vos choix. Si vous le faites, le compte sera créé, puis démarrera une nouvelle série de paramétrages, tous optionnels (vous pouvez tout valider à vide). Viendra alors le moment crucial de vous choisir un mot de passe, promis nous ne regardons pas…
Si vous avez fini, il est temps de tester notre nouveau compte. Allez sur la deuxième console en appuyant simultanément sur [Alt] et [F2] et essayez de vous connecter en tant qu'utilisateur (là encore, attention à [Verr Num]).
Dans le cas où vous n'y parviendriez pas après plusieurs tentatives, ce sera certainement un problème de mot de passe. Retournez alors sur la première console ([Alt] et [F1]), puis tapez passwd <nom de l'utilisateur> et redéfinissez votre mot de passe plus attentivement, ce jusqu'à ce que vous parveniez à connecter autre chose que root sur la deuxième console.
Si vous tentez de vous égayer sur votre système en tant qu'utilisateur, vous vous rendrez rapidement compte que vous êtes soumis à présent à pas mal d'interdits. C'est un peu le principe nous direz-vous narquois, ce à quoi nous nous empresserons d'acquiescer. Néamoins vous reconnaîtrez qu'être privé d'internet et incapable d'éteindre simplement votre machine peut à la longue se révéler un poil usant. C'est pourquoi nous allons mettre en place et configurer sudo. Commencez par retourner sur la première console (seul root peut installer des paquets) et installez le paquet correspondant.
Cela fait, il nous faut éditer le fichier /etc/sudoers. La commande – sécurisée – pour faire ça est normalement visudo (sans argument), mais si l'ergonomie de vi vous donne des boutons, vous pouvez prendre votre éditeur habituel. Voici, commenté par nos soins, le contenu de notre configuration :
# SUDOERS - règles pour 'sudo'.
#
# Pour avoir les détails de configuration, 'man sudoers'.
#
# Nous n'autoriserons l'emploi de sudo qu'à partir de notre machine. Pour
# des raisons de commodité, nous créons l'alias "BOX". Insérez le nom
# de votre machine (ex. "slacknut", mais en aucun cas "localhost").
Host_Alias BOX = <machine>
# À présent nous créons deux groupes. Le premier accueillera tous les
# utilisateurs qui ont le droit de couper la machine, le second ceux qui
# ont le droit de se connecter à internet (séparez les noms par des
# virgules s'il y en a plusieurs). Ajouter votre utilisateur aux deux.
User_Alias U_PWR = <utilisateur>
User_Alias U_NET = <utilisateur>
# Maintenant, nous définissons deux groupes de commandes que nous ferons
# correspondre à chaque groupe d'utilisateur.
Cmnd_Alias C_PWR = /sbin/poweroff, /sbin/reboot
Cmnd_Alias C_NET = /usr/sbin/ppp-stop, /usr/sbin/pppd <interface> # ou '/usr/sbin/ppp-go',
# en cas de 56K.
# Ne reste plus qu'à rendre effectives nos autorisations.
U_PWR BOX = NOPASSWD: C_PWR
U_NET BOX = NOPASSWD: C_NET
# Sans oublier pour finir d'autoriser root à exécuter n'importe quoi en
# tant que n'importe qui (le calife reste le calife ;-).
root ALL=(ALL) ALL
# FDF
visudo, assurez vous que ce que vous avez écrit est correct en tapant visudo -c.
Après cela, nous devrions déjà pouvoir aller librement sur le net et éteindre notre machine simplement en tapant sudo <commande autorisée>.
Il est toutefois vrai que toutes ces choses à taper sont encore un poil lourdes, c'est pourquoi nous alons nous simplifier à nouveau la vie en définissant quelques alias dans le .bashrc de notre utilisateur. Repassez sur la deuxième console et créez/éditez le fichier ~/.bashrc, afin qu'il ressemble à ceci :
alias halt='sudo /sbin/poweroff' alias reboot='sudo /sbin/reboot' alias net-on='sudo /sbin/ppp-go' alias net-off='sudo /sbin/ppp-stop'
Ne reste plus qu'à en exporter le contenu dans l'environnement courant en tapant . ~/.bashrc, et nous pourrons tester le tout, par exemple en nous connectant à internet avec notre alias : net-on.
Voilà, vous pourrez désormais montrer votre bestiole à vos amis linuxiens sans vous exposer à leur (juste) indignation avec un système entièrement utilisé en root. Et puisque nous avons bien travaillé, nous allons passer à des choses un peu plus futiles comme doter notre palmipède d'une chouette boîte de coloriage.
Si votre machine est destinée à être autre chose qu'un serveur, il est probable que vous souhaiterez jouir d'une interface graphique. Pour cela, il vous faudra installer le serveur graphique qu'est Xorg.
Le soucis c'est que Xorg est aujourd'hui modulaire et fractionné en plus de 200 paquets, tous stockés dans X. Aussi vous comprendrez que nous ne pourrons pas donner le détail du rôle de chacun, ce d'autant que la documentation disponible sur le sujet est plutôt laconique. Nous allons donc procéder pour cette fois « en négatif » : au lieu de ce que vous devrez installer, nous vous indiquerons ce que vous pourrez laisser de côté.
Voici donc ce dont votre serveur peut se passer :
xorg-server-xnest et xorg-server-xvfb contiennent d'autres serveurs graphiques que Xorg. Le premier sert de proxy pour faire interagir plusieurs serveurs graphiques, et le second (expérimental) s'imbrique dans un autre serveur graphique. Vous n'en aurez très probablement jamais l'usage ;xorg-cf-files et tous les paquets dont le nom se termine par proto ou protocol peuvent être ignorés. Notez cependant que vous en aurez besoin pour compiler des applications graphiques et que ne pas les installer ne fait économiser guère plus que 5mo ;xorg-docs ne vous sera guère utile si vous ne prévoyez pas de hacker Xorg. Vous pouvez également vous passer de xorg-sgml-doctools qui sert à générer ladite documentation ;font-alias, font-cursor-misc et font-misc-misc sont réellement requis par le serveur. Cependant il est probable que vous voudrez installer des polices plus sympathiques que celles par défaut, on peut donc préciser ce qui risque vraiment d'être inutile, à savoir les polices non-latines contenues dans font-cronyx-cyrillic, font-misc-cyrillic, font-screen-cyrillic, font-winitzki-cyrillic (cyrillique – alphabet employé notamment en Russie), font-misc-meltho (syriaque – langue ancienne du Moyen-Orient), font-misc-ethiopic (guèze – langue ancienne d'Éthiopie), tous les paquets dont le nom débute par scim (langues asiatiques), ttf-indic-fonts (langues d'Inde), sinhala_lklug-font-ttf (srilankais), anthy, font-jis-misc, sazanami-fonts-ttf (japonais), font-isas-misc, wqy-zenhei-font-ttf (chinois) et tibmachuni-font-ttf (tibétain). À cette liste de polices, on peut également ajouter le paquet libhangul qui sert au support des clavier coréens.Avec ces indications, vous devriez obtenir un Xorg épuré sensiblement identique à ce que contenait le paquet de l'ancien Xorg monolithique dans les Slackware antérieures (⇐ 11.0).
Une fois vos installation terminées, il vous faudra lancer les scripts setup mkfontdir et fontconfig afin de mettre à jour l'index des polices du serveur. Pour ce, tapez pkgtool, prenez l'entrée Setup, sélectionnez ces deux scripts dans la liste avec [Espace], puis validez leur exécution.
Vous êtes maintenant prêt à lancer votre serveur, du moins si votre carte graphique est supportée par le pilote vesa (il y a de grandes chances). Pour vous en assurer, retournez sur la deuxième console, tapez xwmconfig puis sélectionner le très euh… austère Windows Manager de Xorg : twm. Lancez ensuite startx, si l'interface graphique s'affiche c'est que votre serveur est fonctionnel. Il ne vous restera plus alors qu'à installer et configurer votre environnement favori. Sortez en pressant sur le bouton gauche de la souris avant de sélectionner Exit.
Si jamais votre carte est allergique à vesa ou que vous trouvez que la qualité de votre affichage laisse à désirer (c'est probable), le mieux est de lancer – après un retour sur la première console – un xorgsetup pour obtenir une configuration de base appropriée à votre matériel. Le sujet étant vaste, nous ne donnerons pas plus de détails sur la configuration de Xorg, consultez le manuel xorg.conf et celui associé à votre pilote (son nom est indiqué dans la section Device de /etc/X11/xorg.conf, à l'entrée driver). Vous pouvez également vous aider de la configuration de Patrick que nous venons de tester et qui est conservée dans le fichier /etc/X11/xorg.conf-vesa.
Bon, l'oiseau ayant à présent tout le nécessaire pour développer sa sensibilité artistique, il est temps de passer à l'ultime étape de son développement, qui consiste à faire un peu le tri de ses idées.
Jusqu'ici, nous nous sommes surtout préoccupés de limiter l'espace disque occupé par notre pingouin, en choisissant scrupuleusement nos paquets. Or, cela n'est qu'une part du travail si nous voulons véritablement obtenir un système minimaliste, puisqu'à l'heure où vous lisez ces lignes plusieurs méga-octets de précieuse mémoire vive doivent être gaspillés.
En effet, pour pouvoir booter vous avez dû charger une énorme ( « huge » en anglais) image de noyau, embarquant énormément de choses afin de s'adapter sans douleur au plus grand nombre de configurations possibles. Il en résulte qu'une bonne partie du code chargé actuellement en mémoire l'est en pure perte. Nous allons donc changer de noyau et opter pour le noyau générique modulaire que vous avez installé lors du choix des paquets initiaux (paquet kernel-generic). Étant modulaire, celui-ci laissera au système la tâche d'évaluer précisément le code qu'il convient de charger pour répondre à ses besoins, économisant ainsi pas mal de poids mort.
Le soucis c'est qu'un tel noyau nécessite un ramdisk pour pouvoir booter, c'est à dire un fichier prêt à être chargé en mémoire et contenant le code requis pour cette opération (principalement le support du système de fichiers présent sur votre partition de boot). Nous allons donc procéder dans cette section à tous les changements nécessaires.
Tout d'abord commencez par vous rendre dans le dossier /boot, et assurez-vous que les lien symbolique vmlinuz et System.map sont bien associés à l'image générique :
cd /boot rm vmlinuz ln -s vmlinuz-generic-smp-<version du noyau>-smp vmlinuz rm System.map ln -s System.map-generic-smp-<version du noyau>-smp System.map
Ensuite créez le ramdisk en indiquant le système de fichiers utilisé (ici ext3, avec une racine système située sur /dev/hda1, adaptez à votre configuration) :
mkinitrd -c -m mbcache:jbd:ext3 -f ext3 -r /dev/hda1
ext3 ou si vous voulez en apprendre plus sur la création de ramdisks avec mkinitrd, consultez le fichier /boot/README.initrd.
Cette opération effectuée, corrigez les entrées dans /etc/lilo.conf afin qu'elles ressemblent à ceci (là encore, corrigez bien sûr si votre racine n'est pas /dev/hda1) :
# L'entrée de notre noyau générique, que nous nommons « Current », avec une ligne pour désigner
# le ''ramdisk'' à charger.
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/hda1
label = Current
read-only
# L'entrée de notre ancien noyau, que nous appelons logiquement « Old ».
image = /boot/vmlinuz-huge-smp-<version du noyau>-smp
root = /dev/hda1
label = Old
read-only
À présent il ne vous reste plus qu'à relancer lilo pour que vos changements soient pris en compte. Au prochain boot de votre machine, deux entrées devraient vous être proposées, « Old » faisant office d'issue de secours en cas d'échec au chargement du noyau générique.
Et bien ! avouez qu'on a plutôt bien travaillé, non ? à ce stade, il ne vous reste normalement qu'à adapter votre système à vos besoins en installant les logiciels adéquats. Cela étant uniquement de votre ressort, il est donc temps pour nous de prendre congé…
Plaît-il ? Vous tremblez et blêmissez à présent qu'a sonnée l'heure ? Effectivement une explication sur la marche à suivre pour parachever votre système ne serait pas de trop. Allons, séchez-nous ces larmes, c'est en fait fort simple.
Lorsque vous voulez ajouter une application, commencer par installer le paquet la contenant, puis exécutez dans une console (ou un terminal) la commande y correspondant. Vous devriez alors écoper d'un message relevant que quelque_chose.so est not found. Cela veut simplement dire qu'il manque une bibliothèque pour que l'application puisse s'exécuter correctement.
La Slackware étant garantie livrée sans problèmes de dépendances, ce dont vous avez besoin est nécessairement dans la distribution, ne reste donc qu'à identifier dans quel paquet il se trouve. Pour cela, nous avons à la racine de chacun des répertoires slackware/ que contiennent les CDs Slackware un fichier MANIFEST.bz2. Ceux-ci recensent l'ensemble des fichiers contenus dans le CD auquel ils appartiennent respectivement.
La première chose à faire est de tous les copier sur votre disque dur, par exemple dans /tmp en tant que MANIFESTCD1.bz2, MANIFESTCD2.bz2, MANIFESTCD3.bz2, etc. selon les CDs que vous allez utiliser. Ensuite ne vous restera plus qu'à lancer une recherche en usant de la syntaxe bzgrep “Package:\|<votre recherche>” /tmp/MANIFESTCD* | grep -v Package: -B 1. En illustration, voici ce que donnerait celle-ci appliquée à la recherche de libpango :
$ bzgrep "Package:\|libpango" /tmp/MANIFESTCD* | grep -v Package: -B 1 /tmp/MANIFESTCD1.bz2:|| Package: ./l/pango-1.16.4-i486-1.tgz /tmp/MANIFESTCD1.bz2:-rw-r--r-- root/root 822 2007-05-04 16:04 usr/lib/libpangox-1.0.la /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 1289 2007-05-04 16:04 usr/lib/libpangocairo-1.0.la /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 172852 2007-05-04 16:05 usr/lib/libpangoft2-1.0.so.0.1600.4 /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 927 2007-05-04 16:04 usr/lib/libpango-1.0.la /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 41228 2007-05-04 16:05 usr/lib/libpangox-1.0.so.0.1600.4 /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 245380 2007-05-04 16:05 usr/lib/libpango-1.0.so.0.1600.4 /tmp/MANIFESTCD1.bz2:-rw-r--r-- root/root 834 2007-05-04 16:04 usr/lib/libpangoxft-1.0.la /tmp/MANIFESTCD1.bz2:-rw-r--r-- root/root 834 2007-05-04 16:04 usr/lib/libpangoft2-1.0.la /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 30864 2007-05-04 16:05 usr/lib/libpangocairo-1.0.so.0.1600.4 /tmp/MANIFESTCD1.bz2:-rwxr-xr-x root/root 23480 2007-05-04 16:05 usr/lib/libpangoxft-1.0.so.0.1600.4
Comme vous le voyez, pas d'équivoque possible, la bibliothèque que nous cherchons est dans le paquet pango qui nous attend dans la série L.
bunzip2 -v /tmp/MANIFEST*. Cela prend bien sûr un peu plus d'espace disque (une grosse dizaine de méga-octets pour les MANIFEST des deux premiers CDs), mais le gain en vitesse d'exécution est très sensible.
Il vous suffira de répéter à nouveau le procédé jusqu'à ce que toutes vos applications soient fonctionnelles. Au passage, ne vous alarmez pas si les premières applications demandent beaucoup de dépendances, c'est simplement parce qu'actuellement votre système n'embarque presque rien. Sur un système un peu étoffé, une nouvelle application ne réclame en général guère plus que l'installation de deux ou trois « paquets-dépendances ».
Cette fois point de doute possible, nous voici rendus à l'inéluctable terme de ce guide.
Pour les (téméraires) débutants et les post-débutants sous Slackware, nous espérons que celui-ci vous aura permis d'entrer plus avant dans votre système et de vous familiariser avec chacun de ses composants essentiels. Pour les autres, les vieux écumeurs de banquise, nous prions simplement pour ne pas avoir écrit trop de bêtises, et espérons qu'au moins l'exposé aura été assez cohérent pour vous faire gagner du temps dans vos expérimentations.
Dans tous les cas, notre voeu le plus cher reste qu'arrivé ici vous disposiez d'une base fonctionnelle ouverte aux adaptations les plus folles que puissiez secrètement concevoir. Car ce document ne serait rien si en définitive il ne vous permettait pas de personnaliser votre système de A à Z. Soyez inventifs et amusez-vous bien, voilà donc tout ce que nous pouvons dire pour conclure !
Pour faire gagner du temps à ceux qui se moquent du détail des paquets, nous avons prévu une archive contenant les fichiers tagfile des catégories traitées dans ce guide, ainsi que quelques outils (note : le dernier chiffre renvoie au nombre de révisions opérées sur l'archive, pas sur le guide).
Si vous ne savez pas utiliser les tagfiles, consultez l'article traitant du sujet. Pour le reste, tout ce qu'il y a à savoir devrait être dans le fichier LISEZ-MOI que vous trouverez à la racine de l'archive.