Frage Was ist der Ordner __MACOSX?


Was sind diese __MACOSX-Ordner, die ich in ZIP-Dateien von Leuten auf OSX sehe? Einige nehmen bis zu 30% der Datei.

Welches Programm erstellt diesen __MACOSX-Ordner und wie können Mac-Benutzer diesen Fehler vermeiden?


133
2018-02-03 22:37


Ursprung


Sie sind super-irritierend, ja, und normalerweise sinnlos, da die Rohstoffgabeln so oft leer sind. Aber zumindest sind sie harmlos, im Gegensatz zu dem nicht-standardmäßigen Ansatz, den Apple mit den integrierten OS X-Dateien auf> 4 GB Archivgröße angewendet hat, was jedes andere Tool verwirren und wieder für ausreichend große Dateien brechen wird. Und hey, es könnte schlimmer sein, könnte es zwei Kopien jeder Datei mit dem gleichen Namen, einen für die Daten und einen für die Ressource Fork, speichern, so dass es oft unmöglich ist, auf beide zuzugreifen, wie früher Mac OS vor. Oh Apple, warum hasst du Standard-Dateiformate? - bobince
@bobince: Eigentlich waren Rohstoffgabeln eine sehr gute Idee ... zu der Zeit. Heutzutage wird der gleiche Effekt erzielt, indem Ressourcen als einzelne Dateien gespeichert werden, von denen die meisten so aussehen wie Standarddateiformate.
Nichts ist falsch mit Metadaten als solchen, nur dass Apple so ein Talent darin hat, eigene Formate zu erstellen und existierende Formate mit kostenlos inkompatiblen Erweiterungen zu vermischen! Die Content-Type-Daten als Metadaten zu haben, ist an sich schon eine großartige Sache und es macht mich traurig, dass OS X als Alternative zu den Windows-Hacks von Dateierweiterungen geht. Dies ist zwar nicht so schlimm wie unter Linux, wo das Dateisystem das Speichern von Content-Type-Metadaten unterstützt, aber keine Desktops verwenden es, sondern bevorzugen eine gründlich gebrochene Mischung aus Dateierweiterungs- / Namensmustern und Content-Sniffing (urgh!). Seufz, Betriebssysteme, eh? - bobince
@bobince: Aber ja, zumindest das Format, das sie ausgemacht haben Dies Es macht keinen wirklichen Schaden, abgesehen von leicht überladen Verzeichnisverzeichnissen und verschwenden im Wesentlichen 1 inode und 1 Block pro leerer Ressource fork extrahiert, es sei denn, Sie verwenden etwas wie NTFS (die den Inhalt der Datei in der MFT für solche kleine Dateien speichern wird), in In diesem Fall verschwendet es nur den "Inode" (MFT-Eintrag). - SamB
Kann nachträglich behoben werden durch zip -d filename.zip __MACOSX/\* - Chris Johnson


Antworten:


http://www.realsoftware.com/listarchives/gettingstarted/2005-09/msg00328.html

Apple bietet integrierte Funktionen für ZIP-Dateien in OS X 10.3 und höher, und diese Dateien sind das Ergebnis der sicheren Speicherung von Resource Forks durch Apple. Sie würden niemals sehen, dass diese Dateien unter OS X 10.3 oder höher laufen, aber da Windows und andere Betriebssysteme diese spezielle Form von Resource Forks nicht verstehen, erscheinen sie so, wie Sie sie sehen.


53
2018-02-03 22:39



Es ist nicht nur eine Ressourcenzuteilung, sondern alles, was über den Dateiinhalt hinausgeht, wird in die AppleDouble-Datei geschrieben. Apple bewegt sich von Ressourcen-Gabeln weg, aber zu Dingen wie erweiterten Attributen, die ebenfalls im AppleDouble-Container gespeichert werden. - Gordon Davisson
Du machst es wie ein Feature. .zip-Dateien fehlen absichtlich in der Metadatenabteilung. Wenn Sie Metadaten benötigen, verwenden Sie ein anderes Format, keinen Mac. Beispiel für eine korrekte Implementierung von zip + -Metadaten: .jar - Zenexer
toter Link, bitte reparieren. - think123
"Da Windows und andere Betriebssysteme nicht verstehen" - Ugh. Ich hasse diese Art von Terminologie - Joe Plante
Gerade entdeckt: Wenn Sie auf einem Mac sind, verwenden Sie die Befehlszeile, unzip filename.zip Entpacke das __MACOSX / Verzeichnis, das du nicht willst, aber open filename.zip wird das Richtige tun. - Edward Falk


Hier ist ein Link, der es ziemlich gut erklärt. Ich nehme an, es ist ein bisschen spät, Yada zu helfen, aber für die Nachwelt.

Erklärung der Ressourcengabel bei Wikipedia

Der Rest ist meiner Meinung nach:

@nickf: Nie diese Dateien zu sehen ist keine Eigenschaft dieser OS X-Versionen, es ist ein FLAW. Menschen produzieren Daten, wickeln sie ein, speichern sie auf verschiedenen Medien und so weiter. Sie müssen wissen, was benötigt wird oder was nicht benötigt wird. Versteckt hält sie im Dunkeln.

Die uralte schlechte Idee, Dinge vor Nutzern zu verstecken: Ein Programmierer, der sich mit der Zweckmäßigkeit seiner eigenen Arbeit beschäftigt, missbraucht etwas in der Domäne des Endbenutzers, um es sich leicht zu machen.

