| | |
ar - Créer, modifier et extraire des archives.
ar [-]{dmpqrtx}[abcfilNoPsSuvV]
[nom_membre] [numéro] archive fichiers...
Le programme GNU ar
crée, modifie et extrait des fichiers à partir d'archives. Une archive est
un fichier unique contenant une collection d'autres fichiers où il est possible
de retrouver les fichiers originaux individuels (appelés membres de l'archive).
Le contenu des fichiers originaux, le mode (permissions), l'horodatage,
le propriétaire et le groupe sont préservés dans l'archive, et peuvent être
reconstitués durant l'extraction.
GNU ar peut gérer des archives dont
les membres ont des noms de n'importe quelle longueur; néanmoins, si ar
est configuré de cette façon sur votre système, une limite sur la longueur
des noms de membres peut être imposée (pour assurer la compatibilité avec
des formats d'archive maintenus par d'autres outils). Si elle existe, la
limite est souvent de 15 caractères (typique des formats relatifs au a.out),
ou de 16 caractères (typique des formats relatifs à coff).
ar est considéré
comme un utilitaire binaire car les archives de ce type sont le plus souvent
utilisées en tant que bibliothèques contenant des sous-routines communément
utilisées.
ar crée un index des symboles définis dans les modules objets
relogeables dans l'archive quand vous spécifiez le modificateur `s'. Une fois
créé, cet index est mis à jour dans l'archive chaque fois que ar modifie
son contenu (sauf pour l'opération `q' de mise à jour). Une archive avec un
tel index accélère l'édition des liens avec la bibliothèque, et permet aux
routines de cette dernière de s'appeler l'une l'autre sans s'occuper de leurs
emplacements respectifs dans l'archive.
Vous pouvez utiliser `nm -s' ou `nm
--print-armap' pour lister cet table d'index. Si l'archive ne contient pas cette
table, une autre forme de ar appelée ranlib peut être utilisée pour y ajouter
la table d'index uniquement.
ar insiste pour avoir au moins deux arguments
: une lettre-clé spécifiant l'opération (facultativement accompagnée d'autres
lettres-clés spécifiant les modificateurs), et le nom de l'archive à traiter.
La plupart des opérations peuvent également accepter des arguments fichiers
, qui spécifient sur quels fichiers opérer.
GNU ar vous permet de
mélanger le code d'opération p et les drapeaux de modificateurs mod dans
n'importe quel ordre, à l'intérieur du premier argument de la ligne de commandes.
Si vous le souhaitez, vous pouvez faire débuter le premier argument de
ligne de commandes par un tiret.
La lettre-clé p spécifie quelle opération
exécuter; elle peut être n'importe laquelle des lettres suivantes, mais
vous ne pouvez en spécifier qu'une seule :
- d
- Effacer des modules d'une archive.
Spécifiez les noms des modules à effacer dans fichier; l'archive n'est pas
modifiée si vous n'indiquez aucun fichier à effacer.
Si vous ajoutez le
modificateur `v' , ar listera chaque module pendant son effacement.
- m
- Utilisez
cette opération pour déplacer des membres dans une archive.
L'ordre des
membres d'une archive peut influencer la façon dont les programmes sont
liés en utilisant la librairie, p.ex. si un symbole est défini dans plusieurs
membres.
Si aucun modificateur n'est utilisé avec m, tous les membres nommés
dans les arguments fichiers sont déplacés à la fin de l'archive. Vous pouvez
utiliser les modificateurs `a', `b', ou `i' pour les déplacer à un autre endroit.
- p
- Afficher les membres spécifiés de l'archive sur la sortie standard. Si
le modificateur `v' est ajouté, ar affiche le nom du membre avant de copier
son contenu sur la sortie standard.
Si vous n'indiquez pas de fichiers,
tous les fichiers de l'archive sont affichés.
- q
- Concaténation rapide; ajoute
les fichiers à la fin de l' archive, sans se soucier des remplacements.
Les modificateurs `a', `b', et `i' n'affectent pas cette opération; les nouveaux
membres sont toujours placés à la fin de l'archive.
Le modificateur `v' fait
lister par ar chaque fichier pendant sa concaténation.
Puisque le but de
cette opération est la vitesse, l'index de la table des symboles de l'archive
n'est pas mis à jour, même s'il existait déjà; vous pouvez utiliser explicitement
`ar s' ou ranlib pour mettre à jour l'index de la table des symboles.
Néanmoins,
de trop nombreux systèmes différents supposent que la concaténation rapide
reconstruit l'index, et donc GNU ar implémente `q' comme un synonyme pour
`r'.
- r
- Insérer les fichiers dans l'archive (avec remplacement). Cette opération
diffère de `q' dans le sens que tous les membres existants au préalable sont
effacés si leurs noms correspondent à ceux que l'on ajoute.
Si l'un des fichiers
nommés dans fichiers n'existe pas, ar affiche un message d'erreur, et laisse
inchangé tout membre existant portant ce nom.
Par défaut, les nouveaux
membres sont ajoutés à la fin du fichier, mais vous pouvez utiliser l'un
des modificateurs `a', `b', ou `i' pour demander un placement relatif à certains
membres existants.
Le modificateur `v' utilisé avec cette opération affiche
une ligne de sortie pour chaque fichier inséré, en même temps que l'une
des lettres `a' ou `r' pour indiquer si le fichier a été concaténé (aucun ancien
membre effacé) ou remplacé.
- t
- Afficher une table listant le contenu de
archive, ou celui des fichiers présents à la fois dans fichiers et dans
l'archive. Normalement, seul le nom du membre est montré mais, si vous voulez
également voir les modes (permissions), l'horodatage, le propriétaire, le
groupe et la taille, vous pouvez le demander en spécifiant le modificateur
`v'.
Si vous ne précisez pas de fichiers, tous les fichiers de l'archive seront
listés.
S'il y a plus d'un fichier avec le même nom (disons, `fie') dans une
archive (disons `b.a'), `ar t b.a fie' listera uniquement la première instance;
pour les voir toutes, vous devez demander un listing complet -- dans notre
exemple, `ar t b.a'.
- x
- Extraire les membres (nommés fichiers) de l'archive.
Vous pouvez utiliser le modificateur `v' avec cette opération, pour demander
qu' ar liste chaque nom pendant son extraction.
Si vous ne mentionnez pas
de fichiers, tous les fichiers de l'archive seront extraits.
Un certain
de modificateurs (mod) peuvent immédiatement suivre la lettre-clé p, pour
modifier comportement de l'opération :
- a
- Ajouter les nouveaux fichiers
après un membre existant dans l'archive. Si vous utilisez le modificateur
a, le nom d'un membre existant dans l'archive doit être présent comme argument
nom_membre , avant la spécification de l' archive.
- b
- Ajouter les nouveaux
fichiers avant un membre existant dans l'archive. Si vous utilisez le modificateur
b, le nom d'un membre existant dans l'archive doit être présent comme argument
nom_membre , avant la spécification de l' archive . (comme pour `i').
- c
- Créer
l'archive. L'archive spécifiée est toujours créée si elle n'existait pas,
qaund vous demandez une mise à jour. Mais un avertissement est émis à moins
que vous ne spécifiez à l'avance que vous voulez la créer, en utilisant
ce modificateur.
- f
- Tronquer les noms dans l'archive. ar permet normalement
des noms de fichiers de n'importe quelle longueur, ce qui crée des archives
qui ne sont pas compatibles avec le programme ar natif sur certains systèmes.
Si cela pose un problème, le modificateur f peut être utilisé pour tronquer
les noms de fichiers avant de les placer dans l'archive.
- i
- Insérer les nouveaux
fichiers avant tout membre existant dans l'archive. Si vous utilisez le
modificateur i, le nom d'un membre existant de l'archive doit être présent
comme argument nom_membre , avant la spécification de l' archive . (comme
pour `b').
- l
- Ce modificateur est accepté mais n'est pas utilisé.
- N
- Utiliser
le paramètre numéro. Il est utilisé s'il y a de multiples entrées dans l'archive
avec le même nom. Extrait ou supprime la numéro ième instance du nom donné
dans l'archive.
- o
- Préserver les dates originales des membres pendant leur
extraction. Si vous ne spécifiez pas ce modificateur, les fichiers extraits
de l'archive seront horodatés avec le moment de l'extraction.
- P
- Utiliser
le nom du chemin complet pendant la mise en correspondance des noms de
l'archive. ar ne peut pas créer d'archive avec un nom de chemin complet (de
telles archives ne suivent pas la norme POSIX), mais d'autres créateurs
d'archives le peuvent. Cette option dira à ar de faire correspondre les
noms de fichiers en utilisant un chemin complet, ce qui peut être pratique
pendant l'extraction d'un seul fichier d'une archive créée par un autre outil.
- s
- Ecrire un index des fichiers objets dans l'archive, ou en mettre à jour
un existant, même si l'archive ne subit aucune autre modification. Vous
pouvez utiliser ce drapeau de modification avec n'importe quelle opération,
ou bien tout seul. Lancer `ar s' sur une archive est équivalent à exécuter
`ranlib' sur elle.
- S
- Ne pas générer de table des symboles de l'archive. Cela
peut accélérer grandement la construction d'une grande librairie. L'archive
résultante ne peut pas être utilisée par l'éditeur de liens. Pour construire
une table des symboles, vous devez omettre le modificateur `S' à la dernière
exécution de `ar', ou vous devez lancer `ranlib' sur l'archive.
- u
- Normalement,
ar r... insère tous les fichiers listés dans l'archive. Si vous voulez insérer
uniquement les fichiers que vous avez listés qui sont plus récents que
les membres existant de même nom, utilisez ce modificateur. Le modificateur
`u' est permis uniquement pour l'opération `r' (remplacer). En particulier,
la combinaison `qu' n'est pas permise, puisque la vérification des horodates
ferait perdre l'avantage de vitesse de l'opération `q'.
- v
- Ce modificateur requiert
la version verbeuse d'une opération. Beaucoup d'opérations affichent des
informations additionnelles, comme les noms des fichiers traités, quand
le modificateur `v' est ajouté.
- V
- Ce modificateur affiche le numéro de version
de ar.
l'entrée `binutils' dans info; The GNU Binary Utilities,
Roland H. Pesch (Octobre 1991). nm(1)
, ranlib(1)
.
Copyright (c) 1991,
1992, 1993, 1995, 1998, 1999 Free Software Foundation, Inc.
L'autorisation
est donnée de créer et de distribuer des copies textuelles de ce manuel,
à condition que la notice de copyright et la notice de permission soient
préservées dans toutes les copies.
L'autorisation est donnée de copier et
distribuer des versions modifiées de ce manuel sous les conditions de copie
textuelle, à condition que l'entièreté du travail dérivé résultant soit
distribuée sous les termes d'une autorisation identique à celle-ci.
L'autorisation
est donnée de copier et distribuer des traductions de ce manuel dans n'importe
quel autre langue, sous les conditions ci-dessus pour les versions modifiées,
sauf que cette notice de permission peut être incluse dans des traductions
approuvées par la Free Software Foundation au lieu de l'anglais originel.
Frédéric Delanoy, 2000.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |