Dateinamen mit ./ in cpio-Dateien, die mit mac erstellt wurden

289
Tero

Ich möchte meinen Mac verwenden, um cpio-Dateien für Linux zu erstellen. Die Dateinamen scheinen "./name" zu sein, wenn sie in Mac erstellt werden. Wenn das cpio in Linux erstellt wird, ist der Name "name". Der SW, den ich verwenden muss, hat einige Probleme damit. Daher lautet meine Frage: Gibt es eine Flagge oder etwas, das verwendet werden könnte, um das Präfix "./" zu entfernen? Ansonsten scheinen sie gut zu funktionieren.

0

1 Antwort auf die Frage

0
ruario

Es wäre interessant zu sehen, welchen Befehl Sie zum Erstellen von cpio-Archiven verwenden. Ich vermute, Sie verwenden find, um die Liste zu generieren, und der Unterschied liegt wahrscheinlich darin, wie BSD find und GNU find die entsprechenden Ergebnislisten ausdrucken.

In jedem Fall können Sie dies wahrscheinlich umgehen, indem Sie einen sed-Befehl zwischen find und cpio einfügen, um ./ von der Vorderseite der Dateinamen zu entfernen. Beispiel:

find folder | sed 's,^\./,,' | cpio -ov >/tmp/test.cpio 

In jedem Fall haben die cpio-Formate verschiedene Einschränkungen, weshalb sie als Archiv auf modernen Systemen weniger geeignet sind. Es wäre daher besser, wenn Sie mit GNU tar oder BSD tar pax-Archive erstellen, zum Beispiel:

bsdtar --format=pax -cvf /tmp/test.tar folder