Symlink, czyli Mklink w Windows Server 2008

System Windows Server 2008 Core budzi wiele kontrowersji, ale i zainteresowania wśród administratorów różnych typów systemów operacyjnych. Z racji tego, że z serwerem Core mam przyjemność pracować już trochę czasu, zastanawiałam się jak ułatwić sobie pracę i jakie mechanizmy mi w tym pomogą. Narzędziem, bez którego nie wyobrażam sobie administracji serwerem Core jest mklink, umożliwiające tworzenie dowiązań symbolicznych (symlink) do obiektów w systemie plików NTFS.

Narzędzie to jest znane użytkownikom Windows Vista i Windows Server 2008, tak naprawdę jednak jego zalety odkrywa się przy pracy z konsolą. Niestety, administratorzy Unix nadal ze swoim zestawem narzędzi wiodą prym, nie zmienia to jednak faktu, że jest to duży krok naprzód rozwiązujący niektóre problemy w pracy z konsolą, przynajmniej dla mnie.

Narzędzie mklink jest również poleceniem systemowym, wystarczy wpisać jego nazwę w konsoli i otrzymuje się listę dostępnych parametrów:

clip_image001
Rysunek 1. Parametry polecenia mklink.

Znaczenie poszczególnych opcji:

– link – alias dla tworzonego dowiązania
– target – miejsce docelowe, do którego ma zostać utworzone dowiązanie
– mklink link target – polecenie bez parametrów tworzy dowiązanie miękkie (soft link) do pliku
– /D – tworzy dowiązanie symboliczne lub miękkie. Działa podobnie do skrótów do folderów.
– /H – tworzy dowiązanie twarde (hard link) wskazujące bezpośrednio na plik. Opcja ta nie może być bezpośrednio wykorzystana do folderów, należy wykorzystać do tego opcję /J.
– /J – tworzy punkt połączenia do folderu (Directory Junction). Spełnia funkcję dowiązania twardego do folderu, funkcją punktów połączenia jest proste przekierowanie do wybranego miejsca.

Różnica pomiędzy dowiązaniami twardymi (hard links) a miękkimi (soft links)

Dowiązanie twarde – wskazuje bezpośrednio na plik, względem systemu operacyjnego samo jest plikiem. Chcąc oszukać folder, w którym znajduje się oryginalny plik, jest to idealna do tego celu opcja. Nadaje etykietę dla dowiązania w postaci pliku widocznego przez system operacyjny.

Dowiązanie miękkie – jest skrótem do pliku lub folderu, dwukrotne kliknięcie w dowiązanie miękkie powoduje automatyczne przekierowanie do folderu docelowego. Nadaje etykietę dla dowiązania w postaci skrótu wskazującego na folder lub plik.

Przykłady użycia mklink w systemie Windows Server 2008 Core:

1. mklink /J DoTestowego C:\Users\Paula\Testowy – utworzenie punktu połączenia o nazwie DoTestowego wskazującego na wcześniej utworzony folder C:\Users\Paula\Testowy

clip_image002
Rysunek 2. Utworzenie punktu połączenia.

W punkcie połączenia DoTestowego wcześniej utworzony plik „plik.txt” w folderze Tesotwy, również jest widoczny.

2. mklink Notatnik.exe C:\Windows\System32\notepad.exe – utworzenie symbolicznego dowiązania miękkiego do pliku notepad.exe. Od tej pory wpisując Notatnik.exe w systemie będzie otwierał się Notatnik.

clip_image003
Rysunek 3. Utworzenie symbolicznego dowiązania miękkiego.

3. mklink /H DoTestowegoHard C:\Users\Paula\Testowy – próba utworzenia dowiązania twardego do folderu. Aby polecenie zadziałało należy dodatkowo skorzystać z opcji /J. W efekcie powstaje punkt połączenia.

clip_image004
Rysunek 4. Utworzenie punktu połączenia.

4. mklink /D DoTestowegoSoft C:\Users\Paula\Testowy – utworzenie symbolicznego dowiązania do folderu Testowy.

clip_image005
Rysunek 5. Utworzenie symbolicznego dowiązania miękkiego.

5. mklink /D /J DoTestowegoSoftJuction C:\Paula\Testowy – utworzenie punktu połączenia do folderu Testowy.

clip_image006
Rysunek 6. Utworzenie punktu połączenia.

6. mklink /H hardTest.exe C:\test.exe – utworzenie dowiązania twardego do wczesniej utworzonego pliku test.exe. Plik hardTest.exe jest rozpoznawalny przez system operacyjny jako plik.

clip_image007
Rysunek 7. Utworzenie symbolicznego dowiązania twardego.

7. Na poniższym zrzucie znajdują się wyniki działania powyższych poleceń:

clip_image008
Rysunek 8. Wynik wykorzystania narzędzia mklink.

Usuwanie dowiązań symbolicznych wykonuje się przy wykorzystaniu poleceń:
– del – dla dowiązań dla plików
– rd – dla dowiązań dla folderów

Usunięcie pliku nie powoduje usunięcia dowiązań twardych, miękkich oraz punktów połączenia.

Podsumowanie

W systemach typu Unix i Linux symlink jest wykorzystywany już od dłuższego czasu. W systemach Windows Server 2008 i Windows Vista, oprócz poprzednich narzędzi tj. linkd, czy junction, narzędzie mklink umożliwia tworzenie dowiązań symbolicznych wykorzystując przy tym możliwości systemu plików NTFS. Uprawnienia do tworzenia dowiązań mają tylko członkowie grupy administratorów, chyba, ze polityka wskazuje inaczej (secpol.msc). Punkty połączenia znane z poprzednich systemów mogły być tworzone jedynie dla folderów i wolumenów, symlinki dodatkowo można tworzyć dla plików, czy UNC. Korzyści z używania mklink są oczywiste, narzędzie to jest pomocne, w sytuacji, gdy mamy rozproszoną strukturę katalogową i chcemy mieć możliwość zarządzania nią z jednego miejsca, lub w sytuacji, gdy ścieżka do często wykorzystywanego pliku/folderu jest zbyt skomplikowana, aby wpisywać ją za każdym razem, kiedy istnieje potrzeba dostania się w wybrane miejsce. Punkty dowiązania są wykorzystywane w systemach Windows Server 2008 i Windows Vista jedynie w celu zapewnienia kompatybilności ze starszymi wersjami systemów operacyjnych dla profili użytkownika (np. Documents and Settings), aby wskazywały na nowe foldery systemowe w katalogu Users.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *