Dlaczego musisz utworzyć katalog, aby móc zamontować udział?

11

Dlaczego musisz utworzyć katalog, aby móc zamontować w nim udział?

Np .: Nigdy nie zrozumiałem, dlaczego mkdir jest tutaj potrzebny:

mkdir /Volumes/foo
mount -t afp afp://username:[email protected]/foo /Volumes/foo
Nazwa Użytkownika
źródło

Odpowiedzi:

3

W systemach uniksowych i uniksopodobnych, które obejmują Mac OS X, systemy plików są logicznie bardzo różne od tego, jak działają w systemie Windows. Nie ma czegoś takiego jak dysk C lub D itp. Istnieje tylko jeden system plików, który jest ułożony jako hierarchia (struktura drzewa). Ten system plików może składać się z jednego dysku fizycznego lub kilku dysków fizycznych w maszynie. Może również składać się z pamięci i udziałów z innego komputera za pośrednictwem protokołów takich jak NFS, CIFS itp. Ponieważ nie ma żadnych napędów jako takich, musisz mieć gdzieś w systemie plików, do którego możesz podłączyć lub zamontować tę dodatkową pamięć, aby utworzyć katalog, a następnie podłącz tam inny system plików.

Na przykład systemy Linux mają katalog / mnt lub hierarchię / mnt z katalogami takimi jak cdrom itp. W takim przypadku nie musisz najpierw tworzyć katalogu, możesz użyć jednego z nich, ale nie jest to wymagane, ponieważ punkt podłączenia może znajdować się w dowolnym miejscu w systemie plików. Ta korzyść może być naprawdę użyteczna, jeśli potrzebujesz więcej miejsca, ponieważ możesz dodać kolejny dysk, przenieść dane na niego, a następnie zamontować go w miejscu, w którym znajdował się stary katalog, a wszystko będzie działać bez żadnych zmian.

Sean Preston
źródło
Dzięki za wykrycie tego. Nie sprawdziłem, kiedy sprawdziłem wiadomość. Poprawny post.
Sean Preston
w porządku, zabiłem mój komentarz :)
lImbus
5

Ponieważ nikt nie przesłał łaty, aby dodać opcję --create-dir do zamontowania? :)

Zoredache
źródło
Jestem pewien, że zachowanie NEXTSTEP było takie, jak w przypadku opcji --create-dir. Ostatnią godzinę spędziłem na wyszukiwaniu dowodów w Internecie, ale niestety bez powodzenia!
Adrian Smith
Druga łatka
brzmiałaby:
5

Dzieje się tak, ponieważ podczas montowania katalogu mówisz do swojego systemu: „Zachowuj się tak, jakby pliki w <udział sieciowy> znajdowały się naprawdę w <folderze lokalnym>”. Jeśli system nie ma tego folderu lokalnego, nie może tam umieścić tych plików sieciowych.

Tim
źródło
2

najbardziej niepokojące jest to, że IMHO tworzy gdzieś link NIE potrzebuje touch/ mkdir, a mount (nawet jeśli -bindlokalnie) potrzebuje.

Ale prawdopodobnie znajduje się w tej samej sekcji, co „dlaczego twarde linki są domyślne, gdy wszyscy potrzebują tylko dowiązań symbolicznych i muszą ln -s.

Imbus
źródło
2

Wpis katalogu musi zostać utworzony w / volume (w tym konkretnym przykładzie), zanim jądro będzie mogło podłączyć się do ścieżki katalogu.

MikeyB
źródło
1
Technicznie to nieprawda. System plików można zamontować w dowolnym miejscu w hierarchii - standardową praktyką jest montowanie go w / Volumes / (i jest to wykonywane automatycznie przez system operacyjny), ale zdarza się, że montowanie go w określonym miejscu ma sens.
Chealion
Och, chodziło mi tylko o tomy w tym konkretnym przypadku. :) Nie ogólnie.
MikeyB
To ma więcej sensu. :-)
Chealion