[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

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 :

Les répertoires et documents à la racine de l'arborescence 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 32-bit)
|-- slackware64/          paquets de base (si 64-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 menu Setup.

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 (choisir Setup puis services 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/ou explodepkg, 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

 fr:howtos:misc:get_acquainted_with_slackware ()
Cette traduction est plus ancienne que la page originale et est peut-être dépassée. Voir ce qui a changé.