Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Dowiązania symboliczne w Windows

Dowiązania twarde i miękkie - funkcja w systemach *nix (ln) istniejąca praktycznie od zawsze a traktowana po macoszemu w Windowsach. NTFS, archaiczno-prehistoryczny system plików, nie ma problemów z obsługą tej funkcji od czasów Windowsa 2000.
Wpis ten ma na celu przekazanie podstaw pracy z dowiązaniami, oraz przykład ich użycia w systemach z rodziny Windows.

Dowiązania - od mklink (CMD) po Powershell i GUI

Czasem nawet nie zdajemy sobie sprawy, że dowiązania są używane zaraz po zainstalowaniu świeżego systemu. Tu przykład z katalogu głównego (Windows 10):

Jeszcze więcej (JUNCTION) jest w katalogu dowomym użytkownika (C:\Users\%username%):

No ale może po kolei...

Skróty w Windows

W Windowsie na codzień korzysta się ze skrótów. Utwórzmy dwa foldery - najlepiej na innych dyskach, lub partycjach. W poniższym przykładzie będzie to C:\DOBREPROGRAMY, oraz G:\PLIKI: mkdir C:\DOBPREPROGRAMY mkdir G:\PLIKI

W katalogu G:\PLIKI należy umieścić dowolny plik, np. dokument tekstowy:

Teraz w C:\DOBREPROGRAMY\ tworzymy skrót (bez żadnej magii: przeciągamy prawym klawiszem myszy z opcją "Utwórz Skrót"):

Skrót (można go utworzyć zarówno dla pliku, jak i katalogu) jest informacją o lokalizacji pliku w systemie plików:

Zróbmy teraz to samo ze skrótem do katalogu:
W obu przypadkach wszystko działa po podwójnym kliknięciu w skrót: jesteśmy automagicznie przenoszeni na dysk G:\ do odpowiedniego katalogu, lub pliku. Jak jednak widać, nie można na tych skrótach wykonywać bezpośrednich akcji na dowiązanych obiektach: edycji dokumentu tekstowego, czy przechodzenia do katalogu.

Co jednak, gdybyśmy chcieli skorzystać z Linuksowej zasady działania "ln"?

Intepreter Windows (CMD) - mklink

