qual versão do xattr no OSX 10.5 não seguirá links simbólicos?

3

Eu preciso editar os atributos estendidos dos diretórios que são links simbólicos.

O xattr que vem no OSX 10.5 infelizmente grava no destino do link em vez do próprio link.

Eu descobri uma versão diferente que suporta uma opção "-s" para suprimir os seguintes links simbólicos. Eu verifiquei para fora do repositório, mas não há nenhum arquivo de instalação que eu possa fazer e eu acho que preciso de um: link

Então eu encontrei outra versão e também fiz check-out, e finalmente consegui instalá-la depois de instalar o Xcode:

http://svn.red-bean.com/bob/xattr/releases/xattr-0.6.1/

No entanto, quando eu executo esta versão, não pareço ter a opção mágica "-s" para suprimir os seguintes links simbólicos. Na verdade, esta versão não parecia ter outras opções que o xattr original tinha.

Alguém tem uma versão do xattr rodando no OSX 10.5 que suportará não seguir links simbólicos, ou qualquer outro aplicativo que me permita escrever atributos estendidos e não seguir links simbólicos?

    
por timoto 06.05.2011 / 03:03

1 resposta

1

A variação no link 1 tem a opção -P que suprime o comportamento habitual de seguir links simbólicos (ou seja, passa a opção XATTR_NOFOLLOW para listxattr (2) , etc.). A documentação incluída indica que esse modo "operar no symlink, não no destino" é o padrão (costumava usar como padrão a operação no destino, mas o código era atualizado recentemente para corresponder à documentação).

As opções e os modos de operação são diferentes do habitual xattr (1) , então você provavelmente terá que adaptar qualquer script que já tenha implementado.

Como você disse que já instalou as Ferramentas de Desenvolvedor (ou seja, o Xcode), um simples make deve criar o programa. Eu o compilei e testei levemente em uma máquina rodando o Mac OS X 10.6.7 (eu também o usei anteriormente em uma máquina 10.4, então ele deve funcionar bem em 10.5).

Nota sobre “diretórios que são links simbólicos”: Uma entrada de diretório pode ser um diretório ou um link simbólico (ou um arquivo simples, etc.), mas não ambos. Não é preciso dizer “um diretório que seja um link simbólico” ou “um link simbólico que seja um diretório”. Corretamente, é apenas "um link simbólico que, em última instância, aponta para um diretório".

1 Você pode usar o botão Downloads no lado direito da página do GitHub para fazer o download de um .tar.gz ou .zip se você não tiver o Git instalado.

2 “Ultimamente” porque os links simbólicos podem apontar para outros links simbólicos. Eles podem até apontar para um nome de caminho inexistente (criando um link simbólico "pendente").

    
por 06.05.2011 / 05:59