SLACKWARE: INSTALLATION ET GESTION DE PROGRAMMES
Installation de Slackware 13.0
J'ai installé dans leur ensemble les sets A AP D L N X, ce
qui prend environ 2.1Go d'espace disque (plus d'informations sur les sets
dans le
Slackware-HOWTO). L'installation s'est déroulée sans entraves. Ne
connaissant pas encore assez bien slackware, j'ai installé tous ces sets
en entier, cependant, il est possible de partir d'un système plus
minimal et d'installer les packages à sa convenance. Vous pouvez
le faire depuis le(s) cd(s)/dvd d'installation, mais cette méthode de
sélection paquet par paquet peut être fastidieuse.
Une autre technique consiste à installer les sets A
AP D L N dans leur totalité puis d'utiliser le script
Make Me Slim écrit par Martti
Kuparinen et que vous pouvez trouver ici. Son
utilisation est très simple, après l'avoir récupéré :
$ chmod +x mms $ ./mms -h $ ./mms -y
À l'origine ce script sert donc a avoir le système le plus épuré possible afin d'utiliser pkgsrc. Attention, ce script va désinstaller une grande partie des packages sous slackware, il restera juste assez pour booter, mais rien de plus...
Slackware et pkgsrc
Note : j'ai utilisé pkgsrc sur une slackware épurée,
mais sachez que vous pouvez très bien l'utiliser sur n'importe quel
système GNU/Linux ; c'est l'intérêt de pkgsrc...
Je ne vais pas détailler ce qu'est pkgsrc ici, mais sachez simplement que cela sert simplement à avoir les programmes de l'userland NetBSD sous GNU/Linux (entre autres). Le tout par la compilation.
L'idée ici est d'avoir un système minimal basé sur slackware et
d'utiliser exclusivement pkgsrc pour compiler les programmes
tiers dont vous pourriez avoir besoin (depuis ncurses jusqu'à
Xorg et des X applications). Oui, cette optique d'avoir un noyau Linux,
une base minimale GNU et d'utiliser l'userland NetBSD va faire frémir
d'horreur les BSDistes. Généralement, on fait l'inverse : on a un noyau
BSD, son userland (plus pratique) et on rajoute les outils GNU...
Mais on peut très bien utilisé pkgsrc simplement pour avoir des
applications non disponibles dans les dépôts officiels slackware. C'est à vous
de voir. (Note: pkgsrc rêgle lui-même les dépendances).
Avant tout nous allons récupérer pkgsrc à cette adresse et
le placer dans /usr/.
Pour avoir un système minimal slackware, je vous renvoie à la partie
précédente et l'utilisation du script Make Me Slim.
Attention: veuillez récupérer le tar.gz de pkgsrc
avant de lancer mms. En effet mms
supprime le package wget, vous ne pourrez donc plus le
télécharger simplement. Ou alors éditez le script pour rajouter
wget à la liste des packages à ne pas enlever.
Nous allons donc détarer pkgsrc puis lancer le bootstrap :
# cd /usr # tar xzf pkgsrc-200XQX.tar.gz # cd /usr/pkgsrc/bootstrap/ # ./bootstrap
Tout cela va prendre un peu de temps et de place (un peu moins de 700Mo).
Une fois fini, il va vous falloir éditer un peu votre
shell en modifiant votre PATH :
PATH=$PATH:/usr/pkg/sbin:/usr/pkg/bin. Il faut aussi penser
aux man en rajoutant MANPATH=$MANPATH:/usr/pkg/man (tout cela
dans votre ~/.profile ou votre ~/.bashrc ou
autre...). Occupons nous aussi du PATH des librairies :
# echo /usr/pkg/lib >> /etc/ld.so.conf # cat /etc/ld.so.conf /usr/local/lib /usr/X11R6/lib /usr/i486-slackware-linux/lib /usr/pkg/lib
Nous allons maintenant customiser un peu
mk.conf. Avant tout on le copie là où il faut :
# cp /usr/pkgsrc/bootstrap/work/mk.conf /usr/pkg/etc/mk.conf
Par défaut, la configuration n'est pas à modifier sauf selon votre convéniance.
Cependant, vous pouvez d'ores et déjà rajouté ces deux lignes dans ce fichier
avant .endif:
ACCEPTABLE_LICENSES+=vim-license ALLOW_VULNERABLE_PACKAGES=vim
Enfin on va installer l'audit et digest (bmake est le
make de NetBSD pour information) (c'est une bonne idée de mettre
download-vulnerability-list dans un crontab histoire de garder
cette liste à jour) :
# /usr/pkg/sbin/download-vulnerability-list # cd /usr/pkgsrc/pkgtools/digest # bmake
Voilà nous avons donc maintenant un pkgsrc totalement
fonctionnel. Vous pouvez déjà compiler openssh (si vous n'avez
pas d'installation minimale, pensez à removepkg openssh
avant) :
# cd /usr/pkgsrc/security/openssh # bmake install # bmake clean clean-depends
Il exist un programme assez intéressant qui va vous permettre de maintenir à
jour les programmes installés par pkgsrc et qui se nomme
lintpkgsrc :
# cd /usr/pkgsrc/pkgtools/lintpkgsrc # bmake
edit : si vous comptez utiliser pkgsrc
avec un installation "normale" de slackware, vous devriez penser à
désactiver la binaire ftp. En effet, pkgsrc
utilise sa propre version de ftp et cela pourrait provoquer
un disfonctionnement dans la récupération des sources par
pkgsrc. Pour cela un simple # chmod 0 /bin/ftp
suffit.
Slackware et slackpkg, sbopkg, slackyd
Nous allons maintenant passé en revenu quelques façons de gérer les packages sous slackware. Notons (comme vous le savez peut-être) que slackware ne gère pas les dépendances, vous devez le faire vous-même à la main.
- slackpkg :
slackpkgest une méthode pratique pour gérer les packages officiels. Sa configuration se fait au travers du fichier/etc/slackpkg/slackpkg.confet de/etc/slackpkg/mirrorsnotamment. Il est normalement livré dans les dépôts officiels de slackware ; si vous avez fait une installation normale, vous devriez l'avoir sur votre machine.- sbopkg :
sbopkgest un outil en ligne de commande qui permet d'avoir accès au dépôt de SlackBuilds.org qui contient une liste non négligeable de packages.sbopkgs'occupera donc pour vous de récupérer les sources, de compiler et d'installer les packages résultant sur votre système.Certains de ces programmes nécessitent d'avoir des librairies installées pour la compilation. Vous pouvez obtenir toutes les informations nécessaires via la commande
# sbopkg -s [packages]pour les dépendances directes du paquet (par exemple, le README de feh nous indique que giblib et imlib2 sont requis et disponibles sur slackbuild.org). Il faudra donc les compiler avant bien sûr. En pratique et si les dépendances se trouvent sur SlackBuild, avecsbopkg, cela se traduit simplement de cette façon :$ sudo sbopkg -i "giblib imlib2 feh"
- slackyd :
slackydest un outil qui nous vient de la communauté slackware italienne Slacky.eu qui a son propre dépôt de packages ; à nouveau un outil en ligne de commande, qui vous permettra d'installer les packages directement ou de les compiler.slackydlors de l'installation d'un package vous indique quelles sont les dépendances directes requises et vous propose de les installer automatiquement (soit depuis le dépôt officiel, soit depuis le dépôt slacky.eu, selon le package). Notez que c'est à titre indicatif, pour respecter la philosophie slackware, le script ne vous impose pas du tout d'installer ces dépendances, et fort heureusement.Vous pouvez récupérer le package de
slackyddirectement sur le dépôt officiel et l'installer (attention prenez la version qui correspond à votre version de slackware). Pensez à regarder la configuration se trouvant dans/etc/slackyd/slackyd.conf. Je vous conseille d'utiliser un des miroirs pour récupérer les packages, étant donné que le dépôt officiel est plutôt lent... (cf. le fichier de configuration).
Les packages installés via sbopkg et slackyd
sont enregistrés sur votre système. Pour les désinstaller, il
suffit simplement d'utiliser les outils slackware appropriés, dans notre
cas removepkg.
Il existe d'autres façons de gérer les packages sous slackware, et notamment
swiret et slapt-get. Je n'ai testé ni l'un ni
l'autre. swiret ne paraît plus vraiment utilisé selon ce qu'on m'a
dit. Quant à slapt-get sa gestion des dépendances est trop
debian-like et ne respecte pas assez la philosophie de slackware pour que je
m'y sois penché...
Conclusion et références
On peut tout à fait utiliser en même temps ces quatres
méthodes pour installer les paquets / compiler les sources des programmes
dont nous avons besoin. sbopkg et
slackyd ont plusieurs packages en commun mais chacun a des
outils en plus dans lesquels chacun pourra trouver son bonheur.
L'intérêt de pkgsrc est, bien sûr, de bénéficier de
l'userland de NetBSD et de ces audits. Personnellement, j'aurai
tendance à n'utiliser que pkgsrc avec une base
minimale mais il faut pour cela une partition assez conséquente et du
temps (car oui on compile tout de A à Z et ça prend de la place ; un peu
comme une gentoo quoi). Mais avec cette dernière méthode on s'éloigne de
la philosophie slackware, mais on bénéficie malgré tout de son
installation de base très robuste et standard.
Dans les faits, n'ayant pas une place folle pour mon root, j'ai laissé de côté
pkgsrc pour le moment pour me concentrer sur sbopkg
et slackyd.
http://www.slacky.eu/wikislack/index.php?title=Pkgsrc_su_slackware
http://kuparinen.org/martti/comp/slackware/slackware.html
http://pbraun.nethence.com/doc/sysutils_linux/slackware.html
http://pbraun.nethence.com/doc/sysutils_linux/slackware-pkgsrc.html