Podczas instalacji systemu operacyjnego tworzymy i formatujemy partycje, które będą wykorzystywane przez system. W zależności od dystrybucji korzystamy wtedy z różnych kreatorów, pomocnych skryptów, które ukrywają rzeczywiste operacje wykonywane przez programy narzędziowe. Co jednak zrobić, gdy musimy dodać nowy dysk w działającym już systemie? Każda dystrybucja dysponuje swoimi własnymi narzędziami ułatwiającymi tworzenie, zarządzanie i formatowanie partycji. W przypadku wersji z interfejsem graficznym są to najczęściej nakładki na programy działające w powłoce. W przypadku serwerów administratorzy muszą korzystać bezpośrednio z narzędzi konsolowych. Najczęściej wykorzystywanym narzędziem jest program fdisk. Zanim jednak przejdziemy do jego obsługi opiszemy skrótowo sposób w jaki Linux traktuje dyski i inne nośniki danych.
Dostęp do urządzeń w systemie Linux realizowany jest poprzez pliki. Wysłanie danych poprzez port szeregowy odbywa się z poziomu systemu poprzez zapis do pliku specjalnego reprezentującego dany port. To samo dotyczy dysków oraz utworzonych partycji. Pliki specjalne reprezentujące poszczególne urządzenia znajdują się w katalogu /dev. Poniżej zrzut ekranu przedstawiający zawartość katalogu /dev:
Jak widać plików w tym katalogu jest sporo. Część z nich ma nazwy charakterystyczne wskazujące na przeznaczenie np. stdin, stdout, stderr (standardowe wejście, wyjście, strumień błędów). Nas interesować będą pliki: sda, sdb oraz wszystkie nazwy rozpoczynające się od sda, sdb. Najnowsze wersje jądra systemu Linux przedstawiają zamontowane w systemie komputerowym dyski jako pliki sdx, gdzie x zastępowane jest kolejnymi literami: a – pierwsze urządzenie sata, b- drugie urządzenie sata, c- trzecie urządzenie sata. Dodatkowo do listy „urządzeń sata” zaliczono urządzenia podłączone poprzez interfejs USB (np. pendrive). W starszych komputerach, gdzie występują jeszcze dyski ATA oznaczane one są jako: hda- master na pierwszej taśmie, hdb – slave na pierwszej taśmie, hdc – master na drugiej taśmie, hdd – slave na drugiej taśmie. Dostęp do poszczególnych partycji dysku odbywa się poprzez podanie nazwy dysku i numeru partycji. Dla dysku sda z powyższego zrzutu mamy do dyspozycji 3 partycje reprezentowane poprzez pliki: sda1, sda2, sda3. Numery partycji nie muszą występować w kolejności 1,2,3,4,5 bez przerwy. Numery 1-4 przeznaczono na partycje podstawowe, natomiast numery od 5 zarezerwowano dla partycji logicznych. Z tego powodu może wystąpić sytuacja, gdzie będziemy mieć pliki sda1, sda2 oraz sda5 jako 2 partycje podstawowe i jedną partycję logiczną.
Dysponując wiedzą teoretyczną z zakresu oznaczania dysków i partycji możemy przejść do obsługi programów do zarządzania dyskami. Pierwszym i podstawowym jest fdisk. Jest to program obsługiwany z konsoli. Jego uruchomienie nastąpi po podaniu polecenia:
fdisk /dev/sda
gdzie /dev/sda to ścieżka do pliku specjalnego dysku, którym się zajmiemy. Po uruchomieniu programu wydajemy polecenie „m”, żeby wyświetlić pomoc do programu. Na zrzucie poniżej przedstawiono uruchomiony program fdisk z wyświetloną pomocą.
Po wydaniu polecenia „p” otrzymujemy listę utworzonych na dysku partycji:
Jak widać w przykładzie dysk został podzielony na cztery partycje: podstawową i rozszerzoną w ramach której utworzono dwie partycje logiczne. Program fdisk umożliwia zarządzanie partycjami: za pomocą opcji „d” można usunąć partycję, za pomocą opcji „n” dodać nową itd. Te same opcje udostępnia program cfdisk, który różni się od fdisk intuicyjnym sposobem obsługi. Uruchomienie programy cfdisk umożliwia polecenie:
cfdisk /dev/sda
gdzie /dev/sda to dysk, którego operacje będą dotyczyć. Poniższy zrzut przedstawia uruchomiony program cfdisk:
Jak widać na zrzucie cfdisk, to program intuicyjny, który udostępnia te same opcje co fdisk. Po utworzeniu nowej partycji należy ją sformatować z wykorzystaniem odpowiedniego systemu plików. Podstawowym poleceniem umożliwiającym formatowanie partycji jest mkfs. W celu sformatowania partycji należy wykonać polecenie:
mkfs -t nazwa_systemu_plików /dev/nazwa_partycji
przykładowo:
mkfs -t ext4 /dev/sda6
Dysponując przygotowaną nową partycją można ją zamontować w systemie. Montowanie umożliwia określenie w którym miejscu drzewa katalogów ma znaleźć się nasza partycja. Dodatkowo można określić kilka innych parametrów np. czy system plików ma być wyłącznie do odczytu, czy do zapisu. Do zamontowania nowej partycji służy polecenie mount. Wpisanie w konsoli polecenia mount spowoduje wyświetlenie informacji o aktualnie zamontowanych nośnikach danych:
Polecenie wyświetli informację o numerach partycji, nazwach systemów plików oraz miejscach montowania. W prawidłowo skonfigurowanym systemie zamontowana będzie partycja jako główny korzeń drzewa katalogów, będą też zamontowane zasoby specjalne takie jak katalog /dev, czy /proc.
W celu zainstalowania nowej partycji w istniejącym systemie plików należy wykonać polecenie:
mount -t system_plików /dev/numer_partycji /katalog_do_zamontowania
mount -t vfat /dev/sdb1 /mnt/pendrive
UWAGA!!: Katalog w którym montujemy musi istnieć, jeśli nie istnieje system nie zamontuje partycji. (w przykładzie /mnt domyślnie istnieje, ale /mnt/pendrive należy wcześniej utworzyć).
Obecnie system plików jest wykrywany automatycznie, więc polecenie montowania można skrócić do postaci:
mount /dev/sdb1 /mnt/pendrive
Tak zamontowany system plików możemy usunąć z systemu (odmontować) poprzez podanie polecenia:
umount /dev/sdb1 lub umount /mnt/pendrive
Zamontowany ręcznie system plików jest dostępny do czasu jego ręcznego odmontowania, lub do czasu restartu systemu. Jeżeli chcemy, żeby nasza nowa partycja była montowana podczas startu systemu należy informację o niej wpisać do pliku /etc/fstab. Plik fstab zawiera wpisy dotyczące montowanych systemów plików. Przykładową zawartość pliku /etc/fstab przedstawiono na zrzucie:
Jak widać plik przechowuje informacje o montowanych systemach plików:
- /
- /home
- partycji wymiany
- /media/cd-rom0
Pierwsze trzy montowane są podczas startu systemu, natomiast zawartość płyty montowana jest „ręcznie”. Informuje o tym opcja: noauto. Co w związku z powyższym daje wpis do pliku fstab? Powyższy wpis ułatwia montowanie, ponieważ można polecenie mount ograniczyć do wpisu:
mount /media/cd-rom0 lub mount /dev/sr0
dodatkowo można określić uprawnienia do montowania: czy zwykły użytkownik może zamontować dany zasób.
Zadanie:
Zapoznaj się z ze sposobem zapisu informacji o partycjach w pliku /etc/fstab:
http://pl.wikipedia.org/wiki/fstab
W programie VirtualBox utwórz nowy dysk, podłącz go do maszyny wirtualnej z Debianem, a następnie utwórz nową partycję, sformatuj ją tworząc system plików EXT4 i zamontuj ją w katalogu /mnt/moja_partycja. Dopisz do plik /etc/fstab informację o nowej partycji tak, by montowała się automatycznie po starcie systemu.