Questão O que é a pasta __MACOSX?


O que são essas pastas __MACOSX que continuo vendo em arquivos zip feitos por pessoas no OSX? Alguns levam até 30% do arquivo.

Que programa está produzindo a pasta __MACOSX e como os usuários do mac podem evitar esse erro?


133


origem


Eles são super-irritantes, sim, e geralmente inúteis porque os recursos dos garfos são tão vazios. Mas pelo menos eles são inofensivos, ao contrário da abordagem não padronizada que a Apple adotou para tamanhos de arquivo de mais de 4 GB com o material interno do OS X, que confundirá qualquer outra ferramenta e quebrará novamente para arquivos suficientemente grandes. E, ei, poderia ser pior, poderia estar armazenando duas cópias de cada arquivo com o mesmo nome, uma para os dados e outra para a bifurcação de recursos, muitas vezes impossibilitando o acesso, como o Mac anterior ao OSX. Oh Apple, por que você odeia formatos de arquivo padrão? - bobince
@bobince: na verdade, garfos de recursos eram uma boa ideia ... na época. Atualmente, o mesmo efeito é obtido armazenando recursos como arquivos individuais, a maioria dos quais se parece muito com formatos de arquivo padrão.
Nada de errado com metadados como tal, é apenas que a Apple tem tal habilidade de criar seus próprios formatos e bagunçar formatos existentes com extensões gratuitas e incompatíveis! Ter os dados do tipo de conteúdo como metadados é, em si, uma grande coisa e me entristece que o OS X esteja se movendo em direção ao hack do Windows de extensões de arquivos como uma alternativa. Embora isso não seja tão ruim quanto no Linux, onde o sistema de arquivos suporta o armazenamento de metadados Content-Type, mas nenhum desktop o utiliza, preferindo uma mistura completamente quebrada de file-extension / name-patterns e content-sniffing (urgh!). Suspiro, sistemas operacionais eh? - bobince
@bobince: Mas sim, pelo menos o formato que eles criaram esta não causa nenhum dano real, além de listagens de diretórios um pouco confusas e desperdiça essencialmente 1 inode e 1 bloco por bifurcação de recurso vazio extraído, a menos que você use algo como NTFS (que armazenará o conteúdo do arquivo na MFT para arquivos pequenos), Nesse caso, apenas desperdiça o "inode" (entrada da MFT). - SamB
Pode ser corrigido após o fato por zip -d filename.zip __MACOSX/\* - Chris Johnson


Respostas:


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

A Apple oferece recursos incorporados para arquivos ZIP no OS X 10.3 e superior, e esses arquivos são o resultado do armazenamento seguro da forma física do Resource Forks. Você nunca veria esses arquivos executando o OS X 10.3 ou superior, mas como o Windows e outros sistemas operacionais não entendem essa forma especial de Resource Forks, eles aparecerão como você os vê.


53



Não são apenas garfos de recursos, qualquer coisa além do conteúdo básico do arquivo é colocada no arquivo AppleDouble. A Apple está se afastando de garfos de recursos, mas em direção a coisas como atributos estendidos que também serão armazenados no contêiner AppleDouble. - Gordon Davisson
Você faz parecer que é um recurso. Os arquivos .zip estão faltando intencionalmente no departamento de metadados. Se você quiser metadados, use um formato diferente, não um Mac. Exemplo de implementação adequada de zip + metadados: .jar - Zenexer
link morto, por favor conserte. - think123
"desde que o Windows e outros sistemas operacionais não entendem" - Ugh. Eu odeio esse tipo de terminologia - Joe Plante
Apenas descobri: se você está em um Mac, usando a linha de comando, unzip filename.zip irá descompactar o diretório __MACOSX /, o que você não quer, mas open filename.zip fará a coisa certa. - Edward Falk


Aqui está um link que explica muito bem. Acho que é um pouco tarde para ajudar Yada, mas para a posteridade.

Explicação do fork do recurso na Wikipedia

O resto é minha opinião:

@nickf: Nunca ver esses arquivos não é uma característica dessas versões do OS X, é um FLAW. As pessoas produzem dados, envolvem, armazenam em mídias diferentes e assim por diante. Eles precisam saber o que é necessário ou o que não é necessário. Escondendo isso os mantém no escuro.

A velha idéia ruim de esconder as coisas dos usuários: Um programador, preocupado com a conveniência de realizar seu próprio trabalho, abusa de algo no domínio do usuário final, para tornar mais fácil para si mesmo.

