Befehl "pkgmk"
Zweck
Erzeugt ein installierbares Paket.
Syntax
Pkgmk [ -c ] [ -o ] [ -a Bogen ] [ -b BaseDir ] [ -d Verzeichnis ] [ -f Prototyp ] [ -l Grenzwert ] [ -p PStempel ] [ -r RootPath ] [ -v Version ] [ Variable=Wert ... ] [ PkgInst ]
Beschreibung
Der Befehl pkgmk erzeugt ein installierbares Paket, das als Eingabe für den Befehl pkgadd verwendet wird. Ein Paket ist eine Sammlung zusammengehöriger und ausführbarer Dateien, die unabhängig voneinander installiert werden können. Der Paketinhalt liegt im Verzeichnisstrukturformat vor.
Der Befehl pkgmk verwendet die Paketprototypdatei als Eingabe und erstellt eine pkgmap-Datei. Der Inhalt für jeden Eintrag in der Prototypdatei wird an die entsprechende Ausgabeposition kopiert. Informationen zum Inhalt (Kontrollsumme, Dateigröße, Änderungsdatum) werden berechnet und in der pkgmap-Datei zusammen mit den in der Prototypdatei angegebenen Attributinformationen gespeichert.
Flags
| Element | Beschreibung |
|---|---|
| -a Bogen | Überschreibt die Architekturinformationen in der Datei pkginfo mit der Architektur. |
| -b BaseDir | Wird dem angegebenen Basisverzeichnis vorangestellt, um verschiebbare Objekte auf der Quellenmaschine zu lokalisieren. |
| -c | Komprimiert Dateien ohne Informationen. Sie müssen auch die Option -r angeben, wenn Sie -c verwenden. Einträge in der Prototypdatei, die relative Pfade referenzieren, die sich oberhalb der Rootpfadangabe befinden, werden nicht komprimiert. Der Befehl pkgadd dekomprimiert keine Dateien, die bereits komprimiert wurden (d. h., solche im Format ".Z"), bevor sie vom Befehl pkgmk verarbeitet werden. |
| -d Verzeichnis | Erstellt das Paket im Verzeichnis. Das angegebene Verzeichnis muss bereits vorhanden sein. |
| -f Prototyp | Verwendet die Datei Prototyp als Eingabe für den Befehl. Der Standardname für diese Datei ist entweder Prototype oder prototype. Sie können den Befhel pkgproto verwenden, um die Prototypdatei zu erstellen. In diesem Fall müssen Sie manuell die Einträge für alle Installationsscripte und -dateien hinzufügen, die Sie im Paket verwenden. Sie benötigen nur Einträge für die Dateien und Scripte, die Sie verwenden. Sie müssen jedoch immer einen Eintrag für die pkginfo-Datei für das Paket hinzufügen. Weitere Informationen finden Sie im Abschnitt zum Befehl pkgproto. |
| -l Grenzwert | Gibt die maximale Größe in 512-Byte-Blöcken der Ausgabeeinheit Grenzwert an. Wenn es sich bei der Ausgabedatei standardmäßig um ein Verzeichnis oder eine Einheit mit austauschbarem Datenträger handelt, verwendet der Befehl pkgmk den Befehl df, um dynamisch den verfügbaren Speicherplatz auf der Ausgabeeinheit zu berechnen. Diese Option ist in Verbindung mit dem Befehl pkgtrans hilfreich, um ein Paket mit Datenstromformat zu erstellen. |
| -o | Überschreibt dieselbe Instanz. Die Paketinstanz wird überschrieben, falls sie bereits vorhanden ist. |
| -p Zeitmarke | Überschreibt die Zeitmarkendefinition für die Erzeugung in der Datei pkginfo mit der Zeitmarke_der_Erzeugung. |
| -r RootPath | Hängt den Quellpfadnamen in der Prototypdatei an den angegebenen Rootpfad an, um Objekte auf der Quellenmaschine zu lokalisieren. |
| -v Version | Überschreibt Versionsinformationen in der Datei pkginfo mit der Version. |
| Variable=Wert | Legt die angegebene Variable in der Paketierungsumgebung fest. |
| PkgInst | Eine kurze Zeichenfolge, die verwendet wird, um den Paketnamen abzukürzen. Der Befehl pkgmk erstellt automatisch eine neue Instanz, wenn die Version und/oder Architektur sich unterscheiden. Ein Benutzer sollte nur eine Paketabkürzung angeben. Eine bestimmte Instanz sollte nicht angegeben werden, es sei denn, der Benutzer überschreibt sie. |
Beispiele
- Wenn Sie ein Paket mit dem Namen
mypkgAerstellen möchten, das die Befehle lsps und lsuser enthält, müssen Sie zuerst den Inhalt des Pakets erstellen. Beispiel:
Erstellen Sie anschließend die Datei pkginfo. In diesem Beispiel handelt es sich bei der Datei pkginfo um die Dateimkdir -p /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsps /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsuser /home/myuser/example/pkgmk/sbin/home/myuser/example/pkgmk/pkginfo, die Folgendes enthält:
Erstellen Sie anschließend die PrototypdateiPKG="mypkgA" NAME="My Package A" ARCH="PPC" RELEASE="1.0" VERSION="2" CATEGORY="Application" PSTAMP="AIX 2001/02/05"/home/myuser/example/pkgmk/prototype, die Folgendes enthält:
Erstellen Sie dann das Paket mit den oben genannten Prototypdateien und der pkginfo-Datei mit dem Befehl pkgmk:!search /home/myuser/example/pkgmk/sbin i pkginfo=/home/myuser/example/pkgmk/pkginfo d example /example 1777 bin bin d example /example/pkgmk 1777 bin bin d example /example/pkgmk/sbin 1777 bin bin f example /example/pkgmk/sbin/lsps 555 bin bin f example /example/pkgmk/sbin/lsuser 555 bin bin
Dieser Befehl erzeugt die folgende Ausgabe:pkgmk -d /tmp -f /home/myuser/example/pkgmk/prototype
Das neu erstellte Paket mit dem NamenBuilding pkgmap from package prototype file ## Processing pkginfo file WARNING:parameter <CLASSES> set to "example" ## Attempting to volumize 5 entries in pkgmap Part 1 -- 218 blocks, 10 entries /tmp/mypkgA/pkgmap /tmp/mypkgA/pkginfo /tmp/mypkgA/root/example/pkgmk/sbin/lsps /tmp/mypkgA/root/example/pkgmk/sbin/lsuser ## Packaging completemypkgAist jetzt im Verzeichnis/tmp/mypkgAvorhanden.
Exitstatus
| Element | Beschreibung |
|---|---|
| 0 | Das Script wurde erfolgreich ausgeführt. |
| 1 | Fataler Fehler. Der Installationsprozess wird zu diesem Zeitpunkt abgebrochen. |
| 99 | Interner Fehler. |
Dateien
| Element | Beschreibung |
|---|---|
| /usr/sbin/pkgmk | Enthält den Befehl pkgmk. |