GUIs tratam /tmp como um arquivo

GUIs tratam /tmp como um arquivo

Um amigo estava tendo problemas cppara copiar uma imagem de disco (um pacote esparso para ser mais preciso). Eu descobri que a linha que ele estava usando copiava todo o /contents/ (sparsebundles são pacotes, ou seja, diretórios tratados como arquivos em GUIs) para o novo diretório em vez de copiar o sparsebundle em si.

Mais tarde, criei um pacote esparso em meu computador para experimentar cpe reproduzir o comportamento que ele obteve. Posteriormente, o Finder e o Dock começaram a ser tratados /tmpcomo um arquivo. Clicar na entrada que eu fiz na barra lateral abriria uma janela do Terminal /tmp ; exit;(que falharia, é claro, porque /tmpé um diretório). Eu ainda poderia usar o Stack normalmente, exceto pela Open in Finderopção na parte inferior, que tentaria executá-lo.

Curiosamente, ainda consegui abrir /tmpno Finder abrindo um subdiretório e usando o Go > Enclosing Foldercomando ( command+ up arrow). Também consegui acessá-lo normalmente através da linha de comando.

Tentei remover e recriar a entrada da barra lateral e a pilha, mas tudo o que aconteceu foi fazer com que o Dock o mostrasse como um arquivo e tentasse executá-lo imediatamente quando cliquei nele. Então tentei reiniciar para limpar; parecia ter sido resolvido normalmente, mas isso não afetou o problema.

Alguém pode lançar alguma luz sobre esse assunto?


ATUALIZAR:Pensei em tentar ls -l, que tinha um @ no final do campo de permissões. Descobri que ele tinha um com.apple.FinderInfoatributo estendido, embora minhas tentativas de lê-lo só me dessem o seguinte:

00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Excluir o atributo estendido ( xattr -d com.apple.FinderInfo /tmpcomo eu, sem privilégios elevados) parece ter corrigido isso, embora pelo que posso dizer em minha rápida pesquisa sobre ele, possa ter outras consequências negativas (e não tenho certeza se houve um com.apple.FinderInfoatributo lá antes...). Ainda gostaria de uma resposta sobre o que pode ter acontecido e por que tive esse comportamento.

Responder1

O "20" no xattr do FinderInfo indica que o bit do pacote está definido. O bit do pacote diz ao Finder para exibir a pasta como um arquivo, em vez de uma pasta. Suspeito que esse atributo foi copiado do sparsebundle (que na verdade é uma pasta, mas o Finder é exibido como um arquivo simples). Então, o que você está vendo é um comportamento mais ou menos esperado com esse sinalizador definido.

informação relacionada