Linux Ubuntu - zarządzanie dyskami

Z Systemy operacyjne i sieci komputerowe
Przejdź do nawigacji Przejdź do wyszukiwania


Dyski w linuksie

Linux postrzega urządzenia jako pliki, umieszczone sią z katalogu /dev. Pierwszy dysk widoczny jest jako /dev/sda (dysk sata) lub /dev/hda (dysk pata). Partycje oznaczane są dodatkowo liczbami, np. /dev/sda1. Od 1 do 4 są partycje podstawowe lub rozszerzone, od 5 dyski logiczne. Analogicznie drugi dysk będzie oznaczony /dev/sdb, a jego partycje otrzymają kolejne liczby.

Program Dyski (GNOME Disk Utility)

Przy pomocy Dasha uruchamiamy program Dyski.

Ubuntudyski1.png

Ubuntudyski2.png

Sformatujemy nowy dysk

Ubuntudyski3.png

Wybieramy system plików, ustalamy etykietę, wybieramy między szybkim formatowanie a wolnym (nadpisuje zawartość, utrudniająć eentualne odzyskanie danych)

Ubuntudyski4.png

Ubuntudyski5.png

Musimy uwierzytelnić się jako administrator.

Ubuntudyski6.png

Urządzenie nie jest jeszcze zamontowane.

Ubuntudyski7.png

Urządzenie zostało zamontowane w /media/uczen/dane. Niestety nie utworzyliśmy tablicy partycji, dlatego widzimy /dev/sdb, a nie np. /dev/sdb1

Ubuntudyski8.png

Ubuntudyski9.png

Gparted

Program gparted jest edytorem partycji. Umożliwia wiele operacji, m.in tworzenie, usuwanie, sprawdzanie, bezstratną zmianę rozmiaru partycji. Natywnie do zarządzania dyskami w Ubuntu służy, wyżej wymieniony, GNOME Disk Utility. Gparted należy więc doinstalować.

Widzimy dysk sda

Ubuntudyski10.png

Przeszliśmy na dysk sdb, jak widać nie posiada żadnych partycji. Nie ma również tablicy partycji.

Ubuntudyski11.png

Utworzymy tablicę partycji.

Ubuntudyski12.png

Ubuntudyski13.png

Gdy posiadamy tablicę partycji możemy przejść do tworzenia partycji.

Ubuntudyski14.png

Z całości dysku utworzymy jedną partycję podstawową z systemem plików ext4.

Ubuntudyski15.png

Mamy zaplanowane 1 zadanie. Teraz potwierdzimy wykonanie.

Ubuntudyski16.png

Ubuntudyski17.png

Ubuntudyski18.png

Jak widać poniżej partycja została stworzona.

Ubuntudyski19.png

Zmienimy teraz rozmiar partycji, aby założyć jeszcze jedną. Oczywiście mogliśmy od razu wybrać mniejszy rozmiar i zaoszczędzić sobie jednej operacji, ale tutaj po prostu sprawdzamy możliwości programu.

Ubuntudyski20.png

Ubuntudyski21.png

Dodamy drugą partycję podstawową.

Ubuntudyski22.png

Ubuntudyski23.png

Potwierdzamy operacje do wykonania.

Ubuntudyski24.png

Jak widać poniżej mamy dysk sdb podzielony na dwie partycje podstawowe sdb1 oraz sdb2.

Ubuntudyski25.png

Podstawowe polecenia

fdisk -l

Polecenie z opcją l wyświetla listę dysków i partycji

uczen@linux:~$ sudo fdisk -l
[sudo] password for uczen: 

Dysk /dev/sda: 8589 MB, bajtów: 8589934592
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 1044, w sumie sektorów: 16777216
Jednostka = sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x000cd8bc

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1   *        2048    14680063     7339008   83  Linux
/dev/sda2        14682110    16775167     1046529    5  Rozszerzona
/dev/sda5        14682112    16775167     1046528   82  Linux swap / Solaris

Dysk /dev/sdb: 1130 MB, bajtów: 1130628096
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 137, w sumie sektorów: 2208258
Jednostka = sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x000507ec

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sdb1            2048     1026047      512000   83  Linux
/dev/sdb2         1026048     2207743      590848   83  Linux

df

Polecenie df sprawdza wolną przestrzeń dyskową oraz pokazuje punkt montowania.

