[Slackdocs] Can't create a page

Didier Spaier didier at slint.fr
Fri Jan 9 22:41:13 CET 2015


Hello,

I'm pretty sure it's a PEBCAK case, however...

I've cooked a page and its translation to French (both attached) but 
can't remember how to create it in SlackDocs. While logged I type in the 
address bar:
http://docs.slackware.com/wiki:slackware:get_acquainted_with_slackware

I get this:
You've followed a link to a topic that doesn't exist yet. If permissions 
allow, you may create it by clicking on “Create this page”.

So far, so good, but I can't find a button to create the page (though 
I'm logged in).

TIA for a clue.

Didier
-------------- next part --------------

===== Slackware : quelques points de repère =====

==== Introduction ====
Ce document doit permettre aux nouveaux venus de se familiariser rapidement avec Slackware Linux. Pré-requis :
  * connaître un autre système de style *nix, comme une autre distribution Linux, *BSD ou OS X, les principales commandes Unix at des concepts associés.
  * savoir localiser et éditer un fichier texte (notamment un fichier de configuration) et lire un script shell simple.

==== Ressources ====
=== Le site de Slackware ===
Le site [[http://slackware.com|slackware.com]] est un point d'entrée vers les ressources suivantes :

  * [[https://store.slackware.com/cgi-bin/store|La boutique]] pour soutenir financièrement Slackware
  * des [[http://mirrors.slackware.com/slackware/slackware-iso/|images ISO]], une [[http://mirrors.slackware.com/|liste de miroirs]], des [[http://www.slackware.com/getslack/torrents.php|torrents]] pour obtenir la distribution,
  * [[http://mirrors.slackware.com/slackware/|les arbres des fichiers]] depuis la version 1.01
  * Le [[http://packages.slackware.com/|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 [[http://mirrors.slackware.com/slackware/slackware-iso/|image ISO]]

Ci-dessous une vue partielle avec les répertoires principaux et des documents utiles aux débutants sous Slackware.
<code>
.
|-- 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
</code>

[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 [[http://docs.slackware.com|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 [[http://www.linuxquestions.org/questions/slackware-14/|forum Slackware]] sur le site LinuxQuestions.org, souvent abrégé en LQ.

Vous trouverez d'autres sources d'information en suivant les [[http://wiki.linuxquestions.org/wiki/Slackware-Links|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 [[http://slint.fr|Slint]] offre des [[http://slint.fr/installer.html|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 [[http://slint.fr/package.html|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 du 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é ''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  [[http://mirrors.slackware.com/slackware/|arbres des fichiers]] et dans des images ISO spécifiques dans les répertoires version 32-bit des [[http://mirrors.slackware.com/slackware/slackware-iso/|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 :
<code>
.
|-- 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à
</code>

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 [[http://tmux.sourceforge.net/|site de tmux]], de la placer dans source/ap/tmux/ puis 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://slackbuids.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 [[http://www.slackware.com/~alien/slackbuilds/|Alien BOB]] et [[http://rlworkman.net/pkgs/|Robby Workman]] et Matteo Bernardini ou [[http://ponce.cc/slackware/|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 [[http://www.slackware.org.uk/msb/|Mate]] proposé par Chess Griffin et Willy Sudiarto Raharjo, ou encore disponibles sur le site [[http://slacky.eu/slacky/Pagina_principale|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 [[http://slakfinder.org/slackpkg+.html|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 [[http://slackbuilds.org/templates/|modèles]] proposés par slackbuilds.org. Faites une recherche sur [[http://docs.slackware.com|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 at slackware.com avec la phrase "subscribe slackware-security" dans le corps du texte.

La page [[http://www.slackware.com/changelog/|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.

Didier Spaier, le 09 janvier 2014.
-------------- next part --------------

===== Get acquainted with Slackware =====

==== Introduction ====
This document is intended to people who want to get quickly acquainted to
Slackware. Requirements:
  * have already used another *nix style system, like any other Linux distribution, *BSD or OS X, know the main Unix commands and the associated concepts,
  * already know how-to locate and edit a text file (such as a configuration file) and read a simple shell script.

==== Resources ====
=== Slackware's website ===
The website [[http://slackware.com|slackware.com]] is an entry point to
following resources:

  * [[https://store.slackware.com/cgi-bin/store|The store]] to financially Slackware,
  * [[http://mirrors.slackware.com/slackware/slackware-iso/|ISO images]], a [[http://mirrors.slackware.com/|mirrors list]], [[http://www.slackware.com/getslack/torrents.php|torrents]] to get the distribution,
  * [[http://mirrors.slackware.com/slackware/|Files trees]] from version 1.01,
  * The [[http://packages.slackware.com/|Packages browser]] allows to find packages for all versions since Slackware 8.1

=== Directories and documents at the root of the distribution's file trees ===
These documents are also available at the root of each of the
[[http://mirrors.slackware.com/slackware/slackware-iso/|ISO images]]

Here is an incomplete list of the main directories and documents useful to
Slackware newcomers.
<code>
.
|-- CHANGES_AND_HINTS.TXT See the end: OTHER NOTABLE CHANGES AND HINTS
|-- README.TXT            présentation of the version, including the packages series
|-- README.initrd         how-to create an "initrd" to start the system[1]
|-- Slackware-HOWTO       requirements, installation and configuration
|-- EFI/                  installer for UEFI 64-bit from version 14.1
|-- extra/                additional packages and sources
|-- isolinux/             installer
|-- kernels/              kernels
|-- pasture/              obsolete packages and sources
|-- patches/              packages and sources updated after a release
|-- slackware/            base packages (if 64-bit)
|-- slackware64/          base packages (if 32-bit)
|-- testing/              packages intended for adventurous
`-- usb-and-pxe-installers/ alternate installation methods
</code>

[1] See also /usr/share/mkinitrd/mkinitrd_command_generator.sh after
installation.

The names of the other documents with the TXT extension give a clue about
their content.

=== Other information sources ===

The aim of community website [[http://docs.slackware.com|SlackDocs]] is to be
the main information source about Slackware. Visit it priority to deepen the
topics covered in this document.

Slackware newcomers (and others) have their
[[http://www.linuxquestions.org/questions/slackware-14/|Slackware forum]] on
the website LinuxQuestions.org, often abbreviated LQ.

You can find other sources of information following the
[[http://wiki.linuxquestions.org/wiki/Slackware-Links|Slackware-Links]]
proposed by onebuck from LQ.

After installation, read the email from Patrick Volkerding, it contains
additional information: just type ''mail'' as root, or read the file
/var/spool/mail/root with ''less''.

==== Installation, configuration, startup ====

=== Installation ===

The installation media can be obtained on Slackware's website (seeabove).

Slackware provides a text installer, the document Slackware-HOWTO presents
the installation process.

The genuine installer is only available in English but the project
[[http://slint.fr|Slint]] offers [[http://slint.fr/installer.html|polyglot
installers]], which also complement the system configuration: choosing the
language, keyboard plan and creating ordinary users. A
[[http://slint.fr/package.html|Slint package]], also installed, provides
polyglot versions of the main administration tools and/or their manual
pages. Since version 14.1 the Slint installers can be controlled by a
Braille treminak, that can also be used to control the installed system.

=== Configuration post-installation ===

The tasks of configuration and administration must be carried out as
root. If you are logged in as a normal user, type ''su'' (to obtain root
privileges) or ''su -'' (to become root). The ''sudo command'', although
available, is rarely used to administer Slackware.
  * To create "ordinary" users, type ''adduser''
  * To change the font for the console type ''setconsolefont''
  * To change the console keymap edit /etc/rc.d/rc.keymap and make it executable
  * To change the LANG edit /etc/profile.d/lang.sh and case occuring /etc/profile.d/lang.csh. Note: in Slackware /bin/sh is a symlink to /bin/bash.
  * To modify the keyboard settings for X (in graphical mode), copy usr/share/X11/xorg.conf.d/90-keyboard-layout.conf to /etc/X11/xorg.conf.d, hen edit the copy. The file /etc/X11/xkb/rules/evdev.lst lists all known alues for XkbModel, XkbLayout, XkbVariant and XkbOptions under the especive headings ''! model'', ''! layout'', ''! variant'' and ''! option''
  * You can re-run the setup scripts (already used at the end of installation) using the command ''pkgtool'', menu entry'Setup'.

Slackware includes the main text editors such as pico, nano, elvis and vim
and file managers mc and thunar and, of course, all common utilities and
shells, useful to configure and administer the system.

In general, Slackware does not prejudge how the system wil be used. It is up
to the administrator to customize it for its intended usage by editing the
configuration fileslocated in /etc or its subdirectories. Reading comments
in scripts for management of services located in /etc/rc.d as well as in the
configuration files helps.

=== Startup ===

At first startup after installation your system will be in "console" mode,
without a GUI. If you prefer to start in graphical mode, replace
"id:3:initdefault:" with "id:4:initdefault:" (runlevel 4 instead of 3) in
the file /etc/inittab

Otherwise, to switch from console to graphical mode, choose first your
window manager or desktop by default through command ''xwmconfig'' either as
root (for all) or as ordinary user (for that user). Then type ''startx'' to
start this window manager or desktop from the console aftre system startup.

In Slackware the run levels configured in /etc/inittab are:
  * 0: shutdown
  * 1: single user
  * 3: multi user (default level)
  * 4: idem 3, but with a sessions manager for X
  * 7: reboot

At these levels correspond scripts in /etc/rc.d:
  * rc.S runs at startup, it initializes the system, checks then mount the file systems.
  * rc.M in multi user mode starts most services (daemons launched by scripts in /etc/rc.d if executable).
  * rc.K goes into single user mode (run level 1 or S).
  * rc.4 starts a session manager: gdm, kdm or xdm, others can be added editing that script.
  * rc.0 shuts down the system (symlink to rc.6).
  * rc.6 reboots or shuts down (if called as rc.0) the system cleanly.

Note. The administrator can add services scripts (daemons manager) in
/etc/rc.d. Place the ''start'' of the demons in /etc/rc.d/rc.local and the
''stop'' in /etc/rc.d/rc.local_shutdown. /etc/rc.d/rc.local is run by
/etc/rc.d/rc.M, /etc/rc.d/rc.local_shutdown by /etc/rc.d/rc.6

In addition Slackware includes a structure for managing services by run
level in a ''sysvinit'' fashion for the software not included in the
distribution (commercial ones, noticeably) that need it.

The management of services to be launched at startup can be done:
  * manually making executable: (''chmod 755 <script name>'') or not: (''chmod 644 <script name>'') the corresponding script in /etc/rc/.d
  * using the command ''pkgtool'' (choose ''Setup'' then ''services'' in the menu).

Note. As all administration tools, ''pkgtools'' should be run as root.

==== Management of software packages ====
=== Presentation of Slackware software packages ===

Slackware is distributed as a set of software packages containing
applications and associated documents, and if necessary scripts executed
during installation, noticeably for creating symbolic links or manage the
configuration files and services management scripts.

A Slackware package consists in a file tree archived with ''tar'' and once
compressed  with ''gzip'', nowadays with ''xz ''.

A shell script called "SlackBuild" compiles binaries to be shipped in the
archive and installs them in the package's tree alongside other files. It
usually ends with the execution of the ''makepkg'' command, which makes the
archive from the package's file tree, including case occuring the
appropriate installation scripts, cf. "man makepkg."

The software packages are in the directories of installation media indicated
above. Each of these directories contains following files:
  * PACKAGES.TXT => Name, size, and description of each package.\\ 
  * FILE_LIST => All files included in the directory.\\ 
  * MANIFEST.bz2 => The characteristics of each file (to be) installed by each package (file compressed with ''bzip2'')

The directories slackware/ or slackware64/ gather package "series" like a/,
ap/, d/, etc. These series are described in README.TXT and Slackware-HOWTO
at the root of the installation media. They are presented during
installation.

During a full installation, all the packages in slackware/ or slackware64/
are proposed.

Important: as Slackware does not automatically manage dependencies between
software, it is recommended to beginners to perform a complete or "full"
installation: all the files needed to run the applications are provided in
Slackware packages, thus installing them all guarantees that all
dependencies will be met.

To each software package corresponds a source directory, located:
  * in the source/ sub-directory of directories extra/, pasture/ et testing/
  * in the source/ directory of the [[http://mirrors.slackware.com/slackware/|files trees]] and in specific ISO images in directories (32-bit edition) of [[http://mirrors.slackware.com/slackware/slackware-iso/|ISOs]] for the packages in slackware/ or slackware64/

For instance, for version 14.1 the contents of the directory source/ap/tmux/
is:
<code>
.
|-- slack-desc         application's description
|-- tmux-1.8.tar.xz    source archive
`-- tmux.SlackBuild    should be (made) executable
</code>

This allows in particular to build a package with other compilation options
and/or for a newer version by editing the SlackBuild, and case occuring  by
copying in the package source directory a different version of the
software's source archive.

In our example to modernize ''tmux'', just download the most source archive
tmux-1.9a.tar.gz from the [[http://tmux.sourceforge.net/|tmux website]], place
it in source/ap/tmux/ and type as root from that directory
'VERSION=1.9a./tmux.SlackBuild' to build a/tmp/tmux-1.9a-i486-1.txz package
that can replace the previous one with the command 'upgradepkg
/tmp/tmux-1.9a-i486-1.txz'

=== The Slackware packages database ===

It consists of text files in the directory /var/log of installed system:

/var/log/packages/<package>: provides summary data about the package and
lists installed files + /var/log/scripts/<package>: lists case occuring the
commands run by installation scripts + /var/log/removed_packages/<package>:
provide informations about deleted package\\ 
/var/log/removed_scripts/<package>: lists the commands run by installation
scripts of removed packages

As they are text files, you can read them with ''less'' or with a text
editor. They are updated and used by package management programs. They allow
for example to know the contents of a package, in which packages(s) is
shipped an installed file or whether a file was modified or deleted since
installation.

The files PACKAGES.TXT and FILE_LIST included in the package directories are
also used for their management.

=== Installing, removing and updating software packages ===

These functions are provided respectively by the commands ''installpkg'',
'removepkg', ''upgradepkg'', cf. their man pages.

Caution: ''ugradepkg'' would be better named ''replacepkg'' as that command
installs the specified package and removes the previously installed one,
regardless of their respective versions.

The command ''pkgtool'', menu driven, allows to install, remove, examine the
content of packages and more generally administer the system: ''pkgtool'' is
the "Swiss army knife" of Slackware. In addition to "man pkgtool", get to
know the tool browsing its menu.

The command ''slackpkg'', build atop other Slackware package tools, provides
in addition an access to a local or remote mirror of official Slackware
packages. This allows e.g. to download and install a set of packages or keep
the system up to date with a single command. Its operation is governed by
the configuration files /etc/slackpkg/slackpkg.conf and
/etc/slackpkg/mirrors, see "man slackpkg" and "man slackpkg.conf".

=== The software package's database on Slackware's website ===

The website http://packages.slackware.com/ allows to make a search using
following criteria:
  * Package
  * Label
  * Description
  * Content

in one or more packages directories, for all versions ofSlackware from 8.1
up to "current" + It also provides access to the files' tree of each of
these versions.

=== Complete Slackware with third party packages ===

Slackware doesn't provide all existing software. As wrote 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.

Most of the applications missing from Slackware are available on the
comunity website http://slackbuilds.org that offers, not third party
packages, but everything needed to build them.

For information on using the materials, see http://slackbuilds.org/howto/.

The ''sbopkg'' software available here: http://www.sbopkg.org/ facilitates
usage of Slackbuilds available in http://slackbuids.org,automating the
download of everything needed, then the construction and installation of
packages. See "man sbopkg" and the configuration file
/etc/sbopkg/sbopkg.conf.

Furthermore the ''sqg'' application, available after installing ''sbopkg'' in
/usr/doc/sbopkg-<version>/contrib/sqg, eases usage of sbopkg in
automatically forming ordered dependencies lists or "queue files". Type 'sqg
-h' for details. You should edit the beginning of the script ''sqg'' before
use.

Finally, some trusted third party offer packages already built. See
especially those offered by Eric Hameleers aka
[[http://www.slackware.com/~alien/Slackbuilds/|Alien BOB]],
[[http://rlworkman.net/pkgs/|Robby Workman]] and Matteo Bernardini aka
[[http://ponce.cc/slackware/|ponce]], Slackware contributors.

The website http://www.slackware.org.uk/ also hosts packages or Slackbuilds
like those proposed by distributions derived from Slackware, as Salix
maintained mainly by George Vlahavas, or desktops not included in Slackware,
such as [[http://www.slackware.org.uk/msb/|Mate]] proposed by Chess Griffin and
Willy Sudiarto Raharjo, or provided by
[[http://slacky.eu/slacky/Pagina_principale|slacky.eu]]

Packages that can be installed on Slackware are also available
elswehere. Important warnings:
  * Know who proposes these packages and preferably trust contributors of Slackware or at least of http://slackbuilds.org
  * Carefully inspect the contents of packages before installation, including a check  of the permissions of files and any changes to existing directories and files. Use ''less'', ''tar'' and/or ''explodepkg'', see "man explodepkg."
  * Never install a package whose sources and SlackBuild are not available.

Finally, the unofficial plugin
[[http://slakfinder.org/slackpkg+.html|slackpkg+]] extends the use of slackpkg
to directories containing "unoffical" Slackware packages.

=== Build you own packages ===

This is the recommended method if no SlackBuild is available, to benefit of
the Slackware package management tools and maintain a "clean" system.

The software ''slacktrack'', included in Slackware, can help you, as "man
makepkg." Inspecting existing Slackbuilds and
[[http://slackbuilds.org/templates/|templates]] proposed at slackbuilds.org can
inspire you. Browse [[http://docs.slackware.com|SlackDocs]] with the key word
"package" or "install" to learn more.

==== Maintainance of the system ====

To be informed of the availability of software packages that meet security
breaches, email majordomo at slackware.com with the phrase "subscribe
slackware-security" in the body of the text.

The page [[http://www.slackware.com/changelog/|Slackware Changelogs]] gathers
Changelogs of stable and current versions.

For a stable version updates are few, because they are only intended to fill
a security breach or to correct a major bug and not just to provide a more
recent version of software included in the distribution. Users are expected
to modernize their software themselves if they wish, see previous chapter
for how to do that: Slackware is not a rolling releases, but publishes a
succession of stable versions.

Updating or reinstalling a package can lead to reinstall a file (usually a
configuration file) already installed. In this case if they don't match the
system will install a new file next to the precedent with a .new extension
and you get to decide what to do on a case by case basis: merge the two
files, keep the former as is or replace it with the new one.

The practice of installing on a system a software package shipped in another
version of Slackware is discouraged and often fails. Better try to rebuild a
package for the installed version, running the SlackBuild in a copy of the
source directory of that package, gathered from the other version. And of
course, it is strongly unadvised to install packages intended for or
included in another distribution, unless it be deemed 100% compatible with
Slackware's identical version.

The dissemination of "Slackware-current" fastens and helps to finalize the
development of the future stable version, allowing those who wish to test
the work in progress and report problems. It should neither be used in
production nor considered as a proper way of updating a stable release.

Didier Spaier, 09 January 2014.


More information about the Slackdocs mailing list