Montowanie partycji i napędów

Jerzy Biernacki
20.08.2015

Linux to system, w którym użytkownik (administrator) sam decyduje z jakich urządzeń będzie korzystał. W tym systemie, aby odczytać dyskietkę 3,5" trzeba ją najpierw zamontować. Ta sama sprawa tyczy się CD-ROMów, dysków czy partycji (np. FAT - Windows) oraz pamięci podręcznych (typu pendrive). W Windowsie również odbywa sie montowanie jednak na nieco innych zasadach (automatycznie).

Montowanie - może to brzmi groźnie, ale jak się za chwilę przekonasz - "nie taki diabeł straszny...".
Zanim zajmiesz się montażem spróbuje przekazać Ci niezbędną wiedzę.

/etc/fstab - static file system information


    ... czyli informacja o systemie plików
Zapoznaj się z zawartością pliku /etc/fstab - powinien zawierać m.in. nazwy urządzeń wykrytych przez system. Wcale nie muszą być tam wypisane wszystkie urządzenia, które posiadasz. Standardowo zobaczysz tam m.in.: partycje linuksa oraz floppy i cd-rom (jeśli posiadasz).
Oto przykład pliku fstab:


# /etc/fstab: static file system information.
#
#         
   proc               /proc                proc    defaults          0            0
   /dev/hda1      /                      ext3    defaults,errors=remount-ro 0   1
   /dev/hda2      none                swap    sw                  0            0
   /dev/hdc        /media/cdrom0  iso9660 ro,user,noauto  0         0
   /dev/fd0        /media/floppy0  auto     rw,user,noauto   0         0


W pliku fstab znajdują się informacje o partycjach i urządzeniach, tj. w jaki sposób i gdzie mają być montowane. Linijki rozpoczynające się od # (ang. hash) to komentarze. W komentarzach zwykle zamieszczane są informacje o plikach (przydatne w modyfikacjach) lub w ten sposób oznacza się linijki (instrukcje), które mają być chwilowo wyłączone z działania pliku.


W pierwszej linijce możemy przeczytać co to jest plik fstab. W trzeciej mamy nagłówki, które określają co oznaczają poniższe informacje. Kolejno mamy:

file system - określa urządzenie lub system plików, który ma być zamontowany oraz miejsce, w którym się znajduje (zwykle w katalogu /dev/nazwa).
mount point - miejsce, w który urządzenie ma być zamontowane. Do tego miejsca będziemy się odnosić podczas używania urządzenia (tutaj będą się znajdywać np. pliki odczytywane z płyty zamontowanego wcześniej CD-ROMu). Jak widać główna partycja Linuksa montowana jest jako / (ang. root - korzeń), partycja wymiany SWAP ma wartość none, a CD-ROM w tym wypadku zostanie zamontowany w katalogu /media/cdrom0 itd...
type - określa rodzaj systemu plików używanych przez urządzenia. Każdy system operacyjny ma swój system plików, który preferuje i w którym w ogóle działa. Jeżeli chodzi o Windows są to partycje FAT (ang. File Allocation Table - system plików z tablicą alokacji) oraz NTFS (ang. New Technology File System - dosł. nowa technologia systemu plików lub system plików nowej generacji). Dla systemu Linux jest trochę więcej możliwości.

W chwili, gdy piszę te słowa używam systemu ext3 (ang. third EXTended file system - rozszerzony system plików trzeciej generacji). Oprócz tego popularny jest ReiserFS z journalem (ang. Reiser File System with journaling - system plików Hansa Reisera z księgowaniem). Płyty CD oraz DVD również mają swoje systemy plików.


Linux może być też instalowany na partycjach Mirosoftu (FAT, NTFS), ale w większości przypadków jest to grubo odradzane!
options - określa dodatkowe opcje użyteczne przy montowaniu. Dla CD-ROMu standardowo zostaje użyta opcja ro (ang. Read Only - tylko do odczytu), gdyż nie jest to nośnik swobodny do zapisu. Opcja user oznacza, że może korzystać z napędu użytkownik-właściciel (nie tylko root), może być też owner (istnieje również opcja users, która daje pozwolenie dowolnemu użytkownikowi), natomiast noauto powoduje, że urządzenie nie będzie montowane automatycznie przy starcie systemu (logiczną rzeczą jest, że w napędzie może zabraknąć płyty, czy w FDD - dyskietki). Dla floppy możemy ustawić opcję rw (ang. Read / Write - czytaj / pisz), która umożliwia oczywiście odczyt i zapis.


