O Windows reconhece os links simbólicos do Linux?

14

Eu estava pensando como um sistema Windows lida com links simbólicos. Meu melhor palpite é que não os reconhecerá, mas não tenho certeza.

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

JamesTheAwesomeDude
fonte
1
Como você planeja expor o Windows a um link simbólico? Ele não entende os sistemas de arquivos que os suportam (exceto o NTFS, que possui algo que não é totalmente diferente dos links simbólicos que estão ocultos na interface do usuário).
Gilles 'SO- stop be evil'
Ah .. então o que acontece se você montou sua partição do Windows e tenta colocar um link simbólico nela? Funciona como se fosse uma pasta? (Se assim for, gostaria de saber o que acontece com RECURSÃO ...)
JamesTheAwesomeDude
você pode me ajudar com isso: stackoverflow.com/questions/21403772/…
Pateta

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 o nome dos caminhos, que seguem uma sintaxe diferente. Para iniciantes: árvore de diretórios de raiz única no lado unixóide e várias letras de unidade como raízes no lado do Windows.

No lado unixóide, os links simbólicos são meramente arquivos de texto com uma bandeira especial. No lado do Windows, o mecanismo subjacente é chamado de ponto de nova análise. Isso instrui o gerenciador de objetos a passá-lo para 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 exatamente, 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 links simbólicos em unidades remotas também são suportados até certo ponto.

O ponto principal é se o driver do sistema de arquivos - quando executado localmente - faria ajustes nos caminhos que o Windows vê. 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 significado. 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 pergunta separada. Mas desde que o lado do servidor transmita as informações de que é um link simbólico, não vejo problemas, pois os dois 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/fstabapontando para /etc/fstab. Eles estão localizados em dois volumes diferentes que o Windows - se é possível visualizá-los por meio de um driver de sistema de arquivos (que funciona!) - não pode dizer que pertencem um ao outro da maneira como o /etc/fstabdescreve. Portanto, o link que o Windows veria em uma pasta \paul\fstab, mesmo se traduzido, apontaria para o \etc\fstabque não existe /dev/sda2. E se esse link simbólico apontasse para o caminho relativo, as ../../etc/fstabcoisas não mudariam.


A essência: Portanto, embora seja concebível que você possa fazer isso funcionar em alguns casos de canto, o fato de que a semântica e a sintaxe diferem em ambos os lados da cerca torna improvável que você encontre um método prático e genérico que funcione.

0xC0000022L
fonte
2
Uau, essa foi uma resposta muito detalhada e completa! Obrigado por fornecer todas essas informações! Na verdade, eu não tinha ideia de que os links simbólicos do Linux eram baseados em texto. Obrigado novamente por todas as informações úteis aqui.
JamesTheAwesomeDude 31/01
você pode por favor me ajudar com isso: stackoverflow.com/questions/21403772/…
Pateta
Acho que fiz um link sym no XP, você tem certeza de que o Vista foi o primeiro?
Ctrl-alt-delor 01/03
ntfssuporta pontos de montagem (se você não gostar de todas essas letras).
CTRL-ALT-DELOR # 1/15
@richard: de fato, os pontos de montagem de volume são o termo técnico para o que você vê como letras de unidade no subsistema Win32. No entanto, você está certo no sentido de que um ponto de montagem de volume também pode ser definido em uma pasta existente (que é muito semelhante aos pontos de junção). O recurso técnico usado para implementar pontos de montagem de volume, pontos de junção e links simbólicos é chamado de pontos de nova análise . E sim, o Vista foi o primeiro a ter suporte a links simbólicos. No XP, você poderia ter feito isso apenas em outro subsistema (por exemplo, POSIX) que, no entanto, possui semânticas diferentes, como as anteriores.
0xC0000022L
2

A resposta de 0xC0000022L é completa para o lado 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).

quem sabe
fonte
soa como aliases são a contrapartida do OSX para atalhos no Windows ( .lnkarquivos).
0xC0000022L