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

  1. Wenn Sie ein Paket mit dem Namen mypkgA erstellen möchten, das die Befehle lsps und lsuser enthält, müssen Sie zuerst den Inhalt des Pakets erstellen. Beispiel:
    mkdir -p /home/myuser/example/pkgmk/sbin
    cp /usr/sbin/lsps /home/myuser/example/pkgmk/sbin
    cp /usr/sbin/lsuser /home/myuser/example/pkgmk/sbin
    Erstellen Sie anschließend die Datei pkginfo. In diesem Beispiel handelt es sich bei der Datei pkginfo um die Datei /home/myuser/example/pkgmk/pkginfo, die Folgendes enthält:
    PKG="mypkgA"
    NAME="My Package A"
    ARCH="PPC"
    RELEASE="1.0"
    VERSION="2"
    CATEGORY="Application"
    PSTAMP="AIX  2001/02/05"
    
    Erstellen Sie anschließend die Prototypdatei /home/myuser/example/pkgmk/prototype, die Folgendes enthält:
    !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
    
    Erstellen Sie dann das Paket mit den oben genannten Prototypdateien und der pkginfo-Datei mit dem Befehl pkgmk:
    pkgmk -d /tmp -f /home/myuser/example/pkgmk/prototype
    Dieser Befehl erzeugt die folgende Ausgabe:
    Building 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 complete
    
    Das neu erstellte Paket mit dem Namen mypkgA ist jetzt im Verzeichnis /tmp/mypkgA vorhanden.

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.