Systemy plików pętli zwrotnej znajdują się w pliku. Pliki pętli zwrotnej są podłączane przez powiązanie z plikiem urządzenia. Przykładem systemu plików pętli zwrotnej jest plik początkowego dysku pamięci RAM o ścieżce boot/initrd.img. Przechowywany jest tam początkowy system plików jądra. Dowiedz się, jak utworzyć system plików ext4 w pliku o wielkości 1 GB.

Poniższe polecenie utworzy plik o wielkości 1 GB:

$ dd if=/dev/zero of=loopbackfile.img bs=1G count=1
1024+0 przeczytanych recordów
1024+0 zapisanych recordów skopiowane 1073741824 bajtów (1,1 GB), 37,3155 s, 28,8 MB/s

Jak widać, wielkość utworzonego pliku przekracza 1 GB. Wynika to stąd, że dysk twardy jest urządzeniem blokowym. W związku z tym przestrzeń dyskowa jest przydzielana jako całkowita wielokrotność bloków o określonej wielkości. W następujący sposób sformatuj plik o wielkości 1 GB za pomocą polecenia mkfs:

# mkfs.ext4 loopbackfile.img

Polecenie to formatuje plik, tworząc system plików ext4. Przy użyciu następującego polecenia sprawdź typ pliku:

$ sudo file loopbackfile.img

loopbackfile.img: Linux rev 1.0 ext4 filesystem data, UUID=c9d56c42-f8e6-4cbd-aeab-369d5056660a (extents) (large files) (huge files)
W następujący sposób możesz teraz podłączyć plik pętli zwrotnej:

$ sudo mkdir /mnt/loopback
# mount -o loop loopback.img /mnt/loopback

Dodatkowa opcja -o loop służy do podłączenia dowolnych systemów plików pętli zwrotnej. Jest to metoda skrócona. Mimo że bezpośrednio nie powiązujesz pliku z żadnym urządzeniem, wewnętrznie polecenie kojarzy plik z urządzeniem o nazwie /dev/loop1 lub /dev/loop2. Aby ręcznie wykonać to zadanie, użyj następujących poleceń:

# losetup /dev/loop1 loopback.img
# mount /dev/loop1 /mnt/loopback

Pierwsza metoda nie może być używana w każdej sytuacji. Załóżmy, że trzeba utworzyć plik dysku twardego, a następnie poddać go partycjonowaniu. Dodatkowo należy podłączyć partycję podrzędną. Nie można użyć polecenia mount -o loop. Konieczne jest zastosowanie drugiej metody. W następujący sposób przeprowadź partycjonowanie pliku wypełnionego zerami:

# losetup /dev/loop1 loopback.img
# fdisk /dev/loop1

Utwórz partycje w pliku loopback.img, aby podłączyć pierwszą partycję:

# losetup -o 32256 /dev/loop2 loopback.img

Urządzenie /dev/loop2 reprezentuje pierwszą partycję. -o to flaga przesunięcia. Wielkość 32256 bajtów jest powiązana ze schematem partycji systemu DOS. Pierwsza partycja rozpoczyna się po przesunięciu o 32256 bajtów względem początku dysku twardego. Drugą partycję możesz skonfigurować, określając wymagane przesunięcie. Po podłączeniu możesz wykonać wszystkie zwykłe operacje, które są możliwe w przypadku urządzeń fizycznych. Aby odłączyć za pomocą polecenia umount, użyj następującej składni:

# umount punkt_podłączenia

Oto przykład:

# umount /mnt/sda1

Możesz też skorzystać ze ścieżki do pliku urządzenia jako argumentu polecenia umount:

# umount /dev/sda1

Podłączanie plików ISO jako pętli zwrotnej:
Plik ISO to archiwum dowolnego nośnika optycznego. Możesz je podłączyć w taki sam sposób, jak dyski fizyczne za pomocą podłączania systemu plików pętli zwrotnej. Punkt podłączenia to jedynie katalog, który pełni funkcję ścieżki dostępu do zawartości urządzenia za pośrednictwem systemu plików. Jako ścieżki podłączenia możesz nawet użyć katalogu, który nie jest pusty. W tym przypadku ścieżka podłączenia do momentu odłączenia urządzeń będzie zawierać ich dane, a nie oryginalną zawartość katalogu. Oto przykład:

# mkdir /mnt/iso
# mount -o loop linux.iso /mnt/iso

Wykonaj powyższą operację, używając plików z katalogu /mnt/iso. ISO to system plików tylko do odczytu. Natychmiastowe uwzględnianie zmian za pomocą polecenia sync Podczas wprowadzania zmian dotyczących podłączonego urządzenia nie są one od razu zapisywane na urządzeniach fizycznych. Zmiany są zapisywane tylko wtedy, kiedy bufor jest pełny. Jednakże możesz wymusić natychmiastowy zapis zmian, używając polecenia sync w następujący sposób:

# sync

Polecenie sync powinno być wykonane z uprawnieniami użytkownika root.

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here