hinzuzufügen Ich habe eine Reihe von Dateien, in denen einige harte Links auf einige der Dateien zeigen. Beispiel:Apache Commons Compress nicht in der Lage, harte Link in Teer
/tmp/test/file1
/tmp/test/file1_Link
Die file1
ist eine Datei mit einer Größe von 1 MB. file1_Link
ein harter Link zu file1
zeigt
Wenn ich den Unix tar
Befehl verwenden, um diese beiden Dateien auf Teer, hat das resultierende Archiv mit einer Größe von 1 MB (mytar.tar
)
tar -cvf ../mytar.tar .
-rw-r--r-- 1 bsarraf 189060905 1.0M Feb 11 22:06 mytar.tar
-rw-r--r-- 1 bsarraf 189060905 2.0M Feb 11 22:10 files.tar
Allerdings, wenn ich die Verwendung Apache Commons komprimieren und fügen Sie alle Dateien in der TAR-Datei, ich bekomme ein Teer mit der Größe 2 MB (files.tar
).
Dies bedeutet im tar die gleiche Datei wurde zweimal hinzugefügt.
Wie kann ich die Hard-Link-Datei im Teer als fester Link der anderen Datei hinzufügen?
Sie haben Ihren Code nicht angezeigt. Ich glaube, Sie müssen harte Links erkennen und die Erstellung des Link-Eintrags (innerhalb der TAR-Datei) selbst vornehmen. 'org.apache.commons.compress.archivers.tar.TarConstants' enthält Typkonstanten sowohl für weiche (' LF_SYMLINK') als auch für harte ('LF_LINK') Links. –
Danke @JimGarrison für Ihre Antwort. Ich konnte das Problem mit einem Experiment lösen. –