Co to jest folder __MACOSX?

151

Jakie są te foldery __MACOSX, które wciąż widzę w plikach zip utworzonych przez ludzi w systemie OSX? Niektóre zajmują nawet 30% pliku.

Jaki program produkuje folder __MACOSX i jak użytkownicy komputerów Mac mogą uniknąć tego błędu?

Yada
źródło
8
Są bardzo irytujące, tak, i zwykle bezcelowe, ponieważ widelce zasobów są często puste. Ale przynajmniej są nieszkodliwe, w przeciwieństwie do niestandardowego podejścia, które Apple zastosowało do rozmiaru archiwum> 4 GB z wbudowanym systemem OS X, który pomyli każde inne narzędzie i zepsuje się ponownie w przypadku wystarczająco dużych plików. I hej, mogłoby być gorzej, może przechowywać dwie kopie każdego pliku o tej samej nazwie, jedną dla danych i jedną dla rozwidlenia zasobów, często uniemożliwiając dostęp do jednego z nich, tak jak to miało miejsce przed Mac OSX. Och, Apple, dlaczego nie znosisz standardowych formatów plików?
bobince
3
@ Bobin: w rzeczywistości rozwidlenia zasobów były bardzo dobrym pomysłem ... w tym czasie. Obecnie ten sam efekt osiąga się poprzez przechowywanie zasobów jako pojedynczych plików, z których większość wygląda prawie jak standardowe formaty plików.
16
Nie ma nic złego w metadanych jako takich, po prostu Apple ma taki talent do tworzenia własnych formatów i mieszania istniejących formatów z nieobowiązkowo niekompatybilnymi rozszerzeniami! Posiadanie danych typu zawartości jako metadanych jest samo w sobie świetną rzeczą i zasmuca mnie, że OS X zmierza w kierunku hackowania rozszerzeń plików Windows jako alternatywy. Chociaż nie jest to tak złe jak w Linuksie, gdzie system plików obsługuje przechowywanie metadanych typu treści, ale nie korzystają z niego żadne komputery stacjonarne, preferując dokładnie zepsutą mieszankę rozszerzeń plików / wzorców nazw i wąchania zawartości (urgh!). Ech, OSes eh?
bobince
@bobince: Ale tak, przynajmniej format one składają się na to nie robi żadnej rzeczywistej szkody, inne niż nieznacznie zaśmiecania katalog aukcji i tracić zasadzie 1-węzeł i 1 blok na pustym rozwidlenia zasobów wydobyte, chyba że używasz coś jak NTFS (co zapisze zawartość pliku w MFT dla takich małych plików), w którym to przypadku po prostu marnuje „i-węzeł” (wpis MFT).
SamB
9
Można to naprawić po fakciezip -d filename.zip __MACOSX/\*
Chris Johnson

Odpowiedzi:

52

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

Apple zapewnia wbudowane możliwości plików ZIP w systemie OS X 10.3 i nowszych, a pliki te są wynikiem bezpiecznego przechowywania przez Forks Forks w Apple. Nigdy nie zobaczysz tych plików w systemie OS X 10.3 lub nowszym, ale ponieważ Windows i inne systemy operacyjne nie rozumieją tej specjalnej formy Widelców zasobów, pojawią się one tak, jak je widzisz.

pseudonim
źródło
4
To nie tylko rozwidlenia zasobów, wszystko poza podstawową zawartością pliku jest umieszczane w pliku AppleDouble. Apple odchodzi od rozwidleń zasobów, ale dąży do takich rzeczy, jak rozszerzone atrybuty, które również zostaną zapisane w kontenerze AppleDouble.
Gordon Davisson
14
Sprawiasz, że brzmi jak funkcja. W dziale metadanych celowo brakuje plików .zip. Jeśli chcesz metadanych, użyj innego formatu, a nie komputera Mac. Przykład poprawnej implementacji zip + metadanych: .jar
Zenexer
16
martwy link, proszę naprawić.
Lucas - Better Coding Academy
71
„ponieważ Windows i inne systemy operacyjne nie rozumieją” - Ugh. Nienawidzę tego rodzaju terminologii
Joe Plante
5
Właśnie odkryłem: jeśli korzystasz z komputera Mac, używając wiersza polecenia, unzip filename.ziprozpakujesz katalog __MACOSX /, którego nie chcesz, ale open filename.zipzrobi to dobrze.
Edward Falk
107

Oto link, który całkiem dobrze to wyjaśnia. Przypuszczam, że jest trochę za późno, aby pomóc Yadzie, ale dla potomności.

Wyjaśnienie rozwidlenia zasobów na Wikipedii

Reszta to moja opinia:

@nickf: Nigdy nie widzenie tych plików nie jest WŁAŚCIWOŚCIĄ tych wersji OS X, jest to WADA. Ludzie tworzą dane, zamykają je, przechowują na różnych nośnikach i tak dalej. Muszą wiedzieć, co jest potrzebne, a co nie jest potrzebne. Ukrywanie go utrzymuje je w ciemności.

Odwieczny zły pomysł ukrywania rzeczy przed użytkownikami: programista, zaniepokojony celowością wykonania własnej pracy, nadużywa czegoś w domenie użytkownika końcowego, aby ułatwić sobie.

W takim przypadku przechowywał metadane w przestrzeni danych użytkownika, a następnie ukrywał je przed użytkownikiem. Brakowało mu dużego obrazu: użytkownik nie dowie się o ukrytych szczegółach. Kiedy pakuje swoje dane i wysyła je w miejsce nieprzewidziane przez programistę, brakujące części nie zostaną wysłane lub dotrą nieznane części, których ani użytkownik, ani odbiorca nie mogą wyjaśnić.

