Pomysł warty skopiowania?



Wczoraj wypiłem piwko Sziwanem i Tadeuszem, co było dobrą okazją do podotykania tego pierwszego w jego MacBooka Pro i kolejnego bliższego przyjrzenia się Mac OS X'owi. Karol pokazał m. in. fajną rzecz, którą nazwał linkami do inodów.

Chodzi o to, że wszelkie skróty do pliku, umieszczone w docku, na pulpicie czy też w menu Ostatnio otwierane nie odnoszą się do ścieżki+nazwy pliku, ale do inode'a, w którym ów się znajduje. Dzięki temu sam plik można przenieść do innego katalogu albo zmienić mu nazwę, a odnośniki automatycznie działają. Naprawdę. Nie jest to taka prowizorka jaką pamiętam z Windows (Plik do którego odonosi się skrót nie istnieje. Poczekaj, aż Windows znajdzie wszystkie odpowiadające pliki. Czy chcesz aby skrót wskazywał na zupełnie inny plik?).

Działać to może tylko w obrębie jednego systemu plików (partycji, wolumenu), ale sam pomysł na uniksach nie jest nowy. Przykładowo, zawartością /var/qmail/queue/*/ są pliki o nazwie będącej numerem ich inode'a. Sendmail robi chyba podobnie. A każdy plik w pojedynczym systemie plików ma unikalny numer i-węzła -- tego przynajmniej spodziewają się takie uniksowe narzędzia jak tar.

Linuksiarze skopiowali już z Mac OS X fscache przyspieszający bootowanie, to i może to zerżną? Jest już odpowiednia łata na jądro, pozwalająca otwierać plik po numerze jego i-węzła. Ma jedynie, jak zauważył Sziwan, problemy z wpasowaniem się w aktualny model bezpieczeństwa plików w Uniksie


Archived comments:

iss 2006-07-13 22:29:52

Czy przypadkiem to nie działa jak zwykły link (nie symlink)?

zdzichuBG 2006-07-13 22:31:14

Słuszna uwaga! Owszem działa tak na poziomie filesystemu. Ale na OS X działa to na poziomie aplikacji.

smk 2006-07-13 22:49:38

A MacOS X skopiował to z IBM OS/2. ;-)

W OS/2 linki do plików (tam się to cień (shadow) nazywało), są linkami do i-węzła. W związku z tym przenoszenie pliku między katalogami nie zmienia miejsc, w które on rzuca cień.

GDR! 2006-07-13 23:46:40

Eech, a w Amidze było to tyyyyyle lat temu :)

Ktosiek 2006-07-14 14:37:26

A nowy Amarok śledzi w podobny sposób (dzięki odpowiednim metaznacznikom) pliki muzyczne, dzięki czemu można zmieniać ich nazwy i położenie, a Amarok nadal będzie wiedział, gdzie są i jakie mają okładki, notowania itd.

zdzichuBG 2006-07-14 23:49:18

Ktosiek: znaczy jak? Wykorzystując xattr tak jak np. Beagle?

marcin 2006-07-17 22:22:55

Łatka może się przydać, ale przy tworzeniu aplikacji korzystającej z tego pomysłu chyba lepiej posłużyć się hard-linkami, co by bardziej przenośnie było.

smk 2006-07-17 22:52:12

Z użyciem hardlinków do tego jest ten zasadniczy problem, że skasowanie pliku z oryginalnego położenia... nie powoduje skasowania pliku ;-)

marcin 2006-07-18 10:21:19

A, faktycznie. :-)

Comments


Comments powered by Disqus