ar

AR(1)                    Outils de Développement GNU                    AR(1)



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.



binutils-2.13.90.0.2              08/08/2002                             AR(1)