Gestion des paquets
Un article de Mille-Xterm.
Un paquet (aussi appellé paquetage ou package en anglais) est un fichier qui permet d'installer un logiciel. Il s'agit d'une archive (fichier compressé) comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence fonctionnelle du système qui a été modifié.
Le système d'exploitation Mandriva utilise des paquet de type RPM
Gestion des paquets avec une interface graphique
Vous pouvez accèder à la gestion des paquet à l'aide du men u
Gestion des paquets en ligne de commande
Système-->Configuration-->Paquetage-->Installer des logiciels
Installation d'un paquet
- Installation d'un paquet à partir d'une logithèque
| urpmi NOM_DU_PAQUET |
- Installation d'un paquet à partir d'un fichier local
| rpm -ivh NOM_DU_PAQUET |
Installation avec i
Installation d'un paquetage dams une arborescence spécifique
Par exemple pour installer un paquetage sous /opt/ltsp/ on peut utiliser la commande :
urpmi NOM_PACKAGE --root /opt/xtermroot/
Suppression d'un paquetage
Commandes qui permettent de supprimer des paquetages
- urpmi NOM_DU_PACQUETAGE
- rpm -e NOM_DU_PACQUETAGE
Mise à jour d'un paquetage
rpm -Uvh NOM_DU_PACQUETAGE
Revenir à une ancienne version d'un paquetage
rpm -Uvh --oldpackage NOM_DU_PACQUETAGE
Installer et mettre à jour tous les paquetages automatiquement
Pour mettre à jour vos rpms sans savoir quels rpms installer, vous pouvez utiliser les commandes suivantes :
urpmi --auto-select --no-verify-rpm
Afficher la version d'un paquetage
rpm -q nom_du_paquetage Note: Le nom du paquetage doit être la chaîne complète avant les informations de version. Par exemple : apache2, apache2-mod_ssl
Afficher la liste des paquetages contenant un mot spécifique
rpm -qa|grep NOM_PARTIEL_RECHERCHÉ
Afficher la liste des fichiers contenus dans un paquetage spécifique
urpmf NOM_PACKAGE
Trouver un paquetage utilisant un fichier spécifié
- rpm -qf CHEMIN_DU_FICHIER
- urpmf : Affiche une liste de paquetages procurant le fichier spécifié en argument. La recherche s'effectue sur tous les paquetages installés ou non.
Gestion des sources de téléchargement des paquetages
Ajout d'une source de téléchargement
Vous pouvez ajouter une source de téléchargement avec la commande suivante :
urpmi.addmedia "NOM_DU_MEDIA" ADRESSE_DES_SOURCES with FICHIER_LISTE
Vous pouvez utiliser le Module de recherche des miroirs du club Mandriva pour trouver les sources de téléchargement offertes.
Exemple d'utilisation
- Ajouter la source des RPM de Mandriva sur les serveurs de gulus Gulus : updates_gulus.usherb.ca_i586_2005LimitedEdition http://gulus.usherb.ca/pub/distro/Mandrakelinux/official/updates/10.2/RPMS/ with ./media_info/hdlist.cz
Supprimer les sources de téléchargement
Suppression d'une source de téléchargement spécifique avec la commande suivante :
urpmi.removemedia
Suppression de toute la liste des sources
Vous pouvez supprimer toute la liste des sources de téléchargement avec la commande suivante :
urpmi.removemedia -a
Mise à jour de la base de données des sources de téléchargement
Vous pouvez mettre à jour la base de données des sources avec la commande suivante :
urpmi.update update_source
Recompiler et installer GDM avec les sources pour Mandriva 10.2
- Installer les rpms de développement avec les commandes suivantes :
urpmi libglade2.0-devel
urpmi libgnomeui2-devel
urpmi librsvg-devel
urpmi pam-devel - Reconstruire le rpm avec la commande :
rpmbuild --rebuild SOURCE_MILLE_DE_XTERM/Packages/SRPMS/gdm-2.4.4.7-10mdk.src.rpm - Si zenity n'est pas installé, installez le avec :
urpmi zenity - Les nouveaux rpm se trouvent dans le répertoire :
cd /usr/src/RPM/RPMS/i586/
Recompiler avec Patch
- Installer les paquetages sources (voir rpmpfind les fichier .src.rpm)
- Voir l'historique des rpm nom_du_rpm--changelog
- Installer les src de trunk de Mille-Xterm
- Voir l'historique des rpm nom_du_rpm--changelog
Comaparer les fichiers spec
Ajouter les tgz nécessaires exemple : prendre celui de jacque Gélinas Mettre à jour le fichier spec
Faire un RPM build _bb -glib.spec
Système de syncronisation des paquetages entre les postes
Création de la liste des rpm
À partir du poste qui contient tout les rpm nécessaires :
- Créer une liste des rpms qui sont installés avec la commande :
rpm -qa --qf "%{NAME}\n" > rpmlist.txt - S'assurer que tous les rpms sont présents
for i in `cat $RPMLIST` do urpmi --no-verify-rpm $i done
Syncronisation d'un poste
- Copier la liste qui a été précédemment créée sur le serveur à syncroniser et mettre les droits d'exécution au besoin avec les commandes :
- chmod +x rpmscript-addlist.sh
- chmod +x rpmscript-remdiff.sh
- Afficher à l'écran les RPMS qui sont installés sur le poste mais qui ne sont pas dans la liste avec le script rpmscript-remdiff.sh rpmlist.txt
- Supprimer les RPMS qui n'ont pas de dépendances et qui ne sont pas nécesaires avec la commande urpme nom_du_rpm
Attention, il faut éviter de supprimer les RPMS qui ont des dépendances car on pourrait désinstaller des RPMS nécessaires à d'autres
- Installer les RPMS manquants avec le script rpmscript-addlist.sh rpmlist.txt
Attention, il faut enlever le RPM GDM car celui qui est utilisé par X-Term a été modifié pour faire fonctionner le bouton arrêter.
Script - rpmscript-addlist.sh
Ce script tente d'installer tous les RPMS qui sont dans la liste qui est envoyée en paramètre
#!/bin/bash
RPMLIST=$1
echo "RPMLIST="$RPMLIST
if [ $RPMLIST ]
then
for i in `cat $RPMLIST`
do
echo "Process file : " $i
urpmi --no-verify-rpm $i
done
else
echo "Fichier invalide"
fi
exit 1
Script - rpmscript-remdiff.sh
Ce script affiche à l'écran tous les RPMS qui ne sont pas dans la liste de RPMS qui est envoyée en paramètre
#!/bin/bash
RPMLIST=$1
if [ $RPMLIST ]
then
RPMLISTC=`cat $RPMLIST`
for l in `rpm -qa --qf "%{NAME}\n"`
do
FOUND="F"
for i in $RPMLISTC
do
if [ $l == $i ]
then
FOUND="T"
fi
done
if [ $FOUND == "F" ]
then
echo $l
fi
done
else
echo "Fichier invalide"
fi
exit 1
Création de RPM
Voici un tutoriel qui permet de créer un RPM : Comment distribuer ses logiciels avec un RPM

