par GEDsismik
Où comment gérer ses txz...
Chaque distribution a ses spécificités. Parmi celles-ci se retrouve le système de paquet. Les paquets Slackware sont des fichiers .txz (.tgz jusque Slackware 12.2), c'est-à-dire compressés comme un .tar.xz. Ils contiennent, le plus souvent, les binaires du logiciel avec ses fichiers de configuration plus un répertoire install pouvant contenir la description du paquet et le script à exécuter après l'installation. L'une des particularités du txz Slackware, c'est qu'il ne prend pas en compte les dépendances avec les autres paquets. Dans cet article, nous allons vous présenter les outils Slackware de gestion de paquet ainsi que Swaret, outils d'installation/mise à jour à la urpm / apt-get.
Pkgtools est un paquet contenant des outils destinés à la gestion des paquets Slackware. Ces outils sont tous des scripts bash jouant un rôle précis.
installpkg installe un paquet. La syntaxe est la suivante :
Pour information, installpkg stocke la liste des paquets installés ainsi que la description des paquets dans /var/log/packages/.
removepkg désinstalle un paquet. La syntaxe est la suivante :
Si vous n'êtes pas sûr de la syntaxe complète, essayez
Pour information, removepkg stocke la liste des paquets désinstallés dans /var/log/removed_packages/.
upgradepkg met à jour un paquet installé. La syntaxe est la suivante :
Pour information, upgradepkg stocke la liste des paquets mis-à-jour avec celle des paquets installés dans /var/log/packages/.
pkgtool est une interface « semi-graphique » en ncurse permettant la gestion des paquets. Il utilise installpkg, removepkg et upgradepkg.
La gestion des paquets est très intéressante (même si la gestion des dépendances n'existe pas avec pkgtools) mais il n'existe pas toujours de paquet Slackware pour toutes les applications. La compilation s'avère donc nécessaire. Le mieux dans ce cas est de faire son propre paquet. Une éventuelle désinstallation sera ainsi plus simple et plus propre.
La "technique" de compilation, la plus simple est le classique "configure"-"make"-"make install". Seulement, voilà, on va faire plus complet. Commencez par créer un répertoire qui devra contenir les fichiers compilés (souvent, je prends le répertoire dans lequel j'ai décompressé le logiciel à compiler + /txz). Dans ce répertoire, créez ./usr/local (pour que le paquet s'installe dans /usr/local, mettez ./usr pour qu'il s'installe dans /usr). Exemple :
Ensuite, il faut faire un configure avec toutes vos options classiques : Exemple :
Ensuite, nous allons compiler et installer le logiciel dans le répertoire choisi. Vous pouvez donc faire make . make install DESTDIR=/download/compil/bchunk-1.1.1/txz permet d'installer le programme dans le repertoire que l'on veut (en utilisateurs, pas besoin d'être root : il n'est pas utilisé de répertoire interdit en écriture).
Ce paragraphe n'est pas obligatoire mais préférable. Il est intéressant de compresser les pages de man ( gzip -9 /download/compil/bchunk-1.1.1/txz/usr/man/man?/* et gzip -9 /download/compil/bchunk-1.1.1/txz/usr/local/man/man?/*) et d'ajouter des pages infos ou des howtos à cette étape de la création. Autre commande à noter : chown -R root.bin /download/compil/bchunk-1.1.1/txz/* pour mettre les fichiers crés du groupe bin (afin de respecter les pratiques habituelles des paquets Slackware).
Passez ensuite dans le répertoire préfixe (moins /usr/local) et passez en root (makepkg n'est utilisable qu'en root). Tapez ensuite makepkg <nomdupaquet.txz>. Exemple :
On vous demandera peut-être (comme ci-dessus) si vous voulez changer les permissions des fichiers ou remplacer les liens symboliques créés par make install par des lignes supplémentaires dans le script. Je réponds oui à toutes ces questions personnellement. Hop ! On valide la réponse.
Vous voilà donc avec votre paquet. Il peut être installé, supprimé ou mis-à-jour avec les outils précédemment vus (installpkg, removepkg, upgradepkg).
"Pffffiou... ca va etre contraignant si j'dois me rappeler comment j'ai compilé à la prochaine version..." C'est vrai que parfois, on a beaucoup de paramètres à passer au ./configure ou des manipulations à faire après. Pour ça, il existe des scripts appelés SlackBuild. Vous pouvez trouver les SlackBuild qui ont servi aux paquets officiels sur le CD Source ou dans le repértoire /source du ftp Slackware. Vous pouvez aussi faire vos propres SlackBuild pour générer vos propres paquets.
Un SlackBuild est un script bash avec pour nom monlogiciel.SlackBuild. Il vous suffit de le mettre dans le même répertoire que le .tar.bz2 (ou parfois le .tar.gz) du logiciel à compiler et de l'exécuter en root. Il se charge de tout : du dézippage à la formation du .txz en passant par le configure et la compilation.
Un SlackBuild ouvert avec un éditeur de texte donne quelque chose comme :
A vous d'adapter ça au logiciel que vous voulez compiler.
Les slack-desc sont des fichiers contenant la description du paquet. Ils sont a placer dans même répertoire que le Slackbuild auquel il contribue. Ils sont de la forme :
# HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| generic: generic generic: generic: Ma description du logiciel generic generic: generic: generic:
Leur format est le format texte standard respectant certaines règles :
Swaret est un logiciel de gestion de paquet sous Linux Slackware. A la manière d'apt-get (debian), urpm (mandrake) ou emerge (gentoo), il permet d'installer ou de mettre à jour à partir d'un miroir.
L'essentiel : Swaret met à jour, installe, réinstalle, télécharge.. les paquets, patches, sources (avec scripts de construction) et bien plus. Swaret inclut un support des dépendances, avec recherche et installation des bibliothèques manquantes. Il utilise plusieurs miroirs Slackware Linux à travers http/ftp/rsync ou encore un répertoire local.
Vous pouvez télécharger Swaret sur http://swaret.sourceforge.net/. A l'heure où j'écris ces lignes, la dernière version est la 1.6.2-noarch-1.
Vous récupérez un paquet Slackware en txz. L'installation se déroule comme pour tout txz en tapant (en root)
dans le répertoire où le fichier a été téléchargé. Pour une mise à jour,
Pour information, le binaire se loge dans /usr/sbin. Cela pour rappeler que Swaret ne s'utilise qu'en root (le root étant le seul utilisateur pouvant installer ou mettre à jour des paquets).
La configuration de Swaret comporte deux fichiers (contenus dans /etc) : /etc/swaret.lang (la configuration de langue) et /etc/swaret.conf (la configuration des miroirs et des différentes options).
C'est parfois irritant d'utiliser un logiciel dans la langue de Shakespeare. Heureusement, Swaret possède maintenant une traduction, comme l'indique l'installation du txz :
Ça veut dire quoi ? Ça veut dire qu'on peut avoir Swaret en français en tapant (en root) :
.
Le début du fichier /etc/swaret.conf contient une liste de miroirs sous la forme (extrait) :
Ce sont les sites sur lesquels Swaret ira chercher les paquets à installer ou mettre à jour. Vous pouvez ajouter vos propres miroirs ou changer l'ordre (Swaret les essaye dans l'ordre). Un simple dièse en début de ligne la désactive. Personnellement, je n'ai rien touché si ce n'est pour ajouter mon serveur en local.
Tout d'abord, je vous conseille de mettre à jour la liste des paquets que Swaret connaît. Pour ce faire, très simple, tapez en root :
Swaret va chercher la liste des paquets sur les miroirs. Remarque : toutes les commandes se font en root.
Vous pouvez obtenir la liste des paquets à installer en faisant
(-n pour paquets non installés). L'installation se fait simplement en tapant
(où mot-clé est un morceau du nom du paquet). Swaret liste alors les paquets dont le nom contient la chaîne de caractères proposée et vous demande pour chaque paquet si vous voulez l'installer.
En cas de dépendances, Swaret vous demandera si vous voulez installer les paquets dont dépend celui que vous avez demandé.
Vous pouvez obtenir la liste des paquets à installer en faisant
(-u pour paquets à "upgrader"). L'installation se fait simplement en tapant
(où mot-clé est un morceau du nom du paquet). Swaret liste alors les paquets dont le nom contient la chaîne de caractère proposée et vous demande pour chaque paquet si vous voulez le mettre à jour. En cas de dépendances, Swaret vous demandera si vous voulez installer les paquets dont dépend celui que vous avez demandé.
Ce qui peut être sympa, c'est que swaret se mette à jour et mette à jour le système tout seul. Pour ca, vous pouvez réaliser le petit script suivant :
et l'ajouter dans la crontab : 30 5 * * * /sbin/swaretupdate (pour le lancer tout les jours à 5h30)
Swaret est un excellent outil de gestion de paquet, tout à fait comparable à apt-get, urpm ou encore emerge. Pour plus d'informations, tapez man swaret ou attendez une mise à jour du présent document.
Vous avez maintenant le panel de possibilités pour gérer à votre gré les paquets de votre système et même distribuer les vôtres. En espérant que cela vous sera utile, have fun ;) ...
Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par GEDsismik le 16/01/2004.
Mis à jour par Jiel en 2011.
@ Retour à la rubrique Logiciels
© 16/01/2004 GEDsismik
Error creating thumbnail: Unable to save thumbnail to destination Error creating thumbnail: Unable to save thumbnail to destination Error creating thumbnail: Unable to save thumbnail to destination Error creating thumbnail: Unable to save thumbnail to destination
|
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |