Windows riconosce i collegamenti simbolici di Linux?


14

Mi stavo solo chiedendo come un sistema Windows gestisca i collegamenti simbolici. La mia ipotesi migliore è che non li riconoscerà, ma non sono del tutto sicuro.

Inoltre, cosa fanno i Mac di fronte a uno?


1
Come pensi di esporre Windows a un link simbolico? Non comprende i filesystem che li supportano (tranne NTFS, che ha qualcosa di non completamente diverso dai collegamenti simbolici che è per lo più nascosto dall'interfaccia utente).
Gilles 'SO- smetti di essere malvagio' il

Oh .. quindi cosa succede se hai montato la tua partizione di Windows e cerchi di inserire un link simbolico in essa? Funziona come se fosse una cartella? (Se è così, mi chiedo cosa succede con RECURSION ...)
JamesTheAwesomeDude

potete per favore aiutarmi su questo: stackoverflow.com/questions/21403772/…
Pippo

Risposte:


10

Dipende dalla versione di Windows e dalla configurazione del lato server quando parliamo di dischi non locali.

Da Windows Vista, Windows ha un'idea dei collegamenti simbolici, ma la semantica differisce. Ma il problema più importante qui dovrebbe essere i nomi dei percorsi, che seguono una sintassi diversa. Per cominciare: albero di directory a radice singola sul lato unixoid e diverse lettere di unità come root sul lato Windows.

Sul lato unixoid i symlink sono semplicemente file di testo con un flag speciale. Sul lato Windows, il meccanismo sottostante è chiamato punto di analisi. Questo dice al gestore oggetti di passarlo a particolari filtri registrati (la meta-data per questo è memorizzata nei punti di analisi). Windows 2000 ha già introdotto un tipo di punti di analisi noti come punti di giunzione (approssimativamente, ma non del tutto, collegamenti simbolici di directory). Con Vista hanno introdotto collegamenti simbolici a file e directory, anche su unità remote. E i collegamenti simbolici su unità remote sono anche supportati in una certa misura.

Il punto principale è se il driver del file system, se eseguito localmente, farebbe qualsiasi aggiustamento ai percorsi che Windows vede. In tal caso, funzionerebbe per determinati collegamenti simbolici locali / relativi. Per percorsi assoluti come obiettivi, le cose diventeranno difficili e impossibili da dedurre cosa si intende. Lo stesso vale per i collegamenti remoti symlink (a "condivisioni di rete").

Per quanto riguarda il lato Mac, non ne ho idea e potrebbe avere senso come una domanda separata. Ma finché il lato server trasmette l'informazione che si tratta di un collegamento simbolico, non vedo problemi, dal momento che entrambi seguono la semantica SUS (a differenza di Windows).


Considera i punti di montaggio laterali di Linux:

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

E ora considera un link simbolico che /home/paul/fstabpunta a /etc/fstab. Si trovano su due diversi volumi che Windows - se in grado di vederli attraverso un driver del file system (che funziona!) - non può dire di appartenere al modo in /etc/fstabcui lo descrive. Quindi il collegamento, che Windows vedrebbe sotto una cartella \paul\fstab, anche se tradotto, indicherebbe \etc\fstab, che non esiste /dev/sda2. E se quel link simbolico indicasse il percorso relativo le ../../etc/fstabcose non cambierebbero affatto.


L'essenza: quindi mentre è concepibile che tu possa farlo funzionare per alcuni casi angolari, il fatto che la semantica e la sintassi differiscano su entrambi i lati della recinzione rende improbabile che troverai un metodo pratico e generico che funzioni.


2
Caspita, questa è stata una risposta molto dettagliata e completa! Grazie per aver fornito tutte queste informazioni! In realtà non avevo idea che i collegamenti simbolici di Linux fossero basati su testo. Grazie ancora per tutte le informazioni utili qui.
JamesTheAwesomeDude

potete per favore aiutarmi su questo: stackoverflow.com/questions/21403772/…
Pippo

Penso di aver fatto un collegamento simbolico su XP, sei sicuro che Vista sia stato il primo?
ctrl-alt-delor

ntfssupporta i punti di mount (se non ti piacciono tutte quelle lettere).
ctrl-alt-delor

@richard: in effetti i punti di montaggio del volume sono il termine tecnico per ciò che vedi come lettere di unità nel sottosistema Win32. Tuttavia, hai ragione nel senso che un punto di montaggio del volume può anche essere impostato su una cartella esistente (che è molto simile ai punti di giunzione). La caratteristica tecnica utilizzata per implementare punti di montaggio del volume, punti di giunzione e collegamenti simbolici è chiamata punti di analisi . E sì, Vista è stata la prima ad avere il supporto per link simbolici. Su XP avresti potuto farlo solo in un altro sottosistema (ad esempio POSIX) che, tuttavia, ha una semantica diversa, come sopra.
0xC0000022L

2

La risposta di 0xC0000022L è completa per il lato Windows delle cose. Il Mac è in grado di riconoscere i symlink di Linux; tuttavia Linux non è in grado di riconoscere gli alias creati nel Finder del Mac (i collegamenti simbolici creati usando ln -s funzionano correttamente).


sembra che gli alias siano la controparte OSX delle scorciatoie su Windows ( .lnkfile).
0xC0000022L
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.