O Windows reconhece os links simbólicos do Linux?

11

Eu estava imaginando como um sistema Windows lida com links simbólicos. Meu melhor palpite é que não irá reconhecê-los, mas não tenho certeza absoluta.

Além disso, o que os Macs fazem quando confrontados por um?

    
por JamesTheAwesomeDude 31.01.2013 / 01:29

2 respostas

10

Depende da versão do Windows e da configuração do lado do servidor quando falamos de discos não locais.

Desde o Windows Vista, o Windows tem uma idéia de links simbólicos, mas a semântica é diferente. Mas o problema mais importante aqui deve ser os nomes dos caminhos, que seguem uma sintaxe diferente. Para começar: árvore de diretórios de raiz única no lado do unixóide e várias letras de unidade como raízes no lado do Windows.

No lado unixoid, links simbólicos são apenas arquivos de texto com um sinalizador especial. No lado do Windows, o mecanismo subjacente é chamado de ponto de nova análise. Isso diz ao gerenciador de objetos para passá-lo a determinados filtros registrados (a meta-data para isso é armazenada nos pontos de nova análise). O Windows 2000 já introduziu um tipo de pontos de nova análise conhecidos como pontos de junção (aproximadamente, mas não completamente, links simbólicos de diretório). Com o Vista, eles introduziram links simbólicos para arquivos e diretórios, também em unidades remotas. E os links simbólicos em também são suportados até certo ponto.

O ponto principal é se o driver do sistema de arquivos - quando executado localmente - faria qualquer ajuste nos caminhos que o Windows consegue ver. Nesse caso, funcionaria para certos links simbólicos locais / relativos. Para caminhos absolutos como alvos, as coisas ficarão difíceis e impossíveis de deduzir o que significa. O mesmo para links de links simbólicos remotos (para "compartilhamentos de rede").

Quanto ao lado do Mac, não faço ideia e isso pode fazer sentido como uma questão à parte. Mas, desde que o lado do servidor transmita a informação de que este é um link simbólico, não vejo problemas, uma vez que ambos seguem a semântica do SUS (ao contrário do Windows).

Considere os pontos de montagem do lado do Linux:

/dev/sda1 /
/dev/sda2 /home
/dev/sda3 /var

E agora considere um link simbólico /home/paul/fstab apontando para /etc/fstab . Eles estão localizados em dois volumes diferentes, que o Windows - se for capaz de vê-los através de um driver do sistema de arquivos (que funciona!) - não pode informar o pertencimento do caminho que o /etc/fstab descreve. Assim, o link, que o Windows veria em uma pasta \paul\fstab , mesmo se traduzido, apontaria para \etc\fstab , que não existe em /dev/sda2 . E se esse link simbólico apontasse para o caminho relativo ../../etc/fstab as coisas não mudariam nada.

O gist: Então, embora seja possível que isso funcione para alguns casos de canto, o fato de a semântica e a sintaxe diferirem nos dois lados da cerca dificulta a descoberta um método prático e genérico que funciona.

    
por 31.01.2013 / 01:59
2
A resposta de

0xC0000022L é completa para o lado das coisas do Windows. O Mac pode reconhecer os links simbólicos do Linux; no entanto, o Linux não pode reconhecer aliases feitos no Finder do Mac (links simbólicos criados usando ln -s funcionam bem).

    
por 30.07.2015 / 02:01