Ceci est une ancienne révision du document !
Table des matières
Slackware : quelques points de repère
Introduction
Ce document doit permettre aux personnes ayant déjà utilisé un autre système de style Unix, comme une autre distribution Linux, *BSD ou OS X de se familiariser rapidement avec Slackware Linux. Nous supposons que les lecteurs :
- connaissent les principales commandes Unix et les concepts associés
- savent éditer un fichier texte (notamment un fichier de configuration)
- savent lire un script “shell” simple.
Ressources
Le site de Slackware
Le site slackware.com est un point d'entrée vers les ressources suivantes :
- La boutique pour soutenir financièrement Slackware
- les arbres des fichiers depuis la version 1.01
- Le navigateur de paquets permet une recherche de paquets pour toutes les versions depuis Slackware 8.1
Le répertoires et documents à la racine des arbre des fichiers de la distribution
Ces documents sont aussi disponibles à la racine de chaque image ISO
Ci-dessous une vue partielle avec les répertoires principaux et des documents utiles aux débutants sous Slackware.
. |-- CHANGES_AND_HINTS.TXT Voir la fin : OTHER NOTABLE CHANGES AND HINTS |-- README.TXT présentation de la version, dont les séries de paquets |-- README.initrd comment créer un "initrd" pour démarrer le sytème[1] |-- Slackware-HOWTO pré-requis, installation et configuration |-- EFI/ installateur pour UEFI 64-bit depuis la version 14.1 |-- extra/ paquets et sources complémentaires |-- isolinux/ installateur |-- kernels/ noyaux |-- pasture/ paquets et sources obsolètes |-- patches/ paquets et sources mis à jour après une parution |-- slackware/ paquets de base (si 64-bit) |-- slackware64/ paquets de base (si 32-bit) |-- testing/ paquets pour les aventureux `-- usb-and-pxe-installers/ autres méthodes d'installation
[1] Voir aussi /usr/share/mkinitrd/mkinitrd_command_generator.sh après installation.
Les noms des autres documents avec l'extension TXT indiquent leur contenu.
Autre sources d'information
Le site communautaire SlackDocs ambitionne d'être la première source d'information sur Slackware. A consulter en priorité, notamment pour approfondir les thèmes traités dans ce document.
Les débutants sous Slackware (et les autres) ont leur forum Slackware sur le site LinuxQuestions.org, souvent abrégé en LQ.
Vous trouverez d'autres sources d'information en suivant les Slackware-Links proposé par onebuck de LQ.
Après installation, lisez le courriel de Patrick Volkerding, il contient des informations complémentaires : tapez simplement mail
comme root, ou visualisez le fichier /var/spool/mail/root avec less
.
Installation, configuration, démarrage
Installation
Les supports d'installation s'obtiennent sur le site de Slackware (voir plus haut).
L'installateur est en mode texte, le document Slackware-HOWTO présente le processus d'installation.
L'installateur d'origine existe seulement en Anglais mais le projet Slint offre des installateurs polyglottes, qui en outre complètent la configuration du système : choix de la langue, du plan de clavier et création d'utilisateurs “ordinaires”. Un paquet Slint aussi installé rend polyglottes les principaux outils d'administration et/ou leurs pages de manuels. Depuis la version 14.1 les installateurs Slint peuvent être pilotés par un terminal Braille, aussi utilisable sur le système installé.
Configuration post-installation
Les tâches de configuration et d'administration doivent être effectuée comme root. Si vous vous êtes connecté comme utilisateur ordinaire, tapez su
(pour obtenir les privilèges de root) ou su -
(pour devenir root). La commmande sudo
, disponible, est peu usitée pour administrer Slackware.
- Pour créer de utilisateurs “ordinaires”, tapez
adduser
- Pour changer de police de caractères pour la console tapez
setconsolefont
- Pour changer de plan de clavier à la console éditez /etc/rc.d/rc.keymap et rendez-le exécutable
- Pour changer de langue éditez /etc/profile.d/lang.sh et le cas échéant /etc/profile.d/lang.csh. Nota : dans Slackware /bin/sh est un lien symbolique vers /bin/bash.
- Pour modifier les réglages de clavier pour X (en mode graphique), copiez /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf dans etc/X11/xorg.conf.d puis éditez la copie. Le fichier /etc/X11/xkb/rules/evdev.lst répertorie toutes les valeurs possibles de XkbModel, XkbLayout, XkbVariant et XkbOptions sous les intitulés respectifs
! model
,! layout
,! variant
et! option
- Vous pouvez ré-exécuter des scripts de configuration (déjà utilisés à la fin de l'installation) en utilisant la commande
pkgtool
, entrée de menuSetup
.
Slackware inclut les principaux éditeurs de textes tels que pico, nano, elvis et vim et les gestionnaires de fichiers mc et thunar et, bien sûr, tous les utilitaires et shells courants, utiles pour configurer et administrer le système.
D'une manière générale, Slackware ne préjuge pas de l'utilisation qui sera faite du système. Il revient donc à l'administrateur de personnaliser son système en éditant les fichiers de configuration situés dans /etc et ses sous-répertoires. Les commentaires dans les scripts de gestion des services situés dans /etc/rc.d et dans les fichiers de configuration vous y aideront.
Démarrage
Lors du premier démarrage après installation votre système sera en mode “console”, sans interface graphique. Si vous préférez démarrer en mode graphique, remplacez “id:3:initdefault:” par “id:4:initdefault:” (niveau d'exécution 4 au lieu de 3) dans le fichier /etc/inittab
Sinon, pour passer du mode console au mode graphique, choisissez d'abord votre gestionnaire de fenêtre ou bureau par défaut grâce à la commande xwmconfig
, soit comme root (pour tous), soit comme utilisateur ordinaire (pour celui-ci). Tapez ensuite startx
pour démarrer ce gestionnaire de fenêtres ou bureau depuis la console après démarrage du système.
Pour Slackware les niveaux d'exécution configurés dans /etc/inittab sont :
- 0 : arrêt
- 1 : un seul utilisateur
- 3 : multi-utilisateurs (niveau par défaut)
- 4 : idem, mais avec un gestionnaire de sessions pour X
- 6 : redémarrage
A ces niveaux correspondent des scripts dans /etc/rc.d :
- rc.S exécuté au démarrage, il initialise le système, vérifie et monte les systèmes de fichier.
- rc.M en mode multi-utilisateurs, il démarre la plupart des services (démons lancés par des scripts dans /etc/rc.d si exécutables).
- rc.K passe en mode mono-utilisateur (niveau d'exécution 1 ou S).
- rc.4 démarre un gestionnaire de sessions : gdm, kdm ou xdm, d'autres peuvent êtres ajoutés en editant le script).
- rc.0 arrête le système (lien symbolique vers rc.6).
- rc.6 redémarre ou arrête (si appelé comme rc.0) le système proprement.
Nota. L'administrateur peut ajouter des scripts de services (gestion de démons) dans /etc/rc.d. Placer les démarrages (start) des démons dans /etc/rc.d/rc.local et leurs arrêts (stop) dans /etc/rc.d/rc.local_shutdown. /etc/rc.d/rc.local est exécuté par /etc/rc.d/rc.M, /etc/rc.d/rc.local_shutdown par /etc/rc.d/rc.6
En complément, Slackware comporte une structure de gestion des services par niveau d'exécution de style sysvinit
, pour les logiciels non compris dans la distribution (commerciaux, notamment) qui le nécessitent.
La gestion des services à lancer au démarrage peut se faire :
- manuellement en rendant exécutable : (
chmod 755 <nom du script>
) ou non : (chmod 644 <nom du script>
) le script correspondant dans /etc/rc.d - grâce à la commande
pkgtool
(choisirSetup
puisservices
dans le menu).
Nota. Comme tous les outils d'administration, pkgtool
doit être exécutée comme root.
Gestion des paquets logiciels.
Présentation des paquets logiciels Slackware
Slackware est distribuée comme un ensemble de paquets logiciels, contenant les applications et documents associés ainsi le cas échéant que des scripts exécutés lors de l'installation, notamment pour créer des lien symboliques ou gérer les fichiers de configuration et scripts de gestion des services.
Un paquet Slackware se présente comme une arbre de fichiers archivé par tar
puis compressé, autrefois par gzip
, aujourd’hui par xz
.
Un script shell appelé “SlackBuild”, compile les fichiers binaires à inclure dans l'archive et les installe dans l'arbre du paquet avec d'autres fichiers. Il se termine généralement par l'exécution de la commande makepkg
, qui constitue l'archive à partir de l'arbre des fichiers du paquet en y incluant le cas échéant des scripts d'installation, cf. “man makepkg”.
Les paquets logiciels se trouvent dans les répertoires des supports d'installation indiqués précédemment. Chacun de ces répertoires contient les fichiers suivants :
- PACKAGES.TXT ⇒ Noms, taille et description de chaque paquet.
- FILE_LIST ⇒ Tous les fichiers contenus dans le répertoire.
- MANIFEST.bz2 ⇒ Les caractéristiques de chaque fichier (qui serait) installé par chaque paquet (fichier comprimé par
bzip2
).
Les répertoires slackware/ ou slackware64/ regroupent les paquets par “série” telles que a/, ap/, d/, etc. Ces séries sont décrites dans README.TXT et Slackware-HOWTO à la racine du support d'installation. Elles sont présentées durant l'installation.
Lors d'une installation complète ou “full”, tous les paquets situés dans slackware/ ou slackware64/ sont proposés.
Important : Slackware ne gérant pas automatiquement les dépendances entre logiciels, il est recommandé aux débutants d'effectuer une installation complète ou “full” : tous les fichiers nécessaires au fonctionnement des applications étant fournis dans des paquets Slackware, les installer tous garantit que toutes les dépendances seront satisfaites.
A chaque paquet logiciel correspond un répertoire source, situé :
- dans le sous-répertoire source/ des répertoires extra/, pasture/ et testing/
- dans le répertoire source/ des arbres des fichiers et dans des images ISO spécifiques dans les répertoires version 32-bit des images ISO pour les paquets situés dans slackware/ ou slackware64/
Par exemple, pour la version 14.1 le contenu du répertoire source/ap/tmux/ est le suivant :
. |-- slack-desc description de l'application |-- tmux-1.8.tar.xz archive source `-- tmux.SlackBuild à rendre exécutable s'il ne l'est pas déjà
Ceci permet notamment de construire un paquet avec des options de compilation différentes et/ou pour une version plus récente, en éditant le SlackBuild et le cas échéant en copiant dans le répertoire source du paquet une version différente de l'archive source du logiciel.
Dans notre exemple pour moderniser tmux
il suffit de télécharger l'archive source plus récente tmux-1.9a.tar.gz à partir du site de tmux, de la placer dans source/ap/tmux/, puis de taper comme root depuis ce répertoire : VERSION=1.9a ./tmux.SlackBuild
pour construire un paquet /tmp/tmux-1.9a-i486-1.txz pouvant remplacer le précédent grâce à la commande upgradepkg /tmp/tmux-1.9a-i486-1.txz
La base de données des paquets Slackware
Elle est constituée de fichiers textes dans le répertoire /var/log du système installé :
/var/log/packages/<paquet> : fournit les données de synthèse sur le paquet et liste les fichiers installés
/var/log/scripts/<paquet> : liste le cas échéant les commandes exécutées par les scripts d'installation
/var/log/removed_packages/<paquet> : fournit les informations sur les paquets supprimés
/var/log/removed_scripts/<paquet> : liste les commandes exécutées par les scripts d'installation des paquets supprimés
S'agissant de fichiers textes, vous pouvez les visualiser avec less
ou avec un éditeur de textes. Ils sont mis à jour et utilisés par les programmes de gestion des paquets. Ils permettent par exemple de connaître le contenu d'un paquet, de quel(s) paquet(s) fait partie un fichier installé ou de savoir si un fichier a été modifié ou supprimé depuis son installation.
Les fichiers PACKAGES.TXT et FILE_LIST contenus dans les répertoires de paquets sont aussi utilisés pour leur gestion.
Installation, suppression et mise à jour des paquets logiciels
Ces fonctions sont assurées respectivement par les commandes installpkg
, removepkg
, upgradepkg
, cf. leurs pages de manuel.
Attention, ugradepkg
serait mieux nommée replacepkg
: cette commande installe le paquet indiqué puis enlève celui précédemment installé, quelles que soient leurs versions respectives.
La commande pkgtool
, dotée d'un menu, permet d'installer, d'enlever, d'examiner le contenu de paquets et plus généralement d'administrer le système : pkgtool
est le “couteau suisse” de Slackware. En complément de “man pkgtool”, faites connaissance avec l'outil en naviguant dans son menu.
La commande slackpkg
ajoute aux précédentes l'accès à un miroir local ou distant des paquets officiels Slackware. Cela permet par exemple de télécharger puis d'installer un ensemble de paquets ou de tenir le système à jour avec une seule commande. Son fonctionnement est gouverné par les fichiers de configuration /etc/slackpkg/slackpkg.conf et /etc/slackpkg/mirrors, voir “man slackpkg” et “man slackpkg.conf”.
La base de donnée des paquets logiciels sur le site de Slackware
le site http://packages.slackware.com/ permet une recherche selon les critères suivants :
- Package (paquet)
- Label (désignation)
- Description
- Content (contenu)
dans un ou plusieurs des répertoires de paquets, pour toutes les versions de Slackware depuis 8.1 jusqu'à “current”
Il donne aussi accès à l'arbre des fichiers de chacune de ces versions.
Compléter Slackware avec des paquets tiers
Slackware ne fournit pas tous les logiciels possibles. Comme l'a écrit Patrick Volkerding :
When I started this project, it really wasn't my intent to provide every possible package, application, desktop, etc. My goal was to make a platform upon which things could be built easily and that followed upstream as closely as was possible. Of course, some applications had to be included, but the idea was to try to stick to the essentials that everyone would miss if they weren't there.
La plupart des applications manquantes dans Slackware sont disponibles sur le site http://slackbuilds.org qui propose, non pas des paquets tiers, mais tout le nécessaire pour en construire.
Pour savoir comment utiliser ces matériaux, voir la page http://slackbuilds.org/howto/.
L'application sbopkg
disponible ici : http://www.sbopkg.org/ facilite l'utilisation des SlackBuilds disponibles sur http://slackbuilds.org en automatisant le téléchargement de tout le nécessaire puis la construction voire l'installation des paquets. Voir “man sbopkg” et le fichier de configuration /etc/sbopkg/sbopkg.conf.
En outre l'application sqg
, que vous trouverez après installation de sbopkg
dans /usr/doc/sbopkg-<version>/contrib/sqg, facilite l'utilisation de sbopkg en constituant automatiquement des listes ordonnées de dépendances ou “queue files”. Tapez sqg -h
pour en savoir plus. Il faut éditer le début du script sqg
avant utilisation.
Pour finir, quelques tiers de confiance proposent des paquets “tout faits”. Voir notamment ceux proposés par Eric Hameleers ou Alien BOB et Robby Workman et Matteo Bernardini ou ponce, contributeurs de Slackware.
Le site http://www.slackware.org.uk/ héberge aussi des paquets ou SlackBuilds, notamment proposés par des distributions dérivées de Slackware comme Salix, maintenue principalement par George Vlahavas, ou des bureaux non compris dans Slackware, par exemple Mate proposé par Chess Griffin et Willy Sudiarto Raharjo, ou encore disponibles sur le site slacky.eu
Des paquets pouvant être installés sur Slackware sont aussi disponibles ailleurs. Trois conseils s'imposent :
- Sachez qui propose ces paquets et fiez-vous de préférence à des contributeurs de Slackware ou au moins de http://slackbuilds.org
- Examinez soigneusement le contenu des paquets avant installation, notamment pour vérifier les permissions des fichiers et les éventuelles modifications des répertoires et fichiers existants. Utilisez
less
,tar
et/ouexplodepkg
, voir “man explodepkg”. - N'installez jamais un paquet dont les sources et le SlackBuild ne sont pas disponibles.
Enfin, le “greffon” non officiel slackpkg+ étend l'utilisation de slackpkg aux répertoires “non officiels” de paquets Slackware.
Construire vos propres paquets.
C'est la méthode recommandée si aucun SlackBuild n'est disponible, pour pouvoir bénéficier des outils de gestion des paquets Slackware et conserver un système “propre”.
Le logiciel slacktrack
, inclus dans Slackware, peut vous aider, ainsi que “man makepkg”. Vous pouvez vous inspirer de l'examen de SlackBuilds existants et des modèles proposés par slackbuilds.org. Faites une recherche sur SlackDocs avec le mot clef “package” ou “install” pour en savoir plus.
Maintenance du système
Pour être informé de la mise à disposition de paquets logiciels qui comblent des failles de sécurité, envoyer un courriel à majordomo@slackware.com avec la phrase “subscribe slackware-security” dans le corps du texte.
La page Slackware Changelogs rassemble les journaux de modification des versions stables et en-cours.
Pour une version stable les mises à jour sont peu nombreuses, car elles visent seulement à combler une faille de sécurité ou à corriger une “bogue” majeure dans un logiciel et non simplement à procurer des version plus récente des logiciels inclus dans la distribution. Les utilisateurs sont censés moderniser eux-même leurs logiciels s'ils le souhaitent, voir le chapitre précédent pour ce faire : Slackware ne propose pas un mode d’actualisation en continu d’un système installé mais une succession de versions stables.
Une mise à jour ou réinstallation d'un paquet peut conduire à reinstaller un fichier (en général de configuration) déjà installé. Dans ce cas s'ils ne sont pas identiques le système installera un nouveau fichier à côté du précédent avec l'extension .new et vous aurez à décider quoi faire au cas par cas : fusion des deux fichiers, conservation de l'ancien tel quel ou son remplacement par le nouveau.
La pratique consistant à installer sur un système un paquet logiciel inclus dans une autre version de Slackware est déconseillée et échouera souvent. Il vaut mieux tenter de reconstruire un paquet pour la version installée en exécutant le SlackBuild dans une copie du répertoire source du paquet trouvé dans l'autre version. Et bien entendu, il est fortement déconseillé d'installer des paquets prévus pour une autre distribution, à moins qu’elle soit réputée 100% compatible avec Slackware à version identique.
La diffusion de “Slackware-current” accélère et fiabilise la mise au point de la future version stable, en permettant à tous ceux qui le souhaitent de tester les nouveaux logiciels et de rapporter les problèmes rencontrés. Elle n'est pas à utiliser en production ni à considérer comme un mode d'actualisation d'une version diffusée.
Sources
- Originally written by Didier Spaier