Dateinamen, die mit ./ beginnen, in mit Mac erstellten CPIO-Dateien

Dateinamen, die mit ./ beginnen, in mit Mac erstellten CPIO-Dateien

Ich möchte meinen Mac verwenden, um CPIO-Dateien für die Verwendung unter Linux zu erstellen. Die Dateinamen scheinen "./name" zu sein, wenn sie unter Mac erstellt werden. Wenn die CPIO unter Linux erstellt wird, lautet der Name einfach "name". Die Software, die ich verwenden muss, hat damit einige Probleme, daher lautet meine Frage: Gibt es ein Flag oder etwas, mit dem man dieses "./"-Präfix loswerden könnte? Ansonsten scheinen sie einwandfrei zu funktionieren.

Antwort1

Es wäre interessant, den Befehl zu sehen, den Sie zum Erstellen von CPIO-Archiven verwenden. Ich vermute, Sie verwenden find zum Generieren der Liste und der Unterschied liegt wahrscheinlich an der Art und Weise, wie BSD find und GNU find ihre jeweiligen Ergebnislisten drucken.

In jedem Fall können Sie dies wahrscheinlich umgehen, indem Sie zwischen „find“ und „cpio“ einen sed-Befehl einfügen, um das ./ vor den Dateinamen zu entfernen, zum Beispiel:

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

In jedem Fall haben die cpio-Formate verschiedene Einschränkungen, die sie als Archive auf modernen Systemen weniger geeignet machen. Sie sind daher besser dran, wenn Sie GNU tar oder BSD tar verwenden, um Pax-Archive zu erstellen, zum Beispiel:

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

verwandte Informationen