In diesem Fall speicherte er Metadaten im Datenraum des Benutzers und versteckte sie dann vor dem Benutzer. Er vermisste das große Bild: Der Benutzer wird die versteckten Details nicht bemerken. Wenn er seine Daten verpackt und irgendwo unvorhergesehen vom Programmierer versendet, Fehlende Teile werden nicht verschickt oder unbekannte Teile werden nicht ankommen der Benutzer oder der Empfänger kann das erklären.

Dinge vor dem Benutzer zu verstecken ist schlecht. Es nimmt an, dass der Benutzer dumm ist, wenn es genauer gesagt ist, dass der Programmierer dumm ist, oder faul.

Um es klar zu sagen, diese schlechte Angewohnheit ist nicht auf MAC beschränkt. Es ist überall. Es ist eine Konsequenz von Programmierern, die sich in ihre eigenen Systeme und Lieferanten verlieben, die ihre eigenen Ziele vor den Bedürfnissen des Endbenutzers priorisieren.

In Kürze.

__MAC OS X:
komisch riechender Programmierer Kot, der unter dem Teppich hervorkam, wo sie gefegt wurden.

Programmierer und Verkäufer: Bitte halten Sie die Dinge offen. Wenn Sie sie verstecken, machen Sie sich dumm und der Benutzer nicht informiert.


98
2017-12-03 01:31



Diese Antwort wäre besser, wenn es nur eine Antwort wäre. Das langweilige Schimpfen über dumme Programmierer und faule Benutzer lenkt davon ab. - Kristopher Johnson
@pbernatchez Eigentlich, wenn Sie aufhörten, um darüber zu lernen, wie die Dinge aussahen und wie sie sich entwickelten, würden Sie wahrscheinlich nicht Ihre eigenen arroganten "Kot" verlassen. Resource Forks waren ein (wirklich nettes!) Implementierungsdetail vor Mac OS X und die Benutzer fanden sie nur, wenn sie mit anderen Systemen interagieren. Seit den 90er Jahren hat Apple sich zunehmend in eine Welt ohne Ressourcengabeln bewegt, aber immer noch zurückgebeugt, um Kompatibilität zu wahren. "Metadaten im Datenbereich des Benutzers speichern"? WTF? Wie verrückt müssen Sie "Metadaten" und "Datenraum des Benutzers" definieren, um das zu sagen? Sie müssen Dateisysteme hassen! - hmijail
"Dinge vor dem Benutzer zu verstecken ist schlecht". Mann, Sie müssen auch alle Arten von Benutzeroberflächen, Bibliotheken und Abstraktionen hassen und ... nun ja, jede Art von Programmierung und Computern, die weiter fortgeschritten sind als ein Abakus. - hmijail
Dies beantwortet die Frage nicht. Nach dem Lesen dieser Antwort habe ich immer noch keine Ahnung, welche Metadaten im Ordner _MACOSX enthalten sind oder welche Ressource Gabeln sind. Ich nehme an, die Leute heben das auf, nur weil sie der Tirade zustimmen? - Atte Juvonen
Hier ist ein weiterer Link, von dem ich denke, dass er Resource Forks recht gut erklärt: xahlee.info/UnixResource_dir/macosx.html - GDP2


Um deine letzte Frage zu beantworten:

Wie können Mac-Benutzer diesen Fehler vermeiden?

Mac OS X-Benutzer können ein Archivierungsdienstprogramm eines Drittanbieters wie z KekaSagen Sie dann, dass Ressourcen-Forks nicht verwendet werden sollen, und stellen Sie sie als Standardkompressor ein.


Wie macht man das mit Keka?

Sag Keka, dass es keine Ressourcengabeln geben soll

  1. Öffne Keka ohne eine Datei (Von Launchpad, Spotlight, etc.)
  2. Drücken Sie ⌘ Bef+, zu Öffnen Sie die Einstellungen
  3. Wähle aus Kompression Tab
    Keka "Compression" tab, selected
  4. Prüfen "Ausschließen von Mac OS X-Ressourcenzweigen (ex: .DS_Store)" 
    A checkbox reading "Exclude Mac OS X resource forks (ex: .DS_Store)"

Machen Sie Keka zum Standardkompressor

  1. Im gleichen Keka Einstellungen Fenster
  2. Wähle aus Allgemeines Tab
    Keka "General" tab, selected
  3. Klicken Sie auf "Set Keka als Standardkompressor / -kompressor" [sic]
    enter image description here

12
2017-11-05 15:03



Dies könnte verbessert werden, indem ich einige Informationen zu den letzten 2 Schritten hinzufüge, "sage ihm, dass es Ressourcen-Forks nicht verwenden soll, und setze es dann als Standardkompressor ein." - Steven C. Howell
@ stvn66 Fertig! Nur zum Glück, das ist normalerweise außerhalb des Umfangs dieser Fragen, weshalb ich es zuerst nicht getan habe. - Ben Leggiero
Downvoting, tut mir leid. Ich bin kein Fan von der Installation von Software von Drittanbietern, um ein Problem zu beheben, das mit der Standardsoftware behoben werden kann. Wie Chris Johnson oben erwähnt hat, zip -d entfernt die Ressourcenzweige aus einer Zip-Datei. In der Tat, ich denke, wenn Sie zip in erster Linie verwenden, werden die Ressource Gabeln nicht in erster Linie hinzugefügt. - Edward Falk
@EdwardFalk Das ist fair! Diese Antwort sollte das "Wie bekomme ich es, dass ich mich immer so benehme" lösen? Problem, nicht das "Wie bekomme ich es einmal so zu verhalten?" ein. - Ben Leggiero