Nesse caso, ele armazenou metadados no espaço de dados do usuário, depois o ocultou do usuário. Ele perdeu a visão geral: o usuário não se dará conta dos detalhes ocultos. Quando ele empacota seus dados e os envia em algum lugar imprevisto pelo programador, peças perdidas não serão enviadas ou peças desconhecidas chegarão o usuário nem o destinatário podem explicar.

Ocultar coisas do usuário é ruim. Ele assume que o usuário é estúpido, quando mais precisamente é o programador ser estúpido, ou preguiçoso.

Para ser claro, esse mau hábito não está confinado ao MAC. Está em todo lugar. É uma consequência dos programadores se apaixonarem por seus próprios esquemas e fornecedores, priorizando seus próprios objetivos à frente das necessidades do usuário final.

Em resumo.

__MAC OS X:
estranhos excrementos de programadores cheirando emergindo debaixo do tapete onde foram varridos.

Programadores e fornecedores: Por favor, mantenha as coisas em aberto. Quando você os esconde, você fica estúpido e o usuário não é informado.


97



Essa resposta seria melhor se fosse apenas uma resposta. A reclamação estendida sobre programadores estúpidos e usuários preguiçosos diminui isso. - Kristopher Johnson
@pbernatchez Na verdade, se você parasse para aprender como as coisas se pareciam e como elas evoluíam, provavelmente você não deixaria aqui seus próprios excrementos arrogantes e arrogantes. Forquilhas de recursos foram um detalhe de implementação (muito legal!) Pré-Mac OS X e os usuários só os encontraram quando interagiam com outros sistemas; desde os anos 90, a Apple tem se mudado cada vez mais para um mundo sem garfos de recursos, mas ainda se inclinando para trás para manter a compatibilidade. "Armazenar metadados no espaço de dados do usuário"? WTF Quão distorcida você tem que definir "metadados" e "espaço de dados do usuário" para dizer isso? Você deve odiar os sistemas de arquivos! - hmijail
"Esconder as coisas do usuário é ruim". Cara, você também deve odiar todo tipo de interfaces de usuário, bibliotecas, abstrações e ... bem, qualquer tipo de programação e computadores mais avançados que um ábaco. - hmijail
Isso não responde à pergunta. Depois de ler esta resposta, ainda não faço ideia de quais metadados estão contidos na pasta _MACOSX ou em quais são os forks de recursos. Eu acho que as pessoas estão votando isso só porque concordam com o discurso? - Atte Juvonen
Aqui está outro link que eu acho que explica recursos muito bem: xahlee.info/UnixResource_dir/macosx.html - GDP2


Para responder sua pergunta final:

Como os usuários mac podem evitar esse erro?

Os usuários do Mac OS X podem instalar um utilitário de arquivamento de terceiros, como Keka, em seguida, diga para não usar o Resource Forks, em seguida, defina-o como o compressor padrão.


Como fazer isso com Keka

Diga a Keka para não usar o Resource Forks

  1. Keka aberto sem um arquivo (Do Launchpad, Spotlight, etc.)
  2. pressione ⌘ Cmd+, para Abra Preferências
  3. Selecione os Compressão aba
    Keka "Compression" tab, selected
  4. Verifica "Excluir garfos de recursos do Mac OS X (ex: .DS_Store)" 
    A checkbox reading "Exclude Mac OS X resource forks (ex: .DS_Store)"

Faça Keka o compressor padrão

  1. No mesmo Preferências Keka janela
  2. Selecione os Geral aba
    Keka "General" tab, selected
  3. Clique em "Definir Keka como compressor / descompactador padrão" [sic]
    enter image description here

12



Isso poderia ser melhorado adicionando algumas informações nos últimos 2 passos, "diga para não usar o Resource Forks, então configure-o como o compressor padrão". - Steven C. Howell
@ stvn66 Feito! Apenas FYI, no entanto, que geralmente está fora do escopo dessas perguntas, e é por isso que não o fiz no começo. - Ben Leggiero
Downvoting, desculpe. Não sou fã de instalar software de terceiros para corrigir um problema que pode ser corrigido com o software padrão. Como Chris Johnson apontou acima, zip -d irá remover as forquilhas de recursos de um arquivo zip. Na verdade, acho que se você usar o zip em primeiro lugar, os garfos de recursos não serão adicionados em primeiro lugar. - Edward Falk
@EdwardFalk Isso é justo! Esta resposta foi feita para resolver o problema: "Como faço para que ele sempre se comporte dessa maneira?" problema, não o "Como faço para que ele se comporte dessa maneira uma vez?" 1. - Ben Leggiero