Kiedy podczas montażu należy użyć urządzenia pętlowego?

18

Zgodnie z następującym pytaniem:
Co to jest „urządzenie pętlowe” podczas montażu?
Urządzenie pętlowe to plik, który działa jak urządzenie blokowe. Chociaż rozumiem to koncepcyjnie, czym różni się to od montowania jakiegokolwiek innego pliku? Na przykład, jeśli wezmę obraz dd systemu plików ext2, a następnie go zamontuję, nie muszę używać opcji pętli - mount -t ext2 file.dd /mnt/mount-pointudaje się.

Kiedy powinienem użyć opcji pętli i jaka jest różnica między montażem za pomocą opcji pętli a montażem bez niej?

Suchipi
źródło

Odpowiedzi:

8

Jeśli nie musisz używać opcji pętli do montowania zwykłego pliku, dzieje się tak, ponieważ mountwykrywa to i automatycznie aktywuje za Ciebie. Kiedyś musiałeś to określać ręcznie.

psusi
źródło
Wciąż robię. Nigdy nie zauważyłem, że mount może to zrobić niejawnie.
Bananguin,
@ user1129682 Zastanawiam się, czy różne wersje jądra lub różne dystrybucje mają tę funkcję?
Suchipi
22

Technicznie urządzenie pętlowe to urządzenie blokowe, które zapisuje do pliku, a nie kawałek sprzętu. Dlatego podczas montowania pliku zawsze używasz / musisz korzystać z pętli zwrotnej.

Tyle o bezpośredniej odpowiedzi. Może to służy jako wyjaśnienie:

Jądro implementuje kilka warstw abstrakcji, dzięki czemu może traktować inny sprzęt w ten sam sposób. Wyobraź sobie, że musiałbyś przebudować sterownik ext2 dla każdej dostępnej marki kontrolera. Nikt tego nie chce, ale chcemy traktować każdy dysk twardy w ten sam sposób. Dlatego tworzymy warstwy abstrakcji.

Urządzenia blokowe są taką abstrakcją. Zablokuj urządzenie ma określone atrybuty i udostępnia pewne funkcje, z których może korzystać inne oprogramowanie. Nie ma znaczenia, czy masz dysk ATA HDD, SCSI HDD czy napęd taśmowy, zawsze używasz dokładnie tych samych struktur i funkcji do interakcji z nimi. Zadaniem jądra, a dokładniej tej warstwy abstrakcji, jest zrobienie właściwej rzeczy po uzyskaniu dostępu do urządzenia blokowego. Właściwą rzeczą w przypadku interfejsu urządzenia blokowego jest przekazywanie połączeń i danych do i od odpowiedniego sterownika urządzenia. Tym sterownikiem urządzenia może być na przykład podsystem SCSI lub sterownik urządzenia pętli.

Sterownik urządzenia pętli przekształca operacje na powiązanym urządzeniu blokowym na operacje na plikach (systemie), w ten sposób dane / partycje kończą się w pliku.

Prawdopodobnie bardzo się mylę w użytej terminologii oraz w nazwie i liczbie zaangażowanych warstw abstrakcji. Chciałem tylko naszkicować podstawową koncepcję, aby stało się jasne, że urządzenie pętli nie jest plikiem, który coś robi, ale używa plików. Plik nie robi nic innego niż jest używany.

Bananguin
źródło