GUIs tratam / tmp como um arquivo

2

Um amigo estava com problemas para usar cp para copiar uma imagem de disco (um sparsebundle para ser preciso). Descobri que a linha que ele estava usando copiou todos os / contents / (sparsebundles são pacotes, ou seja, diretórios tratados como arquivos em GUIs) para o novo diretório, em vez de copiar o próprio sparsebundle.

Mais tarde, criei um sparsebundle no meu computador para experimentar com cp e reproduzi o comportamento que ele obteve. Posteriormente, o Finder e o Dock começaram a tratar /tmp como um arquivo. Clicar na entrada que eu fiz para ele na barra lateral abriria uma janela do Terminal com /tmp ; exit; (o que falharia, é claro, porque /tmp é um diretório). Eu ainda poderia usar o Stack como normal, exceto pela opção Open in Finder na parte inferior, que tentaria executá-lo.

Curiosamente, eu ainda posso abrir /tmp no Finder abrindo um subdiretório e usando o comando Go > Enclosing Folder ( comando + seta para cima ). Eu também consegui acessá-lo normalmente através da linha de comando.

Eu tentei remover e recriar a entrada da barra lateral e o Stack, mas tudo o que aconteceu foi fazer com que o Dock mostrasse como um arquivo e tentasse executá-lo imediatamente quando eu clicasse nele. Eu então tentei reiniciar para apagá-lo; parece que foi liberado normalmente, mas isso não afetou o problema.

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

ATUALIZAÇÃO: Eu pensei em experimentar ls -l , que tinha um @ no final do campo de permissões. Descobri que tinha um atributo com.apple.FinderInfo extended, embora minhas tentativas de lê-lo só tenham me dado isso:

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 /tmp , como eu mesmo, sem privilégios elevados) parece ter corrigido isso, embora pelo que eu possa dizer da minha rápida pesquisa sobre ele, possa ter outras consequências negativas (e estou não tenho certeza se havia um atributo com.apple.FinderInfo antes ...). Eu ainda gostaria de uma resposta sobre o que poderia ter acontecido e porque eu tenho esse comportamento.

    
por Blacklight Shining 14.08.2012 / 17:29

1 resposta

2

O "20" no xattr FinderInfo indica que o bit do pacote está definido. O bit do pacote informa ao Finder para exibir a pasta como um arquivo, em vez de uma pasta. Eu suspeito que esse atributo foi copiado do sparsebundle (que é realmente 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.

    
por 14.08.2012 / 18:42

Tags