| | |
rpm - Gestionnaire de Paquetages Red Hat.
rpm [options]
rpm
est un puissant gestionnaire de paquetages, qui peut être utilisé pour
construire, installer, interroger, vérifier, mettre à jour, et désinstaller
des paquetages de logicies individuels. Un paquetage consiste en une archive
de fichiers, et en de l'information sur ce paquetage, incluant le nom, la
version et la description du paquetage.
Un des modes de base suivants doit
être sélectionné : Initialiser Base De Données, Reconstruire Base De Données,
Construire Paquetage, Recompiler Paquetage, Construire Paquetage à partir
Tarball, Interroger, Montrer Etiquettes de Requêtes, Installer, Rafraîchir,
Désinstaller, Vérifier, Vérifier Signature, Resigner, Ajouter Signature,
fixer propriétaires et groupes et Montrer Configuration.
Maintenance de
la Base De Données :
rpm -i [--initdb]
rpm -i [--rebuiddb]
Construction :
rpm [-b|t] [spec_paquetage]+
rpm [--rebuild] [source_rpm]+
rpm [--tarbuild] [source_tarrée]+
Requêtes :
rpm [--query] [options_de_requête]
rpm [--querytags]
Maintenir les paquetages installés :
rpm [--install] [options] [fichier_paquetage]+
rpm [--freshen|-F] [options_installation] [fichier_paquetage]+
rpm [--uninstall|-e] [options_désinstallation] [paquetage]+
rpm [--verify|-V] [options_vérification] [paquetage]+
Signatures:
rpm [--verify|-V] [options_vérification] [paquetage]+
rpm [--resign] [fichier_paquetage]+
rpm [--addsign] [fichier_paquetage]+
Divers :
rpm [--showrc]
rpm [--setperms] [paquetage]+
rpm [--setgids] [paquetage]+
Ces options peuvent être utilisées dans différents modes.
- -vv
- Afficher un tas d'horribles informations de déboggage.
- --quiet
- Afficher le
moins possible ; normalement seuls les messages d'erreur seront affichés.
- --help
- Afficher un message d'utilisation plus long que d'habitude.
- --version
- Afficher
une seule ligne contenant le numéro de version utilisé par rpm.
- --rcfile <liste_fichiers>
- Chacun
des fichiers dans la <liste_fichiers> séparés par des deux-point est lu séquentiellement
par rpm pour obtenir des informations de configuration. La <liste_fichiers>
par défaut est /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc. Seul le premier fichier
dans la liste doit exister, les tildes sont étendues à $HOME.
- --root <répertoire>
- Utiliser
le système "enraciné" dans <répertoire> pour toutes les opérations. Notez
que cela signifie que la base de données sera lue ou modifiée dans <répertoire>
et que chacun des scripts pre et post seront lancés après un chroot() vers
<répertoire>.
- --dbpath <chemin>
- Utiliser la base de données RPM située dans <chemin>.
- --justdb
- Mettre à jour uniquement la base de données, pas le système de fichiers.
- --ftpproxy <hôte>, --httpproxy
<hôte>
- Utiliser <hôte> en tant qu'hôte proxy FTP ou
HTTP. Voir OPTIONS FTP/HTTP.
- --ftpport <port>, --httpport
<port>
- Utiliser <port> comme
port FTP ou HTTP sur l'hôte proxy. Voir OPTIONS FTP/HTTP.
- --pipe <cmd>
- Envoyer
la sortie de rpm à la commande <cmd> par l'intermédiaire d'un tube.
La forme de la commande d'installation
rpm est
rpm -i [options_installation] <fichier_paquetage>+
Ceci installe un nouveau paquetage. La forme générale d'une commande de
mise à niveau rpm est
rpm -U [options_installation] <fichier_paquetage>+
Ceci met à jour ou installe le paquetage installé actuellement à la version
du nouveau RPM. Ceci est la même chose que l'installation, sauf que les
autres versions du paquetage sont supprimées du système.
rpm [-F|--rafraîchir]
[options_installation] <fichier_paquetage>+
Ceci mettra à niveau les paquetages, mais uniquement si une version plus
ancienne existe actuellement.
Le <fichier_paquetage> peut être spécifié par
une URL ftp ou http,
auquel cas le paquetage sera téléchargé avant d'être
installé. Voir OPTIONS FTP/HTTP pour obtenir des informations sur le support
intégré de ftp et http
par RPM.
- --force
- Idem que --replacepkgs, --replacefiles,
et --oldpaquetage.
- -h, --hash
- Afficher 50 marques de hachage quand l'archive du
paquetage est déballée. A utiliser avec -v pour un bel affichage.
- --oldpackage
- Permettre
à une mise à niveau de remplacer un paquetage par un paquetage plus ancien.
- --percent
- Afficher les pourcentages quand les fichiers sont extraits de l'archive
du paquetage, ceci dans le but de rendre RPM facile à lancer à partir d'autres
outils.
- --replacefiles
- Installer les paquetages même s'ils remplacent des fichiers
d'autres paquetages déjà installés.
- --replacepkgs
- Installer les paquetages même
si certains d'entre eux sont déjà installés sur ce système.
- --allfiles
- Installer
ou mettre à niveau tous les fichiers manquants du paquetage, même s'ils
existent déjà.
- --nodeps
- Ne pas effectuer de vérification de dépendances avant
d'installer ou de mettre à niveau un paquetage.
- --noscripts
- Ne pas exécuter
les scripts de pré- et post- installation.
- --notriggers
- Ne pas exécuter les scripts
qui sont déclenchés par l'installation de ce paquetage.
- --ignoresize
- Ne pas
examiner les systèmes de fichiers montés pour vérifier qu'il y ait un espace
disque suffisant avant d'installer ce paquetage.
- --excludepath <chemin>
- Ne pas
installer les fichiers dont les noms commencent par <chemin>.
- --excludedocs
- Ne
pas installer de fichiers qui sont marqués comme documentation (ce qui
inclut les pages de manuel et les documents texinfo).
- --includedocs
- Installer
les fichiers de documentation. C'est le comportement par défaut.
- --test
- Ne pas
installer le paquetage, uniquement le vérifier et rapporter les conflits
potentiels.
- --ignorearch
- Ceci permet l'installation ou la mise à niveau même
si l'architecture du binaire RPM et de l'hôte ne correspondent pas.
- --ignoreos
- Ceci
permet l'installation ou la mise à niveau même si les systèmes d'exploitation
du binaire RPM et de l'hôte ne correspondent pas.
- --prefix <chemin>
- Ceci fixe
le préfixe d'installation à <chemin> pour les paquetages relogeables.
- --relocate
<ancien_chemin>=<nouveau_chemin>
- Pour les paquetages relogeables, traduit les
fichiers qui seraient mis dans <oldchemin> par <newchemin>.
- --badreloc
- A utiliser
en conjonction avec --relocate, ceci force le relogement même si le paquetage
n'est pas relogeable.
- --noorder
- Ne pas réordonner les paquetages pour une installation.
La liste des paquetages devrait normalement être réordonnée pour satisfaire
aux dépendances.
La forme générale d'une commande de requête
rpm est
rpm -q [options_de_requête]
Vous pouvez spécifier le format d'information de paquetage qui sera affiché.
Pour cela, utilisez l'option [--queryformat|-qf], suivie de la chaîne de caractères
de format.
Les formats de requête sont des versions modifiées du formattage
standard printf(3)
. Ce format est constitué de chaînes de caractères statiques
(qui peuvent inclure les séquences d'échappement du C standard pour les
sauts de lignes, les tabulations, et d'autres caractères spéciaux) et les
formatteurs du type de ceux de printf(3)
. Comme rpm connaît déjà les types
à afficher, le spécificateur de type doit néanmoins être omis, et remplacé
par le nom de l'étiquette (tag) d'entête à afficher, enfermé dans des caractères
{}. La partie RPMTAG_ du nom de l'étiquette peut être omise.
Des formats
de sortie alternatifs peuvent être requis en faisant suivre l'étiquette
par :typetag. Actuellement, les types suivants sont supportés : octal,
date, shescape, perms, fflags, et depflags.
Par exemple, pour afficher
uniquement les noms des paquetages requis, vous pouvez utiliser %{NOM}
comme chaîne de caractères de format. Pour afficher de l'information de nom
et de distribution en deux colonnes, vous pouvez utiliser %-30{NOM}%{DISTRIBUTION}.
rpm affichera une liste de toutes les étiquettes qu'il connaît quand il
est invoqué avec l'argument --querytags.
Il y a deux sous-ensembles d'option
pour les requêtes : la sélection de paquetages et la sélection d'information.
Options de sélection de paquetages :
- <nom_paquetage>
- Interroger le paquetage intallé nommé <nom_paquetage>.
- -a, --all
- Interroger
tous les paquetages intallés.
- --whatrequires <capacité>
- Interroger tous les paquetages
qui ont besoin de <capacité> pour leur fonctionnement propre.
- --whatprovides
<virtuel>
- Interroger tous les paquetages qui fournissent la capacité <virtuel>.
- -f <fichier>, --fichier <fichier>
- Interroger le paquetage possédant <fichier>.
- -g <groupe>,
--groupe <groupe>
- Interroger les paquetages dont le groupe est <groupe>.
- -p <fichier_paquetage>
- Interroger
un paquetage <fichier_paquetage> non installé . Le <fichier_paquetage> peut
être spécifié comme une URL de type ftp ou http,
auquel cas l'entête du
paquetage sera téléchargée et interrogée. Voir OPTIONS FTP/HTTP pour obtenir
de l'information sur le support intégré d'un client ftp et http
par RPM.
- --specfile
<fichier_de_specs>
- Analyse syntaxiquement (parse) et interroge <fichier_de_specs>
comme s'il était un paquetage. Bien que toutes les informations (p.ex. les
listes de fichiers) ne soient pas disponibles, ce type d'interrogation permet
à rpm d'être utilisé pour extraire de l'information de fichiers de spécifications
sans avoir à écrire un parseur de fichiers de spécifications.
- --querybynombre
<nombre>
- Interroger la <nombre>ième entrée de la base de données directement;
ceci est utile à des fins de déboggage.
- --triggeredby <pkg>
- Interroger les paquetages
qui sont déclenchés par les paquetages <pkg>.
Options de sélection d'information
:
- -i
- Afficher l'information du paquetage, incluant son nom, sa version, et sa
description. Cette option utilisera --queryformat s'il a été spécifié.
- -R, --requires
- Lister
les paquetages desquels dépend ce paquetage.
- --provides
- Lister les capacités
que fournit ce paquetage.
- --changelog
- Lister les informations de modifications
de ce paquetage.
- -l, --list
- Lister les fichiers du paquetage.
- -s, --state
- Afficher
les états des fichiers du paquetage (implique -l). L'état de chaque fichier
est soit normal, non installé, ou remplacé.
- -d, --docfiles
- Lister uniquement
les fichiers de documentation (implique -l).
- -c, --configfiles
- Lister uniquement
les fichiers de configuration (implique -l).
- --scripts
- Lister les scripts
shell spécifiques au paquetage qui sont utilisés comme une partie des processus
d'installation et de désinstallation, s'il y en a.
- --triggers, --triggerscripts
- Afficher
les scripts de déclenchement, s'il y en a, qui sont contenus dans le paquetage.
- --dump
- Afficher l'information du fichier comme suit : chemin taille mtime somme_md5
mode propriétaire groupe isconfig isdoc rdev symlink. Ceci doit être utilisé
avec au moins une option parmi -l, -c, -d.
- --last
- Ordonner le listing des paquetages
par date d'installation de sorte que les derniers fichiers installés soient
au sommet.
- --filesbypkg
- Lister tous les fichiers de chaque paquetage.
- --triggerscripts
- Montrer
tous les scripts de déclenchement pour les paquetages sélectionnés.
La forme générale d'une commande de vérification rpm est
rpm -V|-y|--verify [verify-options]
Vérifier un paquetage compare les informations sur les fichiers installés
dans le paquetage avec les informations sur les fichiers obtenues à partir
du paquetage original et conservées dans la base de données rpm. Entre
autres choses, la vérification compare la taille, la somme MD5, les permissions,
le propriétaire et les groupes de chaque fichier. Toutes les discordances
sont affichées. Les options de spécification de paquetage sont les mêmes
que pour l'interrogation de paquetages.
Les fichiers qui n'étaient pas installés
en provenance du paquetage, par exemple les fichiers de documentation exclus
à l'installation en utilisant l'option "--excludedocs", sont ignorés silencieusement.
Options pouvant être utilisées en mode de vérification :
- --nomd5
- Ignore
les erreurs de somme de contrôle MD5 pendant la vérification.
- --nopgp
- Ignore
les erreurs de contrôle PGP pendant la vérification.
- --nofiles
- Ignore les fichiers
manquants pendant la vérification.
Le format de sortie est constitué d'une
chaîne de caractères de 8 caractère, d'un "c" éventuel dénottant un fichier
de configuration, et ensuite du nom du fichier. Chacun des 8 caractères
dénote le résultat d'une comparaison d'un attribut du fichier avec la valeur
de cet attribut enregistré dans la base de données rpm. Un simple "." (point)
signifie que le test s'est bien passé. Les caractères suivants dénote l'échec
à certains tests :
- 5
- Somme MD5
- S
- Taille du fichier
- L
- Lien symbolique
- T
- Mtime
- D
- Périphérique
- U
- Utilisateur
- G
- Groupe
- M
- Mode (inclut les permissions et le
type de fichier)
La forme générale d'une commande
de vérification d'une signature rpm est
rpm --checksig <fichier_paquetage>+
Ceci vérifie la signature PGP du paquetage <fichier_paquetage> pour s'assurer
de son intégrité et de son origine. Les informations de configurations
de PGP sont lues à partir des fichiers de configuration. Voir la section
sur les SIGNATURES PGP pour les détails.
La forme
générale d'une commande de désinstallation rpm est
rpm -e <nom_paquetage>+
- --allmatches
- Supprimer toutes les versions du paquetage auquel correspond
<nom_paquetage>. Normalement, une erreur est émise si <paquetage_nom> correspond
à de multiples paquetages.
- --noscripts
- Ne pas exécuter les scripts de pré- et
de post- désinstallation.
- --notriggers
- Ne pas exécuter les scripts qui sont
déclenchés par la suppression de ce paquetage.
- --nodeps
- Ne pas vérifier les
dépendances avant de désinstaller les paquetages.
- --test
- Ne pas réellement
désinstaller quoi que ce soit, juste effectuer un test pour voir si c'est
possible. Utile en conjonction avec l'option -vv.
La
forme générale d'une commande de construction rpm est
rpm -[b|t]O [options_de_construction]
<spec_paquetage>+
L'argument utilisé est -b si un fichier de spécifications est utilisé pour
construire le paquetage et -t si RPM devrait regarder à l'intérieur d'un fichier
gzippé (ou tarré) pour obtenir le fichier de spécifications à utiliser.
Après le premier argument, l'argument suivant (O) spécifie les étapes de
construction et de mise en paquets à effectuer et est un argument parmi
:
- -bp
- Exécute l'étape "%prep" du fichier de spécifications. Normalement,
ceci implique de déballer les sources et d'appliquer tous les patchs.
- -bl
- Faire
une "vérification de liste". La section "%files" du fichier de spécifications
subit l'expansion des macros, et des vérifications sont effectuées pour
vérifier que chaque fichier existe.
- -bc
- Effectuer l'étape "%build" du fichier
de spécifications (après avoir effectué l'étape prep). Cela implique en
général l'équivalent d'un "make".
- -bi
- Effectuer l'étape "%install" du fichier
de spécifications (après avoir effectué les étapes prep et build). Cela
implique en général l'équivalent d'un "make install".
- -bb
- Construire un paquetage
binaire (après avoir effectué les étapes prep, build, et install).
- -bs
- Construire
uniquement le paquetage source (après avoir effectué les étapes prep, build,
et install).
- -ba
- Construire les paquetages paquetages binaires et sources
(après avoir effectué les étapes prep, build, et install).
Les options suivantes
peuvent également être utilisées :
- --short-circuit
- Passer directement à l'étape
spécifiée (çàd, passer toutes les étapes menant à l'étape spécifiée). Uniquement
valide avec -bc et -bi.
- --timecheck
- Fixer l'âge de "timecheck" (0 pour le désactiver).
Cette valeur peut également être configurée en définissant la macro "_timecheck".
La valeur de timecheck exprime, en secondes, l'âge maximum d'un fichier
en train d'être mis en paquetage. Des avertissements seront affichés pour
tous les fichiers au-delà de l'âge de timecheck.
- --clean
- Supprimer l'arbre de
construction après que les paquetages aient été créés.
- --rmsource
- Supprimer
les sources et le fichier de spécifications après la construction (peut
également être utilisé seul, p.ex. "rpm --rmsource foo.spec").
- --test
- N'exécuter
aucune étape de construction. Utile pour tester en profondeur les fichiers
de spécifications.
- --sign
- Incorpore une signature PGP dans le paquetage. Cette
signature peut être utilisée pour vérifier l'intégrité et l'origine du paquetage.
Voir la section sur les SIGNATURES PGP pour les détails de configuration.
- --buildroot <répertoire>
- Pendant la construction du paquetage, surcharger l'étiquette
de Construction de Racine avec le répertoire <répertoire>.
- --target <plate-forme>
- Pendant
la construction du paquetage, interpréter <plate-forme> comme arch-vendor-os
et fixer les macros _target, _target_arch et _target_os en conséquence.
- --buildarch <arch>
- Pendant la construction du paquetage, fixer l'architecture
à <arch>. Cette option a été rendue obsolète par --target dans RPM 3.0.
- --buildos
<se>
- Pendant la construction du paquetage, fixer l'architecture à <os>. Cette
option a été rendue obsolète par --target dans RPM 3.0.
Il y a deux autres façons d'invoquer une construction
avec rpm:
rpm --recompile <fichier_paquetage_sources>+
rpm --rebuild <fichier_paquetage_sources>+
Quand il est invoqué de cette façon, rpm installe le paquetage de sources
désigné, et effectue une préparation, une compilation et une installation.
En plus, --rebuild construit un nouveau paquetage bianire. Quand la construction
est terminée, le répertoire de construction est supprimé (comme avec --clean)
et les sources ainsi que le fichier de spécifications du paquetage sont
supprimés.
rpm --resign <fichier_paquetage_binaires>+
Cette option génère et insère de nouvelles signatures pour les paquetages
spécifiés. Toute signature existante est supprimée.
rpm --addsign <fichier_paquetage_binaires>+
Cette option génère et concatène les nouvelles signatures des paquetages
spécifiés à celles qui existaient déjà.
Pour utiliser la
caractéristique des signatures, RPM doit être configuré pour lancer PGP,
et il doit être capable de trouver un groupe de clés publiques (keyring)
avec des clés publiques RPM à l'intérieur. Par défaut, RPM utilise les comportements
par défaut de PGP pour trouver les keyrings (en utilisant PGPPATH). Si
vos keyrings ne sont pas situées là où PGP s'attend à ce qu'elles soient,
vous aurez besoin de configurer la macro
- _pgp_path
- pour fournir la localisation
des keyrings PGP à utiliser.
Si vous voulez être capable de signer les
paquetages que vous avez créés vous-même, vous devrez également créer votre
propre paire clé publique/clé secrète (voir le manuel PGP). Vous devrez
également configurer les macros suivantes :
- _signature
- Le type de la signature.
Actuellement, seule celle de pgp est supportée.
- _pgp_name
- Le nom de l'"utilisateur"
dont vous voulez utiliser la clé pour signer vos paquetages.
Pendant la
construction de paquetages, vous ajouterez ensuite le signe -- à la ligne
de commandes. On vous demandera votre phrase de passe, et votre paquetage
sera construit et signé.
Par exemple, pour être capable d'utiliser PGP pour
signer les paquetages en tant qu'utilisateur "John Doe <jdoe@foo.com>" à partir
des key rings situées dans /etc/rpm/.pgp en utilisant l'exécutable /usr/bin/pgp,
vous devriez inclure
%_signature pgp
%_pgp_path /etc/rpm/.pgp
%_pgp_name
John Doe <jdoe@foo.com>
%_pgpbin /usr/bin/pgp
dans un fichier de configuration
de macros. Utilisez /etc/rpm/macros pour une configuration par système
et ~/.rpmmacros pour une configuration par utilisateur.
La forme générale d'une commande de reconstruction
d'une base de données rpm est
rpm --rebuiddb
Pour reconstuire une nouvelle base de données, tapez :
rpm --initdb
Les seules options pour ces modes sont --dbchemin et --root.
Lancer
rpm --showrc
montrera les valeurs que va utiliser RPM pour toutes les options qui
peuvent être fixées dans les fichiers rpmrc.
RPM inclut
des simples clients FTP et HTTP pour simplifier l'installation et l'interrogation
de paquetages qui sont disponibles sur internet. Les fichiers de paquetage
pour l'installation, la mise à niveau et les opérations d'interrogation peuvent
être spécifiés dans une URL du style ftp ou http
:
ftp://<utilisateur>:<mot_de_passe>@nom_hôte:<port>/chemin/vers/paquetage.rpm
Si la partie :mot_de_passe est omise, le mot de passe sera demandé (une
seule fois par paire utilisateur/nom_hôte). Si l'utilisateur et le mot de
passe sont omis, le ftp anonyme est utilisé. Dans tous les cas, des transferts
ftp passifs (PASV) sont utilisés.
RPM permet d'utiliser les options suivantes
avec les URLs ftp :
- --ftpproxy <nom_hôte>
- L'hôte <nom_hôte> sera utilisé comme
un serveur délégué (proxy) pour tous les transferts ftp, ce qui permet
aux utilisateurs d'effectuer des connexions au travers des gardes-barrière
qui utilisent des systèmes de proxies. Cette option peut également être
spécifiée en configurant la macro _ftpproxy.
- --ftpport <port>
- Le port TCP numéro
<port> à utiliser pour les connexions ftp sur le serveur proxy ftp au lieu
du port par défaut. Cette option peut également être spécifiée en configurant
la macro _ftpport.
RPM permet d'utiliser les options suivantes avec les
URLs http
:
- --httpproxy
<nom_hôte>
- L'hôte <nom_hôte> sera utilisé comme un serveur
délégué (proxy) pour tous les transferts http.
Cette option peut également
être spécifiée en configurant la macro _httpproxy.
- --httpport
<port>
- Le port
TCP numéro <port> à utiliser pour les connexions http
sur le serveur proxy
ftp au lieu du port par défaut. Cette option peut également être spécifiée
en configurant la macro _httpport.
/usr/lib/rpm/rpmrc
/etc/rpmrc
~/.rpmrc
/usr/lib/rpm/macros
/etc/rpm/macros
~/.rpmmacros
/var/lib/rpm/conflictsindex.rpm
/var/lib/rpm/fileindex.rpm
/var/lib/rpm/groupindex.rpm
/var/lib/rpm/nameindex.rpm
/var/lib/rpm/packages.rpm
/var/lib/rpm/providesindex.rpm
/var/lib/rpm/requiredby.rpm
/var/lib/rpm/triggerindex.rpm
/tmp/rpm*
glint(8)
, rpm2cpio(8)
, http://www.rpm.org/
Auteurs
Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
Frédéric Delanoy, 2000.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |