pkgmap(4) pkgmap(4)
NAME
pkgmap - Beschreibungsdatei für Paketinhalte
BESCHREIBUNG
pkgmap ist eine ASCII-Datei, die eine vollständige Auflistung des
Paketinhalts enthält. Sie wird von pkgmk(1M) automatisch unter Zuhil-
fenahme der in der prototype-Datei enthaltenen Information erzeugt und
sollte nicht verändert werden.
Jeder Eintrag in pkgmap beschreibt eine einzelne "auslieferbare
Objektdatei". Eine auslieferbare Objektdatei enthält Shell-Skripts,
ausführbare Objekte, Dateien mit Daten, Verzeichnisse usw. Jeder Ein-
trag besteht aus mehreren Informationsfeldern, die durch ein Leerzei-
chen voneinander getrennt sind.
Die einzelnen Felder werden im folgenden beschrieben und müssen in
dieser Reihenfolge erscheinen.
part Dieses Feld ist optional und bezeichnet die Nummer des
Teils, in dem das Objekt liegt. Mit part wird eine Menge von
Objekten bezeichnet. Er stellt die atomare Einheit dar, mit
der ein Paket bearbeitet wird. Die Kriterien zur Gruppierung
von Dateien in einen Teil können vom Entwickler ausgewählt
werden (beispielsweise auf der Basis von Klassen). Falls
diesem Feld kein Wert zugewiesen ist, wird part=1 angenom-
men.
ftype Ein Feld, das den Dateityp des Objekts angibt und dessen
Inhalt aus einem Zeichen besteht. Gültige Werte sind:
f eine normale Datei mit Daten oder eine ausführbare Datei
e eine Datei, die bei der Installation oder beim Löschen
editiert wird
v eine temporäre oder flüchtige Datei (Datei mit wechseln-
dem Inhalt)
d ein Verzeichnis
x ein exklusives Verzeichnis
l ein Dateiverweis
p eine benannte Pipe (named pipe)
c ein zeichenorientiertes Gerät
b ein blockorientiertes Gerät
i ein Installationsskript oder eine Informationsdatei
s ein symbolischer Verweis
class Die Installationsklasse, der die Datei zugeordnet ist. Die
Bezeichnung darf nur aus alphanumerischen Zeichen bestehen
und nicht länger als 12 Zeichen sein. Für den Fall einer
Informationsdatei (ftype ist i) wird keine Klasse angegeben.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
pkgmap(4) pkgmap(4)
pathname Der Pfadname, unter dem das Objekt auf dem Zielrechner
installiert wird, wie beispielsweise /usr/bin/mail. Relative
Pfadnamen (diese beginnen nicht mit einem Schrägstrich) wei-
sen darauf hin, daß die Datei frei positionierbar ist.
Bei Dateiverweisen (dort ist ftype entweder l oder s) muß
der Pfadname von der Form pfad1=pfad2 sein. Dabei spezifi-
ziert pfad1 das Ziel und pfad2 die Quelle der Datei.
pathname kann Variablen zur Unterstützung der freien Posi-
tionierung der Datei enthalten. In der Struktur des Pfadna-
mens kann auch ein $parameter eingebettet sein. Die Variable
$BASEDIR kann zur Bestimmung der übergeordneten Verzeich-
nisse der Verzeichnishierarchie benutzt werden, um so das
gesamte Paket auf einfacher Weise frei positionierbar zu
machen. Die Voreinstellungen für parameter und BASEDIR müs-
sen in der pkginfo-Datei eingetragen werden, können jedoch
bei der Installation außer Kraft gesetzt werden.
major (major device number) Die Geräteklasse. Dieses Feld hat nur
für block- oder zeichenorientierte Geräte Bedeutung.
minor (minor device number) Die Gerätenummer. Dieses Feld hat nur
für block- oder zeichenorientierte Geräte Bedeutung.
mode Die Zugriffsrechte für die Datei in Oktaldarstellung (z. B.
0664). Ein Fragezeichen bedeutet hier, daß die Zugriffs-
rechte unverändert bleiben, wobei vorausgesetzt wird, daß
die Datei auf dem Zielrechner bereits existiert. Bei Datei-
verweisen, Informationsdateien zum Paketieren oder bei nicht
installierbaren Dateien wird dieses Feld nicht ausgewertet.
owner Der Eigentümer der Datei (beispielsweise bin oder root).
Dieses Feld ist auf eine Länge von 14 Zeichen beschränkt.
Ein Fragezeichen bedeutet hier, daß der Eigentümer unverän-
dert bleibt, wobei vorausgesetzt wird, daß die Datei auf dem
Zielrechner bereits existiert. Bei Dateiverweisen oder nicht
installierbaren Dateien wird dieses Feld nicht ausgewertet.
Es wird optional mit einer Informationsdatei zum Paketieren
verwendet. Falls es benutzt wird, gibt es an, unter welcher
Benutzerkennung das Installationsskript ausgeführt wird.
Es kann sich hierbei um die Spezifikation einer Variablen
der Form $[A-Z] handeln, deren Auflösung zum Zeitpunkt der
Installation erfolgt.
group Die Gruppenzugehörigkeit der Datei (beispielsweise bin oder
sys). Dieses Feld darf nicht länger als 14 Zeichen sein. Ein
Fragezeichen bedeutet hier, daß die Gruppenzugehörigkeit
unverändert bleibt, wobei vorausgesetzt wird, daß die Datei
auf dem Zielrechner bereits existiert. Bei Dateiverweisen
oder nicht installierbaren Dateien wird dieses Feld nicht
ausgewertet. Es wird optional mit einer Informationsdatei
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
pkgmap(4) pkgmap(4)
zum Paketieren verwendet. Falls es benutzt wird, gibt es an,
mit welcher Gruppenzugehörigkeit das Installationsskript
ausgeführt wird.
Es kann sich hierbei um die Spezifikation einer Variablen
der Form $[A-Z] handeln, deren Auflösung zum Zeitpunkt der
Installation erfolgt.
size Gibt die tatsächliche Größe der Datei in Bytes an. Dieses
Feld hat für benannte (named) Pipes, Gerätedateien, Ver-
zeichnisse oder Dateiverweise keine Bedeutung.
cksum Die Prüfsumme des Dateiinhalts. Dieses Feld hat für benannte
(named) Pipes, Gerätedateien, Verzeichnisse oder Dateiver-
weise keine Bedeutung.
modtime Der Zeitpunkt der letzten Dateiänderung, wie er von dem
Systemaufruf stat(2) zurückgeliefert wird. Dieses Feld hat
für benannte (named) Pipes, Gerätedateien, Verzeichnisse
oder Dateiverweise keine Bedeutung.
Jede pkgmap-Datei muß eine Zeile enthalten, die Auskunft darüber gibt,
aus wievielen Teilen das Paket besteht und welche maximale Größe (in
Blöcken zu 512 Bytes) die Teile haben. Diese Zeile hat folgendes For-
mat:
:anzahlderteile maximalegrößeeinesteils
Zeilen mit einem # am Zeilenanfang sind Kommentarzeilen und werden
ignoriert.
Werden Dateien während der Installation gesichert, bevor sie über-
schrieben werden, geschieht dies normalerweise durch Kopieren auf
einen temporären Pfadnamen. Handelt es sich hierbei allerdings um aus-
führbare (aber nicht editierbare) Dateien, wird von der existierenden
Datei ein Verweis auf einen temporären Pfadnamen erzeugt und dann die
ursprüngliche Datei gelöscht. Auf diese Weise können Prozesse, die
während der Installation ablaufen, überschrieben werden.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
pkgmap(4) pkgmap(4)
BEISPIELE
Es folgt ein Beispiel für eine pkgmap-Datei:
:2 500
1 i pkginfo 237 1179 541296672
1 b class1 /dev/ios0/stape0004 17 134 0644 root other
1 c class1 /dev/ios0/stape0004 17 134 0644 root other
1 d none bin 0755 root bin
1 f none bin/INSTALL 0755 root bin 11103 17954 541295535
1 f none bin/REMOVE 0755 root bin 3214 50237 541295541
1 l none bin/UNINSTALL=bin/REMOVE
1 f none bin/cmda 0755 root bin 3580 60325 541295567
1 f none bin/cmdb 0755 root bin 49107 51255 541438368
1 f class1 bin/cmdc 0755 root bin 45599 26048 541295599
1 f class1 bin/cmdd 0755 root bin 4648 8473 541461238
1 f none bin/cmde 0755 root bin 40501 1264 541295622
1 f class2 bin/cmdf 0755 root bin 2345 35889 541295574
1 f none bin/cmdg 0755 root bin 41185 47653 541461242
2 d class2 data 0755 root bin
2 p class1 data/apipe 0755 root other
2 d none log 0755 root bin
2 v none log/logfile 0755 root bin 41815 47563 541461333
2 d none save 0755 root bin
2 d none spool 0755 root bin
2 d none tmp 0755 root bin
HINWEIS
Die pkgmap-Datei darf für jeden eindeutigen Pfadnamen nur genau einen
Eintrag enthalten.
SIEHE AUCH
pkgmk(1M), prototype(4).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98