Ukrywanie rzeczy przed użytkownikiem jest złe. Zakłada, że ​​użytkownik jest głupi, a dokładniej to głupi lub leniwy programista.

Żeby było jasne, ten zły nawyk nie ogranicza się do MAC. To jest wszędzie. Jest to konsekwencją zakochania się programistów we własnych programach i sprzedawców, którzy ustalają priorytety swoich celów przed potrzebami użytkownika końcowego.

W skrócie.

__MACOSX:
dziwnie pachnące odchody programisty wyłaniające się spod dywanu, gdzie zostały zmiecione.

Programiści i dostawcy: zachowaj otwartość. Gdy je ukrywasz, stajesz się głupi, a użytkownik nieświadomy.

pbernatchez
źródło
12
Ta odpowiedź byłaby lepsza, gdyby była tylko odpowiedzią. Długie ranienie o głupich programistach i leniwych użytkownikach szkodzi.
Kristopher Johnson
1
@pbernatchez Właściwie, jeśli przestaniesz się uczyć o tym, jak wyglądały rzeczy i jak one ewoluowały, prawdopodobnie nie zostawiłbyś tutaj własnych, rozpaczliwych, aroganckich „odchodów”. Widelce zasobów były (naprawdę fajnym!) Szczegółem implementacji wcześniejszym niż Mac OS X, a użytkownicy znaleźli je tylko podczas łączenia się z innymi systemami; od lat 90. Apple coraz częściej przenosi się do świata bez widelców zasobów, ale wciąż odchyla się do tyłu, aby zachować zgodność. „Przechowywać metadane w przestrzeni danych użytkownika”? WTF? Jak bardzo musisz zdefiniować „metadane” i „przestrzeń danych użytkownika”, aby to powiedzieć? Musisz nienawidzić systemów plików!
hmijail
3
„Ukrywanie rzeczy przed użytkownikiem jest złe”. Człowieku, musisz także nienawidzić wszelkiego rodzaju interfejsów użytkownika, bibliotek i abstrakcji oraz ... cóż, wszelkiego rodzaju programowania i komputerów bardziej zaawansowanych niż liczydło.
hmijail
4
To nie odpowiada na pytanie. Po przeczytaniu tej odpowiedzi nadal nie mam pojęcia, jakie metadane znajdują się w folderze _MACOSX ani jakie są rozwidlenia zasobów. Myślę, że ludzie popierają to, tylko dlatego, że zgadzają się z rantem?
Atte Juvonen,
1
Chociaż zgadzam się, że emocjonalnie naładowany ton nie jest pomocny, absolutnie zgadzam się również, że tworzenie ukrytych rzeczy, które czasami są potrzebne, jest naprawdę złym pomysłem, dokładnie tak, jak stwierdzono w tej odpowiedzi: użytkownicy albo (a) nie wysyłają ukrytych plików, które są potrzebne lub (b) wysłać ukryte pliki, które odbiorca może zobaczyć i których nie rozumie. Pliki te powinny być widoczne lub dane powinny być osadzone w plikach w sposób oznaczony jako „możliwy do pominięcia” przez inne systemy operacyjne. Ukrytych plików i katalogów należy używać przede wszystkim w celu ochrony użytkowników, a nie trzymania ich w ciemności.
Mike Williamson,
16

Aby odpowiedzieć na ostatnie pytanie:

jak użytkownicy komputerów Mac mogą uniknąć tego błędu?

Użytkownicy systemu Mac OS X mogą zainstalować narzędzie do archiwizacji innych firm, takie jak Keka , a następnie powiedzieć mu, aby nie korzystał z Widelców zasobów, a następnie ustawić go jako domyślny kompresor.


Jak to zrobić za pomocą Keka

Powiedz Kece, aby nie używał Widelców Zasobów

  1. Otwórz Keka bez pliku (z Launchpada, Spotlight itp.)
  2. Naciśnij ⌘ Cmd+, ,aby otworzyć Preferencje
  3. Wybierz kartę Kompresja
    Wybrano kartę „Kompresja” Keka
  4. Zaznacz „Wyłącz widelce zasobów Maca (np .: .DS_Store)”
    Pole wyboru z napisem „Wyklucz forki zasobów Maca (np. .DS_Store)”

Ustaw Keka jako domyślną kompresor

  1. W tym samym oknie Preferencje Keka
  2. Wybierz kartę Ogólne
    Wybrano kartę „Ogólne” Keka
  3. Kliknij „Ustaw Keka jako domyślną kompresor / dekompresor” [sic]
    wprowadź opis zdjęcia tutaj
Ben Leggiero
źródło
1
Można to poprawić, dodając informacje o ostatnich 2 krokach: „Powiedz, aby nie korzystał z Widelców zasobów, a następnie ustaw go jako domyślny kompresor”.
Steven C. Howell,
@ stvn66 Gotowe! Ale tylko dla ciebie, to zwykle jest poza zakresem tych pytań, dlatego na początku nie.
Ben Leggiero
2
Przepraszamy, przepraszam. Nie przepadam za instalowaniem oprogramowania innych firm w celu rozwiązania problemu, który można naprawić za pomocą oprogramowania domyślnego. Jak wskazał powyżej Chris Johnson, zip -dusunie widelce zasobów z pliku zip. W rzeczywistości myślę, że jeśli użyjesz zip w pierwszej kolejności, widelce zasobów nie zostaną dodane w pierwszej kolejności.
Edward Falk
1
@EdwardFalk To uczciwe! Ta odpowiedź miała rozwiązać „Jak sprawić, by zawsze zachowywał się w ten sposób?” problem, a nie „Jak sprawić, żeby raz się tak zachowywał?” jeden.
Ben Leggiero,