Linux

CentOS 5.3

ar(1)


AR

NOM

ar − Créer, modifier et extraire des archives.

SYNOPSIS

ar [−X32_64] [-]p[mod [posrel] [numéro]] archive [membre...]

DESCRIPTION

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 dans une structure qui permet de retrouver les fichiers originaux individuels (appelés membres de l’archive).

Le contenu, le mode (permissions), l’horodate, le propriétaire et le groupe des fichiers originaux sont préservés dans l’archive, et peuvent être reconstitués lors de l’extraction.

GNU ar peut gérer des archives dont les membres ont des noms de n’importe quelle longueur ; néanmoins, en fonction de la configuration de ar sur votre système, une limite sur la longueur des noms des membres peut être imposée pour assurer la compatibilité avec les formats d’archive maintenus par d’autres outils. Si elle existe, la limite est souvent de 15 caractères (typique des formats liés au a.out), ou de 16 caractères (typique des formats liés à coff).

ar est considéré être un utilitaire binaire car les archives de ce type sont le plus souvent comme bibliothèques contenant des sous-routines fréquemment utilisées.

ar crée un index des symboles définis dans les modules objets relogeables de 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 dans le cas de l’opération de mise à jour q). Une archive disposant d’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 mutuellement quels que soient leurs emplacements respectifs dans l’archive.

Vous pouvez utiliser nm −s ou nm −−print-armap pour lister cette table d’index. Si l’archive n’en possède pas, une autre forme de ar appelée ranlib peut être utilisée pour n’ajouter que la table.

GNU ar est conçu pour être compatible avec deux mécanismes différents. Vous pouvez contrôler son activité en utilisant des options de ligne de commandes, comme les différentes variantes de ar sur les systèmes Unix ; si vous spécifiez −M comme unique option sur la ligne de commandes, vous pouvez le contrôler grâce à un script fourni via l’entrée standard, à la manière du programme MRI « librarian ».

OPTIONS

GNU ar vous permet de mélanger le code d’opération p et les drapeaux 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 la ligne de commandes par un tiret.

La lettre p spécifie l’opération à exécuter ; elle peut être n’importe laquelle des lettres suivantes, mais vous ne pouvez en spécifier qu’une seule :

d

Supprimer (delete) des modules de l’archive. Spécifiez le nom des modules à effacer en tant que membre... ; l’archive n’est pas modifiée si vous n’indiquez aucun fichier à effacer.

Si vous spécifiez le modificateur v, ar listera chaque module lors de sa suppression.

m

Utilisez cette opération pour déplacer (move) des membres dans une archive.

L’ordre des membres dans une archive peut influencer la façon dont les programmes sont liés en utilisant la bibliothèque, si un symbole est défini dans plus d’un membre.

Si aucun modificateur n’est utilisé avec « m », tous les membres nommés dans les arguments membre 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 (que vous spécifiez).

p

Afficher (print) les membres spécifiés de l’archive sur la sortie standard. Si le modificateur v est utilisé, afficher le nom du membre avant de copier son contenu sur la sortie standard.

Si vous ne spécifiez aucun argument membre, tous les fichiers de l’archive seront affichés.

q

Concaténation rapide (quick append) ; historiquement, ajouter les fichiers membre... à 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 son ajout.

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 GNU ar implémente donc « q » comme un synonyme de « r ».

r

Insérer les fichiers membre... dans l’archive (avec remplacement). Cette opération diffère de q dans le sens où tous les membres existants au préalable sont supprimés si leur nom correspond à l’un de ceux que l’on ajoute.

Si l’un des fichiers nommés dans membre... n’existe pas, ar affiche un message d’erreur, et laisse inchangé tout membre existant de l’archive qui porte ce nom.

Par défaut, les nouveaux membres sont ajoutés à la fin du fichier, mais vous pouvez utiliser un des modificateurs a, b ou i pour demander le placement relatif à un membre existant.

Le modificateur v utilisé avec cette opération affiche une ligne de sortie pour chaque fichier inséré, ainsi 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 l’archive, ou celui des fichiers présents à la fois dans membre... et dans l’archive. Normalement, seul le nom du membre est montré ; si vous voulez également voir le mode (permissions), l’horodate, le propriétaire, le groupe et la taille, vous pouvez le requérir en spécifiant également le modificateur v.

Si vous ne précisez pas de membre, tous les fichiers de l’archive seront listés.

S’il y a plus d’un fichier de 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 des membres (nommés membre...) de l’archive. Vous pouvez utiliser le modificateur v avec cette opération, pour demander à ar de lister chaque nom durant son extraction.

Si vous ne mentionnez aucun membre, tous les fichiers de l’archive seront extraits.

Quelques modificateurs (mod) peuvent suivre immédiatement la lettre p pour modifier le comportement d’une 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 posrel (position relative) 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 posrel 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, quand vous demandez une mise à jour. Mais un avertissement est émis à moins que vous ne spécifiiez à l’avance que vous voulez la créer, en utilisant ce modificateur.

f

Tronquer les noms dans l’archive. GNU ar autorise normalement des noms de fichiers de longueur quelconque, 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 lors de leur insertion 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 posrel 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. C’est utilisé s’il y a plusieurs entrées dans l’archive portant 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 lors de leur extraction. Si vous ne spécifiez pas ce modificateur, les fichiers extraits de l’archive seront horodatés avec l’heure de l’extraction.

P

Utiliser le nom du chemin complet lors de la reconnaissance des noms de l’archive. GNU ar ne peut pas créer d’archive ayant 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 dit à GNU ar de reconnaître les noms de fichiers en utilisant un nom de chemin complet, ce qui peut être pratique lors de l’extraction d’un seul fichier d’une archive créée par un autre outil.

s

Ãcrire un index des fichiers objets dans l’archive, ou en mettre à jour un existant, même si l’archive n’a subi aucune autre modification. Vous pouvez utiliser ce drapeau modificateur avec n’importe quelle opération, ou bien tout seul. Lancer ar s sur une archive est équivalent à exécuter ranlib dessus.

S

Ne pas générer de table des symboles de l’archive. Cela peut fortement accélérer la construction d’une grande bibliothèque. 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 lors de la dernière exécution de ar, ou lancer ranlib sur l’archive.

u

Normalement, ar r... insère tous les fichiers listés dans l’archive. Si vous ne voulez insérer que les fichiers listés qui sont plus récents que les membres existants de même nom, utilisez ce modificateur. Le modificateur u n’est autorisé que pour l’opération r (remplacer). En particulier, la combinaison qu n’est pas autorisée, puisque la vérification des horodates ferait perdre l’avantage de vitesse procuré par l’opération q.

v

Ce modificateur requiert la version verbeuse (bavarde) d’une opération. Beaucoup d’opérations affichent des informations additionnelles, comme le nom des fichiers traités, quand le modificateur v est ajouté.

V

Ce modificateur affiche le numéro de version de ar.

ar ignore une option originelle orthographiée −X32_64, pour la compatibilité avec AIX . Le comportement généré par cette option est celui utilisé par défaut par GNU ar. ar ne prend en charge aucune des autres options −X ; en particulier, il ne prend pas en charge l’option −X32 qui est utilisée par défaut par le ar AIX .

VOIR AUSSI

nm(1), ranlib(1), et les entrées Info pour binutils.

COPYRIGHT

Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.

L’autorisation est donnée de copier, de distribuer et/ou de modifier ce document sous les termes de la GNU Free Documentation License version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation, sans section invariante ni texte de couverture ni texte de quatrième de couverture. Une copie de la licence est incluse dans la section intitulée « GNU Free Documentation License ».

TRADUCTION

Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.


ar(1)