Do obsługi dowiązań niezbędny jest system NTFS, system minimum Windows 2000 (tam jeszcze używało się programu JUNCTION, lub fsutil, ale od czasów MS Vista jest prościej) oraz uprawnienia administratora. Funkcja tworzenia to "mklink":
W wolnym tłumaczeniu:
  • /J : punkt 'połączenia' dwóch katalogów - JUNCTION,
  • /D : dowiązanie 'miękkie' katalogów,
  • /H :dowiązanie twarde.
  • Przykłady użycia... Z C:\DOBREPROGRAMY\ usuńmy wcześniej utworzone skróty (.lnk). Dla lepszego zrozumienia zagadnienia do katalogu G:\PLIKI\ można skopiować jakiś większy plik:

    Utwórzmy teraz dwa dowiązania: "Link1" jako dowiązanie symboliczne i "Link2":

    Na pierwszy rzut oka nie różnią się od standardowych skrótów. Spróbujmy jednak wyświetlić/kliknąć na zawartość tych katalogów:

    Jak widać, nie jesteśmy przenoszeni na dysk G: do katalogu PLIKI, ale zawartość tego katalogu jest "mapowana" do utworzonych dowiązań na dysku C: w katalogu PLIKI.
    Patrząc na właściwości dowiązań nie jest wskazywana wielkość samego dowiązania (4kB jak to miało miejsce w przypadku .lnk), ale rzeczywista wielkość katalogu na dysku G:\
    Jak łatwo się domyśleć - wygodna funkcja do "oszukania" programów, że rzeczywiste repozytorium plików znajduje się gdzie indziej. Dość podobnie wygląda sytuacja z tworzeniem dowiązań do plików:mklink "C:\DOBREPROGRAMY\plik_Link1" G:\PLIKI\dokument1.txt

    Tutaj wprawne okno powinno jednak dostrzec różnicę - link "miękki" zawiera dodatkową zakładkę "Shortcut":

    To właśnie główna różnica między dowiązaniem "miękkim" a twardym "JUNCTION" - ten drugi lepiej "udaje" rzeczywisty katalog umieszczony w C:\PLIKI\

    Mam w sieci domowej dysk sieciowy (NAS) z moim katalogiem domowym (\\NAS\BACHUS\). Utwórzmy na nim nowy katalog, oraz spróbujmy utworzyć dowiązanie miękkie "Link3"(przełącznik /D), oraz połączenie (JUNCTION) do katalogów "Link4" (przełącznik /J):

    Jak widać, można utworzyć tylko dowiązanie miękkie, ponieważ JUNCTION wymaga dysku lokalnego - połączenie sieciowe (SMB) nie jest w ten sposób obsługiwane.

    Powershell

    A Co z Powershellowcami? Microsoft miał dość spore opóźnienie w implementacji i dopiero w ostatniej (!) 5-tej wersji coś się ruszyło. Ja osobiście używam w Windowsie dowiązań często - może przez to, że przez lata zajmowałem się głównie systemami z rodziny *nix i po czasie przeszedłem na ciemną stronę mocy. Dla mnie to była jakaś parodia używanie dodatków w stylu "PowerShell Community Extensions" (PSCX) oferujące dodatkowe funkcje jak "New-SymLink", "New-HardLink", "New-Junction" i podobne. Najbardziej mnie jednak "bolało" odwoływanie się do powłoki Windows (cmd) poprzez brzydkie wywoływanie z PS:cmd /c mklink c:\ZRODLO\ D:\CELJak wyżej wspomniałem, firma z Redmond w nowej piątej wersji dodała odpowiednie funkcje. Na początku warto się upewnić, czy mamy taką w systemie: Get-Host
    Zacznijmy od dowiązanie "miękkiego" do katalogu: # # link miekki - odpowiednik mklink /D Link10 "G:\PLIKI" # New-Item -ItemType SymbolicLink -Name Link11 -Target G:\PLIKI

    Jak można się chyba domyśleć, JUNCTION utworzymy w podobny sposób: # # link twardy- odpowiednik mklink /J Link10 "G:\PLIKI" # New-Item -ItemType Junction -Name Link12 -Target G:\PLIKI

    Może jeszcze nasuwać się pytanie - w jaki sposób wyświetlić w Powershell typy plików i dowiązań? Tak jest! Microsoft i PS wspaniałomyślnie na to pozwala: Get-ChildItem | select Name,Mode,LinkType,Target | Format-Table

    Jeszcze się może zdarzyć, że ktoś ma awersję do linii poleceń - CMD, lub Powershell przeraża, albo po prostu nie lubisz wpisywać długich komend. Mówiąc szczerze, nie używam żadnych GUI do tego celu i nie mam z tym doświadczenia. Po chwili poszukiwań widzę, że są ciekawe rozwiązania. Pierwsze co wypluła wyszukiwarka Google to mała aplikacja Alejandro Mora "Symlinker". Używanie jej nie zwalnia jednak ze znania zasad rządących linkami twardymi i miękkimi:

    Całkiem rozsądnie wygląda też "Link Shell Extension":

    A jak usuwać dowiązania? Tak samo, jak zwykłe skróty (.lnk) i inne pliki - skasowanie ich nie skasuje katalogów, lub plików docelowych.

    Przykład zastosowania

    Może pojawić się pytanie, co dają dowiązania symboliczne i jaki mają sens, szczególnie przy NTFS i literach dysku a nie punktach montowania.
    Po pierwsze, może być wygodne w przypadku braku miejsca na np. partycji systemowej (najczęściej dysku C:\) a dany program (lub inny zasób systemu operacyjnego) nie pozwala na instalację, lub wygodną zmianę lokalizacji. Spotkałem się z wieloma programami, które po prostu chcą być na C:, chcą koniecznie tworzyć tam pliki ..koniec i kropka. Podobnie ma miejsce ze źle (lub specjalnie...) skonstruowanymi programami, które nie pozwalają na pewne operacje: np. DROPBOX, który w opcjach nie ma możliwości dodawania innych katalogów (poza głównym wskazanym przy instalacji).
    No ale może jakiś rzeczywisty przykład, do którego w sumie natchnął mnie ten wpis.

    Przeniesienie repozytorium aktualizacji na inną partycję

    W laptopie żony wylądowała 3 lata temu pierwsza w domu pamięć SSD o zawrotnej pojemności 60GB. Po czasie okazało się się, że jest jednak lekkim nieporozumieniem w przypadku Windowsa "kiszenie się" na takiej dostępnej pojemności - po zainstalowaniu podstawowych aplikacji, klienta pocztowego zaczyna wyjątkowo brakować miejsca. Do laptopa dodałem dodatkowy talerzowy dysk, przeniosłem tam gry, maile (Thunderbird), ale Windows pomimo czyszczenia zapycha się i tyle. Nie mam czasu i ochoty ślęczeć nad tym i odchudzać OS.
    Przyszło do aktualizacji Windows 7 do Windows 10, sam proces był awykonalny ze względu na dostępne 2-3GB miejsca. Procedura okazała się dość prosta, ale czasochłonna i wymagająca rozkręcania laptopa, oraz żonglowania dyskami i kieszeniami USB:

  • sklonowanie (kopia 1:1) SSD 60GB na tymczasowy dysk 240GB,
  • podmiana fizycznego dysku w laptopie,
  • aktualizacja do Window 10,
  • ponowne sklonowanie (240GB --> 60GB),
  • podmiana dysków.
  • Pomimo tego, że po całym procesie zrobiło się na dysku więcej miejsca, niż przy Windows 7, nadal było za mało GB na niektóre aktualizacje.

    Główny "cache" aktualizacji Windows trzyma w C:\Windows\SoftwareDistribution\. Przechowywane są tam pobrane, oraz tymczasowe pliki. Przenieśmy go na dysk G:\ - z pomocą przyjdą nam dowiązania symboliczne.
    Aby to zrobić, należy najpierw zatrzymać odpowiedzialny serwis: można to zrobić z linii komend, lub klikając w serwis prawym klawiszem (services.msc). Najprościej jak sprawdzić, czy proces jest uruchomiony, oraz jak zatrzymać serwis: sc query wuauserv net stop wuauserv

    Po zatrzymaniu WUAUSERV nie powinno być problemu ze zmianą nazwy katalogu, lub całkowite usunięcie: Windows sobie poradzi z odtworzeniem zawartości a czasem całkowite wyczyszczenie może okazać się lekarstwem na problemy z aktualizacjami:

    Teraz należy utworzyć na docelowym dysku (w tym przykładzie D:\) nowy katalog - nazwa jest dowolna, jednak dla porzadu utworzyłem D:\Windows\SoftwareDistribution\, oraz dowiązanie miękkie: mkdir D:\Windows\SoftwareDistribution mklink /D "C:\Windows\SoftwareDistribution" "D:\Windows\SoftwareDistribution"

    Tak, dowiązanie "miękkie" działa, ale jak ktoś nie ma pewności, może zawsze utworzyć "JUNCTION": mklink /J "C:\Windows\SoftwareDistribution" "D:\Windows\SoftwareDistribution" Teraz można uruchomić zatrzymany wcześniej serwis aktualizacji, oraz obserwować, że po chwili powinny pojawić się w nim nowe katalogi i pliki (co oznacza, że operacja się udała):
    Może się zdarzyć, że próba aktualizacji wyświetli błędy:
    Wynika to z błędnych ustawień poziomu dostępu do tego katalogu dla kont systemowych.
    Najprościej chyba skorzystać z 'troubleshootingu' i pozwolić Windowsowi na naprawę uprawnień:
    Oczywiście można to zrobić ręcznie, przepisując uprawnienia z katalogu D:\Windows\SoftwareDistribution.old:

    Poprawność konfiguracji można sprawdzić poprzez rozpoczęcie procesu aktualizacji i sprawdzenie, czy katalog na dysku D:\ zaczyna "puchnąć"

    Uwagi

    Należy szczególnie przemyśleć przenoszenie istotnych plików i katalogów systemowych, szczególnie na zasoby sieciowe. Po pierwsze należy mieć pewność, że dysk lokalny jest zawsze obecny w systemie i przetestować, co się stanie jak go zabraknie. Co do zasobów sieciowych: czy dostęp danego katalogu, czy pliku nie jest wymagany przed podniesieniem usług sieciowych.
    Mam nadzieję, że z grubsza wyjaśniłem na czym polegają dowiązania w systemie Windows. Borat jest dumny, że dotrwałeś do końca tego wpisu.
     

    windows oprogramowanie porady

    Komentarze

    0 nowych
    Semtex   17 #1 28.08.2016 20:26

    Jak się za coś bierzesz to z grubej rury, świetny poradnik! Kiedyś był bardzo potrzebny wielu, bo Steam nie bardzo rozumiał, że są inne partycje ;)

    Kolejny dobry przykład gdzie to ma zastosowanie to winSXS, ale to historia na inny wpis, też pokaźny by mógł być ;)

    AL|EN   2 #2 28.08.2016 20:32

    Poradnik pierwsza klasa ale za każdym razem, kiedy ktoś używa Get-Host/Write-Host bóg zabija kotka. Tak, tego słodziutkiego kotka z fotek i filmików w sieci.

    Polecenie Get-Host nie służy do sprawdzania wersji Powershell'a tylko do sprawdzenia wersji lokalnego hosta.

    Do sprawdzania wersji służy zmienna $PSVersionTable.

    Różnica jest taka że jak Get-Host wejdzie ci w krew i będziesz z przyzwyczajenia używał go na zdalnej sesji to dostaniesz "Version 5" a w rzeczywistości będzie np wersja 3 i 2 dni się będziesz zastanawiał dlaczego coś nie działa.

    Autor edytował komentarz w dniu: 28.08.2016 20:34
    bachus   19 #3 28.08.2016 20:32

    @Semtex: nie umiem inaczej, przepraszam za długość :/ Zawsze jak zaczynam pisać, to na bierząco "labuję" to o czym piszę - potem wracam na górę tekstu i sam się dziwię, że wychodzą takie potworki ;-)

    @AL|EN: mówiąc szczerze to było trochę trolowania i byłem ciekawy, czy ktoś zwróci na to uwagę. Mówiąc szczerze jestem bardzo zadowolony, że ktoś przeczytał ten wpis - a szczególnie osoba będąca w temacie.
    PS kiedyś mogę zrobić osobny wpis o potworkach w Powershell, nawet w komercyjnych rozwiązaniach znanych firm - ziemniaki z piwny zaczynają gnić jak takie coś przeglądam :-(

    Autor edytował komentarz w dniu: 28.08.2016 20:36
    Semtex   17 #4 28.08.2016 20:34

    @bachus: Tu nie ma za co przepraszać, to poradnik, który wyczerpuje wątek! Takich nigdy mało.

    Vanshei   14 #5 28.08.2016 20:56

    fajny wpis, dobry poradnik :)
    tylko to "Redmont" i "serWices" to celowo? ;)

    Autor edytował komentarz w dniu: 28.08.2016 20:59
    AL|EN   2 #6 28.08.2016 21:00

    @bachus Spoko, fajnie się wpis czytało. Chętnie przeczytam twój następny wpis żeby wiedzieć na jakie moduły uważać :)

    bachus   19 #7 28.08.2016 21:16

    @AL|EN: mam takiego magika, który pisząc w Powershell większość odwołuje się do CMD ;-) Jak zapytałem
    - to czemu już tego prawilnie nie zapiszesz jako .CMD?
    Odpowiedział z całą powagą:
    - bo batche są przestarzałe, teraz się pisze w Powershell!

    gowain   18 #8 28.08.2016 21:29

    Dobre, dobre, omniom mniom :) Skonsumowałem treść tego zacnego poradnika ze smakiem. Więcej proszę :)

    bachus   19 #9 28.08.2016 21:29

    @Vanshei: wszystko oczywiście celowe - taki zabieg artystyczny ;-)
    Dzięki, poprawione.

    Autor edytował komentarz w dniu: 28.08.2016 21:39
    dzikiwiepsz   11 #10 28.08.2016 22:04

    Ciekawy wpis, też używam dowiązań symbolicznych na ssd głównie dla Google chrome i Windows update
    Dobrze chociaż że foldery plików tymczasowych można przenieść normalnie bez używania tej techniki :)

    DjLeo MODERATOR BLOGA  17 #11 28.08.2016 22:09

    Wpis świetny, tylko jakiś pomysł na obrazek na główną portalu? Póki co dałem ten co widać...

    pocolog   11 #12 28.08.2016 22:11

    Jezu! Składnia PS mnie przeraża. Jedno, proste, szybkie polecanie wydawało by się, a komenda prawie się zawija w terminalu! Koszmar...

    KoczurekK   9 #13 28.08.2016 22:20

    @pocolog: Sugerujesz że zorientowana obiektowo konsola nie była dobrym pomysłem? ;)
    Mi tam się bardzo podoba „new-item -ItemType …”, naprawdę, świetne… ;-;

    Autor edytował komentarz w dniu: 28.08.2016 22:22
    takiktoś   10 #14 28.08.2016 22:24

    @DjLeo: Daj mema z babciami, trzeba być nowoczesnym/modnym :v

    Mickey66   3 #15 28.08.2016 22:39

    Dla mnie (niestety windowsowca) nieoceniona pomoc. Dzięki!

    bachus   19 #16 28.08.2016 22:39

    @takiktoś: nie do końca o to chodzi... Powershell już praktycznie na tym etapie (wersja 5.x) pozwala zrezygnować z GUI i wszystko oskryptować - CMD (batche) nie do końca na to pozwalają, lub wymagają dziwnych sztuczek, wstawek w VBS... Windows 2012 a szczególnie 2016 (GUI) to praktycznie nakładka na Powershell.

    Autor edytował komentarz w dniu: 28.08.2016 22:40
    takiktoś   10 #17 28.08.2016 22:43

    @bachus: Zmień osobę, do której komentujesz. :P

    AL|EN   2 #18 28.08.2016 22:44

    @bachus: Najgorsze jest właśnie używanie "aplikacji" cmd w Powershell'u i "regexpowanie" tekstu z konsoli, bleee. Standard u większości to Ping, nslookup, hostname itp do tego wszędzie Write-Host'y. Niestety Powershell wymaga całkowicie innego podejścia do pisania skryptów administracyjnych i większość adminów nie chce się tego uczyć. Jak zaczniesz wspominać o tablicach, hashtabela, obiektach i właściwościach (już nie mówię nic o wielowątkowości i jobach/runspace'ach) to patrzą na ciebie jak na świra :P
    Jeden z najgorszych przypadków to wplecenie robocopy w skrypt PS z jakakolwiek większą logiką - długa noc gwarantowana :P

    bachus   19 #19 28.08.2016 22:56

    @takiktoś: będę pisał do kogo mi się podoba :P

    bachus   19 #20 28.08.2016 22:58

    @AL|EN: czarny ekran dla wielu Windowsowców (szczególnie "starszej daty") to zło konieczne a kończy się to najczęściej na potworkach skryptów logowania - w jednej firmie z rok walczyłem, żeby to wyrzucić i przejść na jakieś bardziej ludzkie rozwiązania ;-)

    hmmkot   8 #21 28.08.2016 23:16

    @AL|EN: kotków nikt nie zabija......

    DjLeo MODERATOR BLOGA  17 #22 28.08.2016 23:20

    @takiktoś: Dałbym, ale jeszcze chce pożyć troszeczkę ;)

    stasinek   10 #23 28.08.2016 23:38

    Ja używam http://alax.info/blog/software/ntfslinks
    Polecam!

    Dodaje polecenie "Paste as Junction Point" do Explorera, działa w sposób przezroczysty. Takie cudo powinno byc wbudowane w Windows od conajmniej 15 lat.. Dzieki niemu np. mam np. w katalogu My Documents katalog Google Drive, TonidoSync, MEGA, Dropbox. W tych katalogach odpowiednia zawartośc przeniesiona z My Documents zanim je synchronizowałem via chmura. Na powrót z każdego katalogu utworzone linki do nich np. My Text w katalogu My Documents jako junction point który wskazuje na Google Drive\My Text. Dzieki tej kombinatoryce w głównym katalogu dokumentów niby wszystko po staremu, a w praktyce Google synchronizuje wybrane katalogi, MEGA wybrane itd.
    Nie jest to może wygoda linuxowego NFS, OneDrive itp.
    TonidoSync do synchronizacji katalogu Pobrane bo leci lokalnie bez chmur, MEGA dla śmieci itd. Wybrane katalogi z Hubic w Program Files itp.

    Niedoceniona funkcjonalnośc..

    bachus   19 #24 28.08.2016 23:43

    @stasinek: brzmi zacnie - obadam! Co do zaszłości: Microsoft bardziej "dynamicznie" już min. 10 lat temu powinien wypchnąć NTFS na drugi plan. Teraz w 2016 MS robi kolejne podejście i chce narzucić jako domyślny dla Hyper-V ReFS. Zobaczymy, co z tego wyjdzie.

    Autor edytował komentarz w dniu: 28.08.2016 23:46
    SpeX   6 #25 28.08.2016 23:53

    Przed którąś reinstalacją windows 7 miałem fajny GUI do linkowania katalogów. Czytelny sposób miał pokazane na D skąd dany katalog pochodzi - dla przykładu z tekstu, byłby to:
    D:\C:\Windows\SoftwareDistribution
    lub (nie pamiętam już)
    D:\nazwaprogramu\C:\Windows\SoftwareDistribution

    Oczywiście generator linków był dość ułomny, bo się wybierało tylko na który dysk, a nie gdzie dokładnie - ale działało to przyjemnie.

    phx84lbn   9 #26 28.08.2016 23:56

    @bachus - Konkretny kawałek konkretnej wiedzy. Dobra robota.

    takiktoś   10 #27 29.08.2016 00:10

    @bachus: Ale pomyliłeś osoby, nie pisałem nic o Powershellu a Ty mi coś tu piszesz :P

    bachus   19 #28 29.08.2016 00:20

    @takiktoś: wiem wiem, żartuję :-)

    takiktoś   10 #29 29.08.2016 00:52

    @bachus: Nie byłem pewny więc wolałem uświadomić. Bez urazy. ;)

    Pangrys WSPÓŁPRACOWNIK  18 #30 29.08.2016 07:29

    Mniam, takich wpisów nam trzeba więcej :)

    Axles   16 #31 29.08.2016 07:54

    Bardzo dokładnie ze szczegółami opisane. Z dowiązań staram się nie korzystać jednak jest to niekiedy konieczne tak jak też podałeś przykład z Dropboxem. Warto też dodać informację, że jak się zamiesza to można na odwrót dowiązania zrobić i usunąć sobie zawartość, a przynajmniej ja zdolny kiedyś tak zrobiłem.

    __Tux__   12 #32 29.08.2016 08:08

    @bachus: Co do przenoszenia katalogów na inną partycję, pozostaje pytanie: gdzie jest granica, po której dysk SSD przestaje służyć swojemu celowi? Może zostać na sam system, ok. Ale gdy uruchomiasz komputer raz dziennie? Gdyby iść w drugą stronę, musielibyśmy mieć dyski po 1 - 2 TB, żeby wszystko zmieścić. Takie tylko przemyślenie :-) .

    @hmmkot: Po ciebie też ktoś przyjdzie :-P .

    bachus   19 #33 29.08.2016 08:43

    @Axles: jak jest się zdolnym, to można zainstalować Norton Commander, włączyć pokazywanie ukrytych plików i zrobić porządek w głównym katalogu na dysk:C:\ - oooo, co to za śmieci IO.SYS i MSDOS.SYS?... Skasuję.
    Wakacje '96 ;-)

    bachus   19 #34 29.08.2016 09:15

    @DjLeo: "Wpis świetny, tylko jakiś pomysł na obrazek na główną portalu? Póki co dałem ten co widać..."
    Bardzo dobrze pasuje, dziękuję. Windows to przecież "magia czarnego ekranu" (czasem też niebieskiego) - nie to co jakieś *nix, gdzie tylko dyskusje o GUI (Xfce, Unity, GNOME, KDE...) ;-)

      #35 29.08.2016 09:18

    Jest mały problem z katalogami z linkowanymi - nie działa w nich wyszukiwanie (F3). Mam na pulpicie zlinkowany katalog z dysku D: i żeby coś w nim poszukać muszę wejść poprzez D, wyszukiwanie przez wejście do katalogu z pulpitu nie działa (przeszukuje tylko 1 poziom) - windows 10.

    DjLeo MODERATOR BLOGA  17 #36 29.08.2016 10:05

    @bachus: No to zostawiam ;) (choć może ktoś inny zmienić jeszcze)

    Ernest Magnus   7 #37 29.08.2016 10:06

    @Pangrys: "Mniam, takich wpisów nam trzeba więcej :)"

    Ile płacicie za wpis? :)

    Pangrys WSPÓŁPRACOWNIK  18 #38 29.08.2016 10:09

    @Ernest Magnus: Ja nie płacę :P

    DjLeo MODERATOR BLOGA  17 #39 29.08.2016 14:04

    @Ernest Magnus: @Pangrys tylko wydaje :)

    kamilchw   3 #40 29.08.2016 15:13

    @bachus: Pamiętam jak za młodu miałem komputer z dyskiem 6GB. Zaczęło mi miejsca na dysku brakować, jak chwile wcześniej parę gier zainstalowałem. Trzeba było trochę miejsca zrobić. Użyłem Norton Commandera lub Total Commandera i zacząłem usuwać w katalogu Windows pliki o najnowszej dacie modyfikacji. System nie przeżył :D
    PS W jednym miejscu jest DELLNIA :P

    bachus   19 #41 29.08.2016 15:22

    @kamilchw: :-) Ja w '96 (internetu raczej nie było) musiałem dymać do biblioteki i w miesiąc stałem się mistrzem autoexec.bat i config.sys - złożone menu do gier, Windowsa, różne ustawienia pamięci (HIGH,UMB etc.).

      #42 29.08.2016 16:53

    niestety dowiązania nie są dobrze obsługiwane przez onedrive i dysk google, występują problemy z synchronizacją albo nie działają w ogóle. Czy może w windows 10 już poprawili??

    LORDEK   5 #43 29.08.2016 16:58

    Mklin się bardzo przydaje gdy Twoja luba ściąga pierdyliard dodatków do Simsów, a Ty tylko patrzysz jak partycja C: Ci puchnie i puchnie. Przewalasz wszystko na inną, większą partycję, mklink i niech se ściąga. Niestety producenci to chyba orangutany i nie wiedzą, że ładowanie wszystkiego na partycje systemową to jednak głupi pomysł.

    Saeros   5 #44 29.08.2016 19:57

    @bachus Z wielkim zainteresowaniem przeczytałem ten artykuł. Nie napisałbyś może podobnego o roli dowiązań symbolicznych w Linuksie? To było jedno z moich "zderzeń z cywilizacją" gdy kilka lat temu pierwszy raz próbowałem stworzyć skrót na pulpicie w Ubuntu ;-)

    Wspomniałeś też o braku punktów montowania w Windowsie; chętnie dowiem się jaki to ma związek z dowiązaniami w Linuksie.

    Saphrii   10 #45 29.08.2016 20:37

    Wpis w ulubionych :)

    gam3f0rg3   5 #46 29.08.2016 20:51

    @bachus: Można było zaszaleć na internecie na uczelni, pamiętam potęgę Cyfronetu :) Ale zwykłe strzechy nawet SDI jeszcze nie miały.
    Wpis zacny, zupełnie inny niż to co się czyta na blogu głównym :)

    klonek_wp   6 #47 29.08.2016 21:25

    @bachus: jak zwykle udało ci się opisać 500 stron MSDNów w kilku akapitach ;)

    PS. wiem nie na temat ale zajrzyjcie tu : https://forum.dobreprogramy.pl/ostrzezenie-calkowicie-zaszyfrowany-winsrv2008r2-...

    davidns   6 #48 30.08.2016 10:17

    M$ krok po kroku zrzyna wszystko od Uniksa/Linuksa ...

    bachus   19 #49 30.08.2016 10:25

    @davidns: tak z ciekawości - czego tyczył się ten komentarz?

    bachus   19 #50 30.08.2016 10:40

    @Saeros: "napisałbyś może podobnego o roli dowiązań symbolicznych w Linuksie? To było jedno z moich "zderzeń z cywilizacją" gdy kilka lat temu pierwszy raz próbowałem stworzyć skrót na pulpicie w Ubuntu ;-) "

    Boje się, są na blogu osoby dużo bardziej oblatane w Linuksie niż ja i ucieknie mi za dużo szczegółów.

    "Wspomniałeś też o braku punktów montowania w Windowsie; chętnie dowiem się jaki to ma związek z dowiązaniami w Linuksie."

    Troszkę może źle to napisałem. Od czasów DOSa użytkownik został przyzwyczajony do liter dysków (C,D itd.) - co nie oznacza, że muszą być koniecznie w użyciu.
    Z Windowsem jest ten problem, że ciągnie wagonik zaszłości historycznych i nikt nie ma odwagi go odczepić - bo zaraz się podniesie lament, że "komuś nie działa Winamp wersja z 2000 roku."

    Vidivarius   13 #51 30.08.2016 15:29

    @bachus
    Ja krótko i treściwie.
    Dzięki chłopie za ten wpis!

      #52 30.08.2016 16:11

    wpis na 6+

    chce więcej!!!

    scribe   2 #53 30.08.2016 16:12

    wpis na 6 z plusem!

    oby więcej takich!

      #54 30.08.2016 18:37

    Chociaż jestem użytkownikiem G N U / Linux.

    Bardzo d z i ę k u j ę za ten artykuł jest na temat, przejrzysty, a najważniejsze o czymś konkretnym !!!

    WPIS na 10/10 :D :D

    stasinek   10 #55 30.08.2016 20:51

    @bachus: Skoro już piszesz o relikcie literek to mi osobiście brakuje tego reliktu w Linuksie, załatwiam sprawe podwójnym dowiązaniem symbolicznym w katalogu użytkownika dla np. pendrajwów, kart SD bo mi się nie chce wciąż wyszukiwac ich np. w /usr/run/media/cośtam/cośtam nazywam np. GOODRAM32, ADATA64 ale również home\D,M itd. Analogicznie do nazw na Windows, najłatwiej to zapewnic w Wine. Dysk USB z fotografiami F, dysk z instalkami I, sterowniki S itd. Na kopii zapasowej duplikaty w folderach o nazwach w formie literki. Katalog udostępniony w sieci (coby go fizycznie nie przepinac) mapowane na dysk takiej samej nazwie. Więc niezależnie co gdzie podobna przestrzeń liter. To ciężko zachowac np. na PCBSD i Linux dla napędów USB potrzeba tworzyc dowiązania czyli wykonac dodatkową prace.

    Na Windows jest C:\ na dokumenty D:\ na śmieci X itd itp. Nie ma dysku to nie ma literki.. od razu widac że ścieżka jest przyporządkowana fizycznemu nośnikowi. Fakt że tych literek jest troche mało ale wystarcza i są poniekąd wygodne w oględnej ocenie sytuacji. Z drugiej strony jednolita przestrzeń nazw ma swoje zalety może nawet jest lepsza niż panowanie nad literami... Ale przykrym szokiem była mi zmiana KDE 3.5 na 4 w konkretnie stronki Mój Komputer która wcześniej emulowała Windowsową liste napędów jawnie na dłoni widac było która ścieżka jest przyporządkowana któremu napędowi i widze że jednak wole archaiczny system. Brak odczułem jakby GUI cofnął się lata wstecz. Brakuje mi jej w Xfce itp. środowiskach.. Nie wspominając o podstawach montowania w PCBSD które musi byc osobnym komponentem to juz wogole masakra.

    Warto wiec przy okazji wspomniec o subst - katalog jako literka. W połączeniu z dowiązaniem symbolicznym pozwala na zachowanie spójnego nazewnictwa ścieżek niezależnie od realnych zasobów. Ciągnąc własny przykład... Na jednym laptopie mam dokumenty całkowicie przeniesione na pendrajwa D:\ bez pena My Documents nie istnieje, synchronizuje niektóre w Google Drive, synchronizuje wybrane katalogi które funkcjonują na D:\ jako junction pointy aby miec jasnośc że gdy usune z chmury to usune wogóle. Aby uniknąc tego co zrobił Axles w Dropboxie.. Po włożeniu do maszyny z XP są synchronizowane. Po włożeniu do PCBSD lub OpenSUSE są bezpośrednio zapisywane. Na Androidzie wyłącznie w chmurze. Na stacjonarce niektórych katalogów z pendrajwa nie potrzebuje, niektóre są tylko na stacjonarce, te synchronizowane Google Drive np. My Photos, My Text, My PDF, My Web Pages - są na każdej maszynie. Wszystko co w sumie pochodzi z neta. Ale na jednej stacjonarce pliki dokumentów są w Documents And Settings\user\My Documents.. Nie ma fizycznie dysku D: więc po odpaleniu kompa w Autostarcie .bat z https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/... tak że pojawia się literka D:\ przyporządkowana dokumentom analogicznie do innych kompów. Czyli otwierając dokument gdziekolwiek jestem zawsze ma podobną ścieżkę.

    Dla zachowania zgodności wstecznej - którą jaby wyśmiałeś, niektóre katalogi z głębszych ścieżek mam junction pointami przeniesione na D:\ tak by nazwa była Program Files\GAMES

    Kończąc przydługie opisy - Zanim znalazłem Alax Info NTFS Links nie korzystałem z dowiązań, bo tego typu tutoriale były zbyt dużym masochizmem w praktyce. Aczkolwiek program nie jest idealny (bo np. trzeba najechac na folder docelowy aby wkleic) ale poprawnie ostrzega i pyta przy usuwaniu czy usunąc zawartośc czy link. Dlatego śmiało polecam każdemu!

    stasinek   10 #56 30.08.2016 21:16

    Dowiązanie symboliczne(nawet nie pamiętam czym to robiłem) działa odwrotnie niż subst np. mając gry zainstalowane na stacjonarce na osobnym dysku katalog G:\ niektóre instaluje w Program Files\GAMES aczkolwiek fizycznie zapisują się na G: wirtualnie są na C: Więc można uzyskac funkcjonalnośc linuksowego root - jednej spójnej przestrzeni nazw znanej z Linuxa.. No i niech ktoś powie ze Windows jest w tej materii gorsze?

    pocolog   11 #57 30.08.2016 21:57

    @stasinek: :O Pozamiatałeś

    Autor edytował komentarz w dniu: 30.08.2016 21:57
    bachus   19 #58 30.08.2016 22:04

    @stasinek: podobno *nix czerpie garściami z rozwiązań Microsoftu - w następnym roku Linuksa /etc (podobno...) ma być na dysku D: a /proc na Z ;-)

      #59 31.08.2016 12:50

    @bachus: "Microsoft bardziej "dynamicznie" już min. 10 lat temu powinien wypchnąć NTFS na drugi plan."

    A niby czemu skoro to jeden z najbardziej funkcjonalnych i elastycznych systemów plików na świecie? Z obecnie wykorzystywanych bardziej funkcjonalny jest jedynie ZFS, ale jest też koszmarnie wolny.

    Póki co żadne Exty ani jfs-y nie są w stanie zapewnić nawet tego co oferuje "przestarzały" NTFS.

      #60 11.09.2016 12:19

    @Anonim (niezalogowany) #54: Popieram :-)
    Fajne GUI do operacji na dowiązaniach ma Double Commander – oferuje dowiązania miękkie i twarde…

    bachus   19 #61 11.09.2016 16:07

    @bip (niezalogowany): chętnie obadam :-)

    Loombago   8 #62 04.10.2016 12:09

    Super wpis, chociaż ja zawsze chodzę na łatwiznę i używam LinkMagicka: http://www.rekenwonder.com/linkmagic.htm

    bachus   19 #63 04.10.2016 12:16

    @Loombago: dzięki za link. Ciężko powiedzieć, czy to łatwizna - jak jest do czegoś działające GUI, to czemu sobie nie pomóc? To jak z Robocopy - można klepać ręcznie, ale jak można szybko w jakiejś nakładce? Wpis raczej miał na celu uzmysłowić jak to działa w Windowsie i że po części to pomysł zaczerpnięty z *nix.

    Domker   6 #64 28.11.2016 19:40

    Od siebie dodam, że FUSE w Linux, też rozpoznaje dowiązania na partycjach NTFS Windows.
    http://i.imgur.com/i5po7eK.png

    bachus   19 #65 28.11.2016 20:54

    @Domker: dobrze wiedzieć!

    Domker   6 #66 28.11.2016 21:50

    @bachus: Nie wiesz może jak sprawa wygląda z dyskami podpiętymi przez sieć (iSCSI) ?
    Ciekawy jestem, jak w takim przypadku zachowują się dowiązania w Windows.