Befehl "pkgproto"
Zweck
Generiert eine Prototypdatei.
Syntax
Beschreibung
Der pkgproto-Befehl scannt die angegebenen Pfade und generiert eine Prototypdate, die als Eingabe für den Befehl pkgmk verwendet werden kann. Dazu muss die Standardausgabe dieses Befehls in eine Datei umgeleitet werden. Die Datei kann dann verwendet werden, wenn der Befehl pkgmk aufgerufen wird.
Wenn in der Befehlszeile keine Pfade angegeben werden, wird davon ausgegangen, dass die Standardeingabe eine Liste von Pfaden ist. Wenn der in der Befehlszeile aufgeführte Pfad ein Verzeichnis ist, wird der Inhalt des Verzeichnisses durchsucht. Wenn jedoch die Eingabe aus der Standardeingabe gelesen wird, wird ein als Pfad angegebenes Verzeichnis nicht durchsucht.
Die Prototypdateiattribute mac, fixed und inherited können nicht über pkgproto bestimmt werden und müssen der Datei manuell hinzugefügt werden.
Standardmäßig erstellt pkgproto symbolische Linkeinträge für jeden symbolischen Link, der gefunden wird (ftype=s). Wenn Sie das Flag -i verwenden, erstellt der Befehl pkgproto einen Dateieintrag für symbolische Links (ftype = f). Die Prototypdatei muss bearbeitet werden, um Dateitypen wie v (flüchtig), e (editierbar) oder x (exklusives Verzeichnis) zuzuweisen. Der Befehl pkgproto erkennt verlinkte Dateien. Wenn mehrere Dateien miteinander verlinkt sind, wird der erste gefundene Pfad als die Quelle des Links betrachtet.
Die Ausgabe dieses Befehls wird an die Standardausgabe gesendet. Sie müssen die Standardausgabe in eine Datei umleiten, wenn Sie das Ergebnis beim Aufrufen des Befehls pkgmk als Prototypdatei verwenden möchten. Da der Befehl pkgmk "prototype" als Standarddateinamen für die Prototypdatei verwendet, sollten Sie die Ausgabe von pkgproto in die Datei "prototype" umleiten.
- Standardmäßig erstellt
pkgproto symbolische Linkeinträge für jeden symbolischen Link, der gefunden wird (ftype=s). Wenn Sie die Option
-iverwenden, erstellt pkgproto einen Dateieintrag für symbolische Links (ftype=f). Die Prototypdatei muss bearbeitet werden, um Dateitypen wie v (flüchtig), e (editierbar) oder x (exklusives Verzeichnis) zuzuweisen. Der Befehl pkgproto erkennt verlinkte Dateien. Wenn mehrere Dateien miteinander verlinkt sind, wird der erste gefundene Pfad als die Quelle des Links betrachtet. - Die Ausgabe dieses Befehls wird an die Standardausgabe gesendet. Sie müssen die Standardausgabe in eine Datei umleiten, wenn Sie das Ergebnis beim Aufrufen des Befehls pkgmk als Prototypdatei verwenden möchten. Da der Befehl pkgmk "prototype" als Standarddateinamen für die Prototypdatei verwendet, sollten Sie die Ausgabe von pkgproto in die Datei prototype umleiten.
- Beachten Sie, dass Sie der von diesem Befehl erstellten Datei prototype Einträge für alle Installationsscripts und Dateien, die Ihr Paket möglicherweise benötigt, hinzufügen müssen. Sie benötigen mindestens einen Eintrag für die Datei pkginfo. Weitere Informationen finden Sie unter pkginfo. Möglicherweise benötigen Sie auch Einträge für die folgenden Dateien, die Sie in Ihrem Paket verwenden: copyright, compver, depend, setinfo, space, alle Installations- oder Entfernungsscripts, die Sie für das Paket definieren und/oder alle Klassen, die Sie definieren (z. B. postinstall).
Flags
| Element | Beschreibung |
|---|---|
| -i | Ignoriert symbolische Links und zeichnet die Pfade als ftype = f (eine Datei) versus ftype = s (symbolischer Link) auf. |
| -c Klasse | Ordnet die Klasse aller Pfade der Klasse zu. |
| Path1 | Pfad des Verzeichnisses, in dem sich die Objekte befinden. |
| Path2 | Pfad, der bei der Ausgabe durch Pfad1 ersetzt werden soll. |
Beispiele
Die folgenden Beispiele zeigen die Verwendung von pkgproto und eine partielle Auflistung der erzeugten Ausgabe.
$ pkgproto /usr/bin=bin /usr/usr/bin=usrbin /etc=etc f none bin/sed=/bin/sed 0775 bin bin f none bin/sh=/bin/sh 0755 bin daemon f none bin/sort=/bin/sort 0755 bin bin d none etc/master.d 0755 root daemon f none etc/master.d/kernel=/etc/master.d/kernel 0644 root daemon f none etc/rc=/etc/rc 0744 root daemon$ find / -type d -print | pkgproto d none / 755 root root d none /usr/bin 755 bin bin d none /usr 755 root root d none /usr/bin 775 bin bin d none /etc 755 root root d none /tmp 777 root rootIdentisch mit dem vorherigen Beispiel, jedoch mit der Ausgabe in einer Datei für die spätere Verarbeitung mit pkgmk. Für die erforderliche pkginfo-Datei hinzugefügte Einträge und z. B. ein Postinstallationscript, das ausgeführt werden kann, nachdem die Dateien an die richtigen Speicherpositionen kopiert wurden.
$ find / -type d -print | pkgproto >prototype $ (edit the file to add entries for pkginfo and postinstall) $ cat prototype i pkginfo i postinstall d none / 755 root root d none /usr/bin 755 bin bin d none /usr 755 root root d none /usr/bin 775 bin bin d none /etc 755 root root d none /tmp 777 root root
Rückgabecodes
| Element | Beschreibung |
|---|---|
| 0 | Das Script wurde erfolgreich ausgeführt. |
| 1 | Fataler Fehler. Der Installationsprozess wird zu diesem Zeitpunkt abgebrochen. |
Dateien
| Element | Beschreibung |
|---|---|
| /usr/sbin/pkgproto | Enthält den Befehl pkgproto. |