Czy system Windows rozpoznaje dowiązania symboliczne Linuksa?

14

Zastanawiałem się, jak system Windows obsługuje dowiązania symboliczne. Domyślam się, że ich nie rozpozna, ale nie jestem do końca pewien.

Co też robią komputery Mac, gdy są konfrontowane?

JamesTheAwesomeDude
źródło
1
Jak planujesz wystawić system Windows na połączenie symboliczne? Nie rozumie systemów plików, które je obsługują (z wyjątkiem NTFS, który ma coś zupełnie innego niż dowiązania symboliczne, które są w większości ukryte przed interfejsem użytkownika).
Gilles „SO- przestań być zły”
Aha ... co się stanie, jeśli zamontujesz partycję Windows i spróbujesz umieścić w niej dowiązanie symboliczne? Czy to działa tak, jakby był folderem? (Jeśli tak, zastanawiam się, co się stanie z RECURSION ...)
JamesTheAwesomeDude
czy możesz mi pomóc w tej sprawie: stackoverflow.com/questions/21403772/…
Goofy

Odpowiedzi:

10

Zależy od wersji systemu Windows i konfiguracji po stronie serwera, gdy mówimy o dyskach nielokalnych.

Od Windows Vista system Windows ma ideę dowiązań symbolicznych, ale semantyka jest inna. Ale ważniejszym problemem tutaj powinny być nazwy ścieżek, które mają inną składnię. Na początek: jedno-zrootowane drzewo katalogów po stronie unixoidu i kilka liter dysku jako root po stronie Windows.

Po stronie unixoidu dowiązania symboliczne to tylko pliki tekstowe ze specjalną flagą. Po stronie systemu Windows podstawowy mechanizm nazywany jest punktem ponownej analizy. Mówi to menedżerowi obiektu, aby przekazał go do konkretnych zarejestrowanych filtrów (meta-data dla tego jest przechowywana w punktach ponownej analizy). W systemie Windows 2000 wprowadzono już jeden typ punktów ponownej analizy zwanych punktami połączenia (w przybliżeniu, ale nie całkiem, dowiązania symboliczne katalogu). W systemie Vista wprowadzono dowiązania symboliczne do plików i katalogów, także na dyskach zdalnych. W pewnym stopniu obsługiwane są również dowiązania symboliczne na dyskach zdalnych.

Chodzi przede wszystkim o to, czy sterownik systemu plików - gdy jest uruchamiany lokalnie - wprowadzałby zmiany w ścieżkach, które Windows widzi. W takim przypadku działałoby to w przypadku niektórych lokalnych / względnych dowiązań symbolicznych. W przypadku ścieżek bezwzględnych jako celów trudno będzie wydedukować, co to znaczy. To samo dotyczy zdalnych łączy dowiązań symbolicznych (do „udziałów sieciowych”).

Jeśli chodzi o stronę Mac, nie mam pojęcia i może to mieć sens jako osobne pytanie. Ale dopóki strona serwera przekazuje informację, że jest to dowiązanie symboliczne, nie widzę problemów, ponieważ oba postępują zgodnie z semantyką SUS (w przeciwieństwie do systemu Windows).


Rozważ punkty montowania bocznego systemu Linux:

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

A teraz zastanów się nad dowiązaniem symbolicznym /home/paul/fstabwskazującym na /etc/fstab. Znajdują się one na dwóch różnych woluminach, których system Windows - jeśli jest w stanie zobaczyć je za pośrednictwem sterownika systemu plików (który działa!) - nie może powiedzieć, że należą do siebie w sposób /etc/fstabopisany. Tak więc link, który Windows zobaczyłby pod folderem \paul\fstab, nawet jeśli byłby przetłumaczony, wskazywałby na to \etc\fstab, co nie istnieje /dev/sda2. A jeśli to dowiązanie symboliczne wskazywałoby na względną ścieżkę ../../etc/fstab, nic by się nie zmieniło.


Istota: Tak więc, chociaż można sobie wyobrazić, że można to uruchomić w niektórych przypadkach narożnych, fakt, że semantyka i składnia różnią się po obu stronach ogrodzenia, uniemożliwia znalezienie praktycznej i ogólnej metody, która działa.

0xC0000022L
źródło
2
Wow, to była bardzo szczegółowa, dokładna odpowiedź! Dziękujemy za przekazanie wszystkich tych informacji! Nie miałem pojęcia, że ​​dowiązania symboliczne Linuksa są oparte na tekście. Jeszcze raz dziękuję za wszystkie przydatne informacje tutaj.
JamesTheAwesomeDude
czy możesz mi pomóc w tej sprawie: stackoverflow.com/questions/21403772/…
Goofy
Myślę, że zrobiłem sym-link na XP, czy jesteś pewien, że vista był pierwszy?
ctrl-alt-delor
ntfsobsługuje punkty montowania (jeśli nie lubisz wszystkich tych liter).
ctrl-alt-delor
@richard: w rzeczywistości punkty montowania woluminów technicznym terminem określającym litery dysków w podsystemie Win32. Masz jednak rację, że punkt montowania woluminu można również ustawić w istniejącym folderze (który jest bardzo podobny do punktów połączenia). Funkcja techniczna używana do implementacji punktów montowania woluminów, punktów połączeń i dowiązań symbolicznych nazywa się punktami ponownej analizy . I tak, Vista była pierwszą, która miała obsługę łącza symbolicznego. Na XP mógłbyś to zrobić tylko w innym podsystemie (np. POSIX), który jednak ma inną semantykę, jak wyżej.
0xC0000022L
2

Odpowiedź 0xC0000022L jest dokładna po stronie systemu Windows. Mac rozpoznaje dowiązania symboliczne Linuksa; jednak Linux nie rozpoznaje aliasów utworzonych w Finderze Maca (dowiązania symboliczne utworzone za pomocą ln -s działają dobrze).

kto wie
źródło
Wygląda na to, że aliasy są odpowiednikiem OSX do skrótów w systemie Windows ( .lnkpliki).
0xC0000022L