Istnieją jeszcze inne opcje: uid=nazwa_użytkownika - ustawienie właściciela plików zamontowanej partycji, gid=nazwa_grupy - ustawienie grupy, umask=0 - ustawienie praw do zapisu i odczytu, iocharset=iso8859-2,codepage=852 - polski system kodowania znaków i polska strona kodowa (można podać inne wartości), auto - automatyczny montaż przy starcie systemu, quiet - przydatne jeśli występują błędy przy ustalaniu właścicieli plików i grup...
dump - podana wartośc informuje, że dany system plików musi być odłączany. Domyślna wartość to 0, co oznacza, że nie ma konieczności odłączania systemu plików.


pass - opcja pozwala wybrać kolejność sprawdzania systemu plików przy starcie systemu. Wartość domyślna - 0 - oznacza, że partycja nie będzie sprawdzana. Wartość 1 - oznacza, że partycja ma być sprawdzana w pierwszej kolejności. Natomiast wartość 2 oznacza, że napęd czy partycja mają być sprawdzane jako następne (po 1). Są to trzy możliwe wartości i zaleca się, aby partycja główna / miała tutaj ustawioną wartość 1, pozostałe wartość 2.
Zostały wymienione przykładowe nazwy nagłówków (takie mam w Debianie). Mogą one mieć inne nazwy, ale kolejność podanych wartości musi być taka sama!


Dyski i napędy w /dev


Zanim zamontujesz dowolne urządzenie musisz się dowiedzieć jak zostało zidentyfikowane w systemie. Możesz nie uzyskać wystarczających informacji z pliku /etc/fstab.


Urządzenia IDE (tj. HDD, CD/DVD, HDD - oparte o interfejs IDE) są rozpoznawane w następujący sposób:

 

  • /dev/hda - primary master
  • /dev/hdb - primary slave
  • /dev/hdc - secondary master
  • /dev/hdd - secondary slave


Wiedząc gdzie znajduje się konkretny dysk twardy (pri/sec - master/slave) możemy zlokalizować jego partycje. Przy tym należy wiedzieć, że partycje podstawowe (ang. primary) i rozszerzone (ang. primary extended - partycja rozszerzona jest też podstawową) mogą występować w liczbie maksymalnie czterech. Zatem ich oznaczenia to od 1 do 4, np. hda1, hda2 itd... Partycje logiczne (ang. logical) są tworzone w obrębie partycji podstawowej, natomiast ich oznaczenia to odpowiednio 5, 6, 7...


CD/DVD-ROMy nie mają takich oznaczeń, czyli w zależności od położenia może to być np. /dev/hdc.
FDD (ang. Floppy Disk Drive), czyli stacja dysków 3,5" noszą oznaczenia fd0 i fd1 (odpowiednio dyskietka A i B).
Pendrive, pamięci, dyski SATA itp. - mogą występować jako urządzenia /dev/sda, sdb, sdc itp...


Jeśli chcesz, możesz przeszukać katalog /dev. Możesz wtedy zauważyć, że znajdują się tam też dowiązania symboliczne, np. /dev/cdrom do /dev/hdc (w zalezności od położenia napędu).
Aby przeszukać urządzenie w celu odnalezienia partycji możesz posłużyć się programem fdisk.
Przykładowo, aby sprawdzić partycje na /dev/hda wpisz polecenie:

# fdisk -l /dev/hda


Program wyświetli szczegółowe informacje o partycjach na tym dysku (przede wszystkim numer hda[n] i system plików).
Po zapoznaniu się z powyższym tekstem możesz przystąpić do montowania partycji i urządzeń.
mount, umount - czyli montaż i demontaż urządzeń
Aby zamontować urządzenie można posłużyć się poleceniem:

mount /dev/hda3 /mnt/winxp


Można to polecenie rozszerzyć do postaci:

mount -t vfat /dev/hda3 /mnt/winxp


