> Linux Reviews > man >

ar

Créer, modifier et extraire des archives.


  1. ar.1.man


1. ar.1.man

Manpage of AR

AR

Section: Manuel de l'utilisateur Linux (1)
Updated: 11 Août 2000
Index Return to Main Contents

 

NOM

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

 

SYNOPSIS

ar [-]{dmpqrtx}[abcfilNoPsSuvV] [nom_membre] [numéro] archive fichiers...

 

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 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.

 

OPTIONS

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.

 

VOIR AUSSI

l'entrée `binutils' dans info; The GNU Binary Utilities, Roland H. Pesch (Octobre 1991). nm(1), ranlib(1).

 

COPYING

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.

 

TRADUCTION

Frédéric Delanoy, 2000.


 

Index

NOM
SYNOPSIS
DESCRIPTION
OPTIONS
VOIR AUSSI
COPYING
TRADUCTION

This document was created by man2html using the manual pages.
Time: 17:36:29 GMT, October 23, 2013

SVENSKA - cs - SVENSKA - SVENSKA - SVENSKA - ja - pl