ar(1) ar(1)
NAME
ar - Bibliotheken verwalten (archive maintainer)
SYNTAX
ar [-V] hauptoption [zusatzoption]... [position] [--] bibliothek
[datei]...
BESCHREIBUNG
ar verwaltet Bibliotheken.
-V ar gibt seine Versionsnummer auf die Standardfehlerausgabe aus.
Im einzelnen können Sie mit ar folgende Verwaltungsaufgaben erledigen:
__________________________________________________________
| Verwaltungsaufgabe | Hauptoption|
|___________________________________________|_____________|
| Bibliothek erstellen | -q oder -r |
|___________________________________________|_____________|
| Datei schnell in die Bibliothek eintragen | -q |
|___________________________________________|_____________|
| Datei ersetzen bzw. eintragen | -r |
|___________________________________________|_____________|
| Datei aus der Bibliothek entfernen | -d |
|___________________________________________|_____________|
| Datei in der Bibliothek verschieben | -m |
|___________________________________________|_____________|
| Dateiinhalt ausgeben | -p |
|___________________________________________|_____________|
| Inhaltsverzeichnis der Bibliothek ausgeben| -t |
|___________________________________________|_____________|
| Datei aus der Bibliothek herauskopieren | -x |
|___________________________________________|_____________|
Aufbau einer Bibliothek
Eine Bibliothek ist eine Datei, in der mehrere Dateien zusammengefaßt
sind. Gemäß Konvention endet der Name einer Bibliothek mit .a. Der
Sinn einer Bibliothek besteht darin, Dateien zusammenzufassen, die
bezüglich ihrer Verwendung eine Gruppe bilden. Die Verwendung von
Bibliotheken erleichtert die Verwaltung der Dateien, da Sie oft nur
die Bibliothek angeben müssen, statt alle Elemente einzeln aufzufüh-
ren.
Sehr häufig sind die Elemente einer Bibliothek Objektmodule, die übli-
cherweise zu einem Programm oder Programmsystem gehören.
Die Magic-Zeichenkette (magic string) und der Dateivorspann (header),
die ar benutzt, bestehen aus druckbaren ASCII-Zeichen. Enthält die
Bibliothek nur druckbare Dateien, so ist die ganze Bibliothek druck-
bar.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ar(1) ar(1)
Wenn ar eine Bibliothek erzeugt, dann erzeugt es den Dateivorspann
(header) in einem Format, das über alle Rechner portabel ist [zum por-
tablen Format und Aufbau einer Bibliothek siehe ar(4)].
Enthält die Bibliothek mindestens eine Objektdatei, erstellt und ver-
waltet ar eine Symboltabelle. Der Binder ld benutzt die Symboltabelle,
um bei mehrfach notwendigem Durchlaufen der Bibliothek dieses Durch-
laufen zu beschleunigen. Die Symboltabelle steht in einer eigenen
Datei, die immer die erste Datei in der Bibliothek ist. Auf diese
Datei können Sie nicht zugreifen, und sie wird auch nicht wie andere
Bibliotheksdateien aufgelistet oder ausgegeben. Wird die Bibliothek
mit ar neu erzeugt oder aktualisiert, dann erstellt ar auch die Sym-
boltabelle neu. ar mit Option -s erstellt ebenfalls die Symboltabelle
neu.
OPTIONEN
Hauptoptionen
Bei einem ar-Aufruf müssen Sie genau eine Hauptoption angeben (-d, -m,
-p, -q, -r, -t oder -x). Der Hauptoption können eine oder mehrere
Zusatzoptionen folgen.
-d (d - delete) ar entfernt die angegebenen Dateien aus der Biblio-
thek. Sind keine Dateien angegeben, wird keine Datei entfernt.
-m (m - move) ar verschiebt die angegebenen Dateien innerhalb der
Bibliothek.
Mit position:
Die Dateien werden hinter (-a) bzw. vor (-b oder -i) der Datei
posdatei eingefügt (siehe position).
Ohne position:
Die Dateien werden am Ende der Bibliothek eingefügt.
-p (p - print) ar gibt den Inhalt der angegebenen Dateien aus. Sind
keine Dateien angegeben, gibt ar den Inhalt aller Dateien aus.
-q (q - quickly) ar trägt die angegebenen Dateien "schnell" in die
Bibliothek ein, d. h.:
- Wenn die Bibliothek bereits existiert, hängt ar die Dateien
ans Ende der Bibliothek an, ohne zu überprüfen, ob die Dateien
bereits in der Bibliothek vorhanden sind.
- Wenn die Bibliothek noch nicht existiert, wird sie erstellt.
Angaben für position sind nicht erlaubt.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
ar(1) ar(1)
Die Option -q ist sinnvoll, wenn Sie große Bibliotheken schritt-
weise erstellen wollen.
-r (r - replace) Diese Option hat drei verschiedene Wirkungen,
abhängig davon, ob die angegebene Bibliothek existiert und die
angegebenen Dateien enthält:
- Wenn die Bibliothek existiert und die Dateien enthält, ersetzt
ar die angegebenen Dateien.
- Wenn die Bibliothek existiert und eine der angegebenen Dateien
nicht enthält, trägt ar diese Datei in die Bibliothek ein.
- Wenn die Bibliothek noch nicht existiert, erstellt ar die
Bibliothek aus den angegebenen Dateien.
Mit Zusatzoption -u:
ar ersetzt eine Datei in der Bibliothek nur dann, wenn die beim
ar-Aufruf angegebene Datei neueren Datums ist als die Version,
die in der Bibliothek steht. (Das Datum bezieht sich auf den
Zeitpunkt der letzten Änderung.)
Mit position:
Dateien, die noch nicht in der Bibliothek enthalten sind, werden
hinter (-a) bzw. vor (-b oder -i) der Datei posdatei eingefügt
(siehe position).
Ohne position:
Dateien, die noch nicht in der Bibliothek enthalten sind, werden
am Ende der Bibliothek eingefügt.
-t (t - table) ar gibt ein Inhaltsverzeichnis der Bibliothek aus.
Sind keine Dateien angegeben, listet ar alle Dateien der Biblio-
thek auf, sonst nur die angegebenen Dateien.
-x (x - extract) ar kopiert die angegebenen Dateien aus der Biblio-
thek heraus. Sind keine Dateien angegeben, kopiert ar alle
Dateien heraus. Die Bibliothek wird dadurch nicht verändert.
Zusatzoptionen
-c (c - create) Die Standard-Meldung von ar beim Erstellen einer
Bibliothek wird unterdrückt.
-C (C - create) Überschreibschutz. -C verhindert, daß bei der Extrak-
tion mittels -x Dateien mit ähnlichen Namen überschrieben werden.
-l (l - local) Temporäre Dateien werden im aktuellen Verzeichnis
abgelegt.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
ar(1) ar(1)
-s (s - symbol table) ar erstellt die Symboltabelle der Bibliothek
neu (auch dann, wenn die Bibliothek nicht verändert wird).
Diese Option ist sinnvoll, um die Symboltabelle nach einem
strip-Aufruf wiederherzustellen [siehe strip(1)].
-T (T - truncate) ar verkürzt Dateinamen, wenn diese für das aktu-
elle Dateisystem zu lang sind. Die Option sollte aus Sicherheits-
gründen nur zusammen mit -C verwendet werden.
-T nicht angegeben:
Dateien mit zu langen Namen können von ar nicht extrahiert wer-
den.
-u (u - update) Siehe Hauptoption -r.
-v (v - verbose) ar meldet, welche Datei es gerade in die Bibliothek
einträgt, in der Bibliothek verschiebt, aus der Bibliothek ent-
fernt usw. Wenn Sie -v zusammen mit -t verwenden, gibt ar ähnlich
wie ls -l (siehe ls) ausführliche Informationen über die Dateien
aus.
position
position legt fest, wo eine Datei in die Bibliothek eingefügt
wird. position kann sein:
-a posdatei
ar fügt die Dateien hinter posdatei ein.
-b posdatei
-i posdatei
ar fügt die Dateien vor posdatei ein.
posdatei ist der Name einer Datei, die in der Bibliothek steht.
-- Ende der Optionenliste. Die Angabe ist nötig, wenn bibliothek mit
- beginnt.
bibliothek
Name der Bibliothek, die erstellt bzw. bearbeitet werden soll.
datei
Name der Datei, die aufgelistet, in die Bibliothek eingetragen,
aus der Bibliothek entfernt, aus der Bibliothek herauskopiert, in
der Bibliothek verschoben bzw. deren Inhalt ausgegeben werden
soll.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
ar(1) ar(1)
Sie können mehrere Dateien angeben. Geben Sie bei einem ar-Aufruf
mit Hauptoption -q oder -r dieselbe Datei mehrmals an, trägt ar
diese Datei auch mehrmals in die Bibliothek ein. Wenn mehrere
Dateien mit gleichem Namen in der Bibliothek enthalten sind, und
Sie ar ohne Positionsangabe verwenden, wird auf die erste Datei
mit diesem Namen zugegriffen (und nicht z. B. auf die neueste
oder älteste usw).
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte.
Die Umgebungsvariable LCTIME bestimmt das Format der Datums- und
Zeitangaben bei der Auflistung des Archivinhalts mit der Option v.
Wenn LCMESSAGES oder LCTIME nicht oder als leere Zeichenkette defi-
niert ist, wird der Wert von LANG als Standardwert für die jeweils
nicht gesetzte oder leere Variable herangezogen. Ist auch LANG nicht
oder als leere Zeichenkette definiert, verhält sich das System so, als
wäre es nicht internationalisiert.
Hat eine der Variablen für die internationale Umgebung einen ungülti-
gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Beispiel 1
Eine Bibliothek schnell erstellen:
$ ar -q -v archiv.a atoi.o itoa.o
ar: creating archiv.a
a - atoi.o
a - itoa.o
ar erstellt die Bibliothek archiv.a aus den Dateien atoi.o und itoa.o.
Die Zusatzoption v bewirkt, daß ar die Namen der eingetragenen Dateien
ausgibt.
Beispiel 2
Eine neue Datei an einer angegebenen Stelle in eine Bibliothek einfü-
gen:
$ ar -r -v -b atoi.o archiv.a atof.o
a - atof.o
ar kopiert atof.o vor atoi.o in die Bibliothek archiv.a.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
ar(1) ar(1)
Beispiel 3
Inhaltsverzeichnis der Bibliothek ausgeben:
$ ar -t -v archiv.a
rw-r--r-- 104/ 1 2276 Jul 13 12:17 1990 atof.o
rw-r--r-- 104/ 1 759 Jul 13 12:17 1990 atoi.o
rw-r--r-- 104/ 1 1280 Jul 13 12:17 1990 itoa.o
Beispiel 4
Eine Datei aus der Bibliothek holen:
$ ar -x -v archiv.a atoi.o
x - atoi.o
Die Datei atoi.o wird aus der Bibliothek archiv.a in das aktuelle Ver-
zeichnis kopiert. Die Kopie heißt auch atoi.o.
SIEHE AUCH
cpio(1), pax(1), tar(1), ld(1), lorder(1), strip(1), a.out(4), ar(4).
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98