uczen@linux:~$ df
System plików  1K-blocks   użyte dostępne %uż. zamont. na
/dev/sda1        7092728 3644820  3064576  55% /
none                   4       0        4   0% /sys/fs/cgroup
udev              503424       4   503420   1% /dev
tmpfs             102600     896   101704   1% /run
none                5120       0     5120   0% /run/lock
none              512992     152   512840   1% /run/shm
none              102400      52   102348   1% /run/user
/dev/sdb1         471512     828   434848   1% /media/d1
/dev/sdb2         565160     456   523348   1% /media/d2

Z opcją -h pokazuje wolną przestrzeń w MB.

uczen@linux:~$ df -h
System plików  rozm. użyte dost. %uż. zamont. na
/dev/sda1       6,8G  3,5G  3,0G  55% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            492M  4,0K  492M   1% /dev
tmpfs           101M  896K  100M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            501M  152K  501M   1% /run/shm
none            100M   52K  100M   1% /run/user
/dev/sdb1       461M  828K  425M   1% /media/d1
/dev/sdb2       552M  456K  512M   1% /media/d2

free

Polecenie free pokazuje użycie pamięci RAM oraz dysku wymiany SWAP.

uczen@linux:~$ free
             total       used       free     shared    buffers     cached
Mem:       1025988     817896     208092       9872      45516     293384
-/+ buffers/cache:     478996     546992
Swap:      1046524          0    1046524

mount

Polecenie mount służy do montowania urządzeń.

Poniżej przykład zamontowania urządzenia /dev/sdb1 w katalogu /media/uczen

uczen@linux:~$ sudo mount /dev/sdb1 /media/uczen

umount

Polecenie umount służy do odmontowywania urządzeń.

Poniżej przykład odmontowania urządzenia /dev/sdb1

uczen@linux:~$ sudo umount /dev/sdb1

Plik /etc/fstab

Fstab (skrót od ang. file systems table) - plik konfiguracyjny zawierający informacje na temat znajdujących się w systemie dysków twardych i ich partycji, oraz sposobu, w jaki mają być montowane.

Do pliku możemy dopisać urządzenia, które mają być montowane przy starcie systemu. Poniżej przykład pliku. Dwie ostatnie linie są dopisane.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=b92445fc-d7ec-4a84-9296-ab8cbcd2d7ce /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=3791c143-9fff-4941-ae97-5d94ff2986c8 none            swap    sw              0       0
/dev/sdb1	/media/d1	auto	defaults	0	0
/dev/sdb2	/media/d2	auto	defaults	0	0

Składnia wygląda następująco:

<file system> <mount point> <type> <options> <dump> <pass>

<file system> Urządzenie do zamontowania, np. /sda1 albo można użyć UUID
<mount point> Punkt montowania, czyli miejsce w którym będzie widoczna zawartość zamontowanego urządzenia. Np. /media/windows
<type> Typ systemu plików. Najwygodniej użyć opcji auto. Dla fat vfat, dla ntfs ntfs albo ntfs-3g, dla cd/dvd udf iso9660. Inne nie wymagające wyjaśnień ext4 ext3 ext2 jfs reiserfs swap
<options> Opcje z jakimi ma być montowana partycja. Najwygodniej użyć opcji defaults, która jest równoznaczna z rw, suid, dev, exec, auto, nouser, async. Inne opcje:

auto automatyczne montowanie przy starcie oraz po komendzie mount -a

noauto urządzenie nie jest automatycznie montowane przy starcie oraz po komendzie mount -a

user urządzenie może być montowane przez użytkownika

nouser montować urządzenie może tylko root

rw odczyt i zapis na partycji

ro tylko odczyt na partycji

umask=xxxx maska uprawnień nowotworzonych plików

loop montowany nie jest plik blokowy, a obraz dysku/partycji (*.iso, *.mdf)

<dump> Włączenie/wyłączenie archiwizacji partycji przez program dump
<pass> Kolejność sprawdzania partycji przez program fsck

Ćwiczenia

  1. Sprawdź partycję /dev/sdb1
  2. Podziel dysk /dev/sdb na 5 równych partycji
  3. Usuń dwie partycje.
  4. Rozszerz rozmiar trzeciej partycji.
  5. Sformatuj partycje w 3 różnych systemach plików.
  6. Zamontuj wszystkie partycje z dysku /dev/sdb w lokalizacjach /media/d1, /media/d2, /media/d3.
  7. Odmontuj jedną z partycji.
  8. Sprawdź partycję poleceniem fsck.
  9. Edytuj odpowiedni plik, aby partycje na /dev/sdb automatycznie były montowane przy starcie systemu.
  10. Jedna z partycji przy automatycznym montowaniu, ma być montowana do zapisu i odczytu oraz tylko przez roota. Ponadto włącz jej archiwizację dla programu dump.