Mögliches Duplizieren:
Warum bekomme ich unter OS X Dateien wie ._foo in meinem Tarball?
Ich erstelle Autoconf-Skripte auf einem Mac. Wenn tar ausgeführt wird, werden alle diese ._ foobar- Namen im Archiv abgelegt :
libewf-20110312/borlandc/builder5/ewfacquire/._ewfacquire.bpf
libewf-20110312/borlandc/builder5/ewfacquire/ewfacquire.bpf
libewf-20110312/borlandc/builder5/ewfacquire/._ewfacquire.bpr
libewf-20110312/borlandc/builder5/ewfacquire/ewfacquire.bpr
Nun , was los ist , das Apples HFS - Dateisystem ist die Dateieigenschaften in den ._ setzen foobar Namen , damit sie auf einem anderen Mac - System wiederhergestellt werden kann. Aber ich will sie nicht - sie sind nur Müll für mich. Gibt es eine Möglichkeit, sie zu unterdrücken?
macos
filesystems
tar
metadata
vy32
quelle
quelle
._*
Dateien aus Archiven (z. B..__init__.py
) , die dieselbe Lösung verwendet.Antworten:
Pro eine Antwort auf eine andere Frage , können Sie die nicht dokumentiert (?) Umgebungsvariable COPYFILE_DISABLE gesetzt mehrere der vom System bereitgestellten Programme (einschließlich verhindern Teer ) von unter besonderer Bedeutung
._*
Archiv - Mitglieder. Insbesondere werden sie daran gehindert:Speichern erweiterter Attributdaten (einschließlich Ressourcengabeln) in
._*
Archivmitgliedern(dh Archive, die unter Mac OS X erstellt wurden, aber für die Verwendung auf anderen Systemen vorgesehen sind, nicht "verschmutzen") und
Versuch, erweiterte Attribute oder Ressourcen aus Archivmitgliedern mit dem Namen like zu extrahieren
._*
(dh
._*
Archivmitglieder in Archiven anderer Systeme nicht falsch zu interpretieren ).Der Wert, den Sie für die Umgebungsvariable verwenden, ist nicht wichtig (es kann sogar die leere Zeichenfolge sein). Werte wie
0
undfalse
werden die Funktion nicht wieder aktivieren. Das Einzige, was zählt, ist, ob die Variable gesetzt ist (Sie müssen sie "deaktivieren", um das Feature wieder zu aktivieren).Sie können diese Variable für einzelne Befehle verwenden, indem Sie die Fähigkeit von Shells im Bourne-Stil ( sh , ksh , bash , zsh usw.) nutzen, Befehle mit zusätzlichen Umgebungsvariablen zu versehen.
Wenn das Problem häufiger auftritt, möchten Sie möglicherweise diese Variable in eine der Initialisierungsdateien Ihrer Shell setzen und exportieren.
Bei Bedarf können Sie die Variable für einzelne Befehle deaktivieren.
Auf diesem Mac OS X 10.6-System scheinen die folgenden Befehle alles über COPYFILE_DISABLE zu wissen:
/usr/bin/tar
(ein symbolischer Link zubsdtar
)/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE stammt aus Mac OS X 10.5. Wenn Sie 10.4 unterstützen müssen, verfügt es über COPY_EXTENDED_ATTRIBUTES_DISABLE, das auf die gleiche Weise funktioniert.
quelle
Kein Experte, aber ein bisschen googeln fand dies: http://www.ofzenandcomputing.com/zanswers/3422
und dies: http://hintsforums.macworld.com/archive/index.php/t-28703.html
Der zweite Befehl sieht so aus, als könnte er in ein Skript integriert werden. Möglicherweise können Sie die Erstellung von Resource Fork-Dateien nicht verhindern, aber Sie können sie anschließend automatisch löschen.
edit: Ich hätte erwähnen sollen, dass dies zu schlechten Ergebnissen führen kann. Die Verwendung erfolgt auf eigenes Risiko.
quelle
tar
außer dem BSD-libarchive
basierten verwenden (dies schließt Mac OS X ein), aber möglicherweise nicht zuverlässig sein; GNU tar zu installieren ist oft eine gute Idee. (Es ist jedoch schmerzhaft. Ich denke, Sie müssen alle auflisten und diese Namen dann in der Befehlszeile übergeben.) Außerdem befinden sich die Ressourcengabeln technisch auf der Festplatte, aber in HFS + werden sie in erweiterten Attributen gespeichert. Die._
Dateien dienen OS X zum Speichern von Resource Forks an Orten, die keine erweiterten Attribute unterstützen.Sie können versuchen, Ihr eigenes zu kompilieren
tar
oder es von Macports oder Fink aus zu installieren, falls verfügbar (Homebrew hat es nicht). Mit etwas Glück sollte es keine Ahnung von OS X-Metadaten haben und das Erstellen dieser Dateien überspringen.quelle