Gdzie parametr -t określa typ systemu plików, czyli w tym wypadku vfat.
- takie montowanie ma sens raczej w przypadku nośników pamięci innych niż dyski twarde. Ponieważ np. CD i dyskietki często się wymienia i trzeba je odmontować i zamontować ponownie.
Aby odmontować uprzednio zamontowane urządzenie należy wykonać polecenie umount:

umount /mnt/winxp


Dostep do tych urządzeń będzie miał root, chyba, że dokona się pewnych modyfikacji w pliku /etc/fstab.
Zamontować pendrive
Pendrive to pamięć o niewielkich rozmiarach wizualnych, która podłączana jest do portu USB (ang. Universal Serial Bus). W niektórych dystrybucjach Linuksa (zwłaszcza w tych najnowszych) wystarczy podłączyć takie urządzenie do portu i gotowe. Jeżeli po włożeniu system nie zasygnalizuje wykrycia urządzenia (np. przez pojawienie się ikonki na pulpicie) to należy takie urządzenie zamontować.


Zwykle pamięci pendrive (itp.) rozpoznawane są jako sda1 lub sdb1. Zatem polecenie mount dla pendrive z systemem plików FAT będzie miało następującą postać:

mount -t vfat /dev/sdb1 /mnt/pendrive


Po przejściu do katalogu pendrive będzie można zapisywać i odczytywać (ustawienia pliku fstab).
Montowanie partycji NTFS
Z partycjiami NTFS w Linuksie należy obchodzić się ostrożnie. Uznano, że narzędzia do używania partycji NTFS są tutaj niewystarczające i zaleca się używania trybu ReadOnly (opcja ro) - tylko do odczytu.
Sterownik do obsługi partycji NTFS został napisany bez żadnych specyfikacji odnośnie tego systemu plików (ponieważ Microsoft nie chciał nic udostępnić). Programiści musieli więc pisać go "od nowa" i sterownik w pierwszych wersjach powodował błędy, które mogły powodować utratę danych (prawdopodobieństwo wystąpienia błędów było bardzo duże, choć nie 100-procentowe).


W jądrach od serii 2.5.11 zaczęto stosować sterownik, który umożliwiał tylko odczyt z partycji NTFS. W niektórych dystrybucjach stosowany jest sterownik, który umożliwia obsługę NTFS z odczytem i zapisem...

mount -r -t ntfs /mnt/hdb1 /mnt/ntfs


Polecenie to spowoduje zamontowanie systemu plików w trybie tylko do odczytu.
W Linuksie są inne możliwości zapisywania danych na partycjach NTFS - np. programem Captive NTFS.
Montowanie w pliku /etc/fstab
Na koniec chciałbym pokazać w jaki sposób można ułtawić sobie pracę i rozszerzyć możliwości montowania.
Jako root edytuj plik /etc/fstab dowolnym edytorem tekstu (VIM, mcedit, emacs itd.). Następnie, najlepiej na końcu, dopisz przykładową linijkę:


/dev/hda3 /mnt/winxp vfat uid=1000,gid=1000,exec,rw,umask=000,
codepage=852,iocharset=iso8859-2,auto,quiet 0 2


Powinieneś napisać to w jednej linii (enter naciśnij dopiero po wpisaniu całej instrukcji). Aby plik fstab wyglądał estetycznie zachowaj w nim odpowiednie odstępy.
Wymienionych opcji nie będę już opisywał - zapoznałeś się z nimi na początku artykułu.
Jeszcze przykład dla NTFS:

/dev/hdb1 /mnt/ntfs ntfs uid=1000,gid=1000,ro,umask=0222,
codepage=852,iocharset=iso8859-2,auto 0 2


- zostanie zamontowana partycja w katalogu /mnt/ntfs z prawami tylko do odczytu dla użytkownika i grupy o numerze id = 1000.


Oprócz tego...
Pamiętaj również, że miejsca montowania urządzeń powinny istnieć! Jeżeli zaś takie nie istnieją (np. /mnt/winxp) utwórz je poleceniem mkdir.
Jeśli chcesz sprawdzić jaki id ma dany użytkownik i jego grupa możesz użyć polecenia: id nazwa_użytkownika.
Operacje na plikach w trybie rw powinny być wykonywane ze szczególną ostrożnością - dane możesz tam łatwo zapisać, równie łatwo możesz je usunąć.

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie