Administrace souborového systému
Připojování a odpojování disků
Speciální soubory
V Linuxu jsou disky reprezentovány speciálními soubory v adresáři /dev.
Disk může být rozdělen na několik částí (partitions). Každá část pak lze zvlášť naformátovat. Ve Windows se každé části obvykle přiřadí nějaké písmeno a chová se, jako by byla samostatným diskem.
V Linuxu se diskům automaticy přiřadí nějaký speciální soubor, například první disk reprezentuje
/dev/hda, druhý disk /dev/hdb atd. To se týká ATA disků. SCSI
diskům (novější typy disků, USB klíčenky atp.) se přiřazuje /dev/sda, /dev/sdb atd.
Jednotlivým částe (partitions) disků pak odpovídají soubory /dev/hda1,
/dev/hda2 atd.
Takže souboru /dev/sdc2 odpovídá druhá partition na třetím SCSI disku.
Seznam všech disků a jejich partitions můžete zobrzit příkazem fdisk -l
(zřejmě k tomu budete muset mít práva roota), jinak se vám žádná data nevypíšou:
Disk /dev/sda: 160,0 GB, 160 041 885 696 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 19 457, celkem 312 581 808 sektorů
Jednotky = sektorů po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / 512 bajtů
Identifikátor disku: 0x89718971
Zařízení Zavádět Začátek Konec Bloky Id Systém
/dev/sda1 2048 4208639 2103296 82 Linux swap/Solaris
/dev/sda2 * 4208640 130045951 62918656 83 Linux
/dev/sda3 130045952 144809983 7382016 83 Linux
/dev/sda4 144809984 312580095 83885056 83 Linux
Disk /dev/sdb: 16,2 GB, 16 173 236 224 bajtů
hlav: 64, sektorů na stopu: 32, cylindrů: 15 424, celkem 31 588 352 sektorů
Jednotky = sektorů po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / 512 bajtů
Identifikátor disku: 0xf8ceefaa
Zařízení Zavádět Začátek Konec Bloky Id Systém
/dev/sdb1 * 32 11718655 5859312 7 HPFS/NTFS/exFAT
/dev/sdb2 11718656 31588351 9934848 83 Linux
Disk /dev/mapper/luks-ff4796b2-eb5c-42f8-b008-d8bed502ca38: 10,2 GB, 10 171 187 200 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 1 236, celkem 19 865 600 sektorů
Jednotky = sektorů po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / 512 bajtů
Ve výpisu výše můžete vidět že mám v PC dva disky, jeden 160 GB velký, druhý jen 16,2 GB – to je USB klíčenka.
První disk je rozdělen na 4 čáasti. První část slouž jako tzv. swap, ostatní jsou linuxové oddíly (sda2 je zaváděcí oddíl, ze kterého se startuje operační systém).
USB disk je rozdělen na 2 části. Na jedné je NTFS formát (ten používám ve windows) a na druhé je Linuxový formát (ten používám v linuxu). První (sdb1) partition je označená jako zaváděci, protože na ní mám nainstalovaný Slax.
Připojování disků (mount)
V Linuxu nejsou disky řešeny různými písmeny jako ve Windows, ale připojují
se všechny do jednoho souborového systému (jehož kořenem je /).
K tomu slouží program mount. K odpojení
program umount.
Popis disků, jaké mají formátování a kam se v systému souborů mají připojit
je v souboru /etc/fstab. Většina zde uvedených disků se připojí
automaticky po startu (neplatí například pro CD/DVD mechaniky).
Pokud je disk (resp. jeho partition) uveden v /etc/fstab,
při připojování a odpojování se stačí odkazovat na adresář, kde má být připojen.
$ mount /cdrom
$ # pokud neni:
$ mount /dev/sdc /cdrom
Příkaz mount umí dokonce připojit do souborového systému
i obrazy disků, a to pomocí tzv. loop zařízení:
Příklad výše připojí soubor obraz.disku.img do adresáře
disketa/. Parametr -t vfat určuje, jakým
formátem je obraz disku zformátován.
Odpojování disků (umount)
Po skončení práce s diskem (třeba USB klíčenkou) se musí disk nejdříve
odpojit příkazem umount, než jej odpojíte od počítače.
Jinak se může stát, že se provedené změny na disk nezapíšou korektně
(kvůli tomu, že se zapisovaná data zapisují nejdříve do mezipaměti
disku a až později na disk - nejpozději před odpojením).
CD/DVD většinou z počítače ani nevyndáte, když je neodpojíte:
Disk se podaří odpojit pouze pokud s jeho obsahem nepracuje žádný program (nesmíte mít na odpojovaném disku ani aktuální adresář v shellu!).
Pokud se vám nedaří disk odpojit a nevíte, který program s diskem pracuje,
může vám pomoci program lsof. Ten vypíše všechny otevřené (používané)
soubory z disku.
Výpis připojených disků
Připojené oddíly lze vypsat příkazem mount,
ale i příkazem findmnt, který
dává mnohem hezčí výstup.
findmnt
EXAMPLES
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda2 ext4 rw,relatime,data=ordered
├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup tmpfs tmpfs rw,nosuid,nodev,noexec,mode=755
│ │ ├─/sys/fs/cgroup/systemd cgroup cgroup
rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-a
│ │ ├─/sys/fs/cgroup/cpuset cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu
│ │ ├─/sys/fs/cgroup/memory cgroup cgroup rw,nosuid,nodev,noexec,relatime,memory
...
Správa diskových oddílů
Většina následujících příkazů vyžaduje superuživatelská práva (root).
Informace o discích
- fdisk -l
- zobrazí rozdělení disků
- dumpe2fs /dev/sda1
- vypíše podrobné informace o souborovém systemu ext (linuxový souborový systém)
- e2label
- zobrazí název diskového oddílu. Dokáže jej i změnit.
Kontrola a oprava souborových systémů
- badblocks -v -s /dev/sda6 pocet_bloku_jednotky
-
Testuje oddíl disku a hledá chyby (ovšem neopravuje je).
Přepínač
-vvypisuje informace,-sznačí status (kolik je hotovo...),/dev/hda6je jmeno testovane oblasti. - fsck -f -y /dev/sda6
- Opravuje poškozený fsystém. Jednotka (/dev/sda6) musí být odpojená, tj. často je nutné nastartovat např. z diskety a poté jednotku opravit. Existují různé varianty tohoto programu pro různé filesystémy. Například fsck.ext2, fsck.ext3, fsck.msdos).
- dosfsck -t -r -v /dev/fd0
-
Kontroluje a opravuje DOSový souborový systém. Přepínač
-tzajistí kontrolu bad-block, přepínač-rurčuje, že před opravou bude dotázán uživatel (lze ji nahradit volbou-a, tj. oprava se provede automaticky), přepínač-vopět slouží k výpisu více informací.
Formátování disků
- fdisk /dev/hda
- rozděluje disk, mění formát diskových oddílu atp.
Příkazy:- p
- (print) vypíše informace o všech jednotkách (včetně počtu bloků: Blocks)
- m
- nápověda
- t
- formátuje diskové oddíly
- q
- (quit)
- cfdisk /dev/hda
- Celoobrazovkový program na rozdělování disku (doporučuji používat místo
fdisk) - mke2fs -c -v /dev/fd0
- formátuje disketu (fd0) linux-fsystémem. Přepínač
-ctestuje sektory, příkaz-vzobrazuje informace. Před použitím tohoto příkazu je nutné zařízení (/dev/fd0) odpojit pomocíumount. - tune2fs -c 60
- Nastaví početní limit připojení oddílu, po kterém se spustí kontrola integrity.
- mkswap -c -v /dev/sda1
-
formátuje diskový oddíl pro swap oblast. Význam přepínačů je stejný jako u
mke2fs. - mkdosfs -c -v /dev/fd0
- formátuje disketu dos-fsystémem
mkboot(disk) `uname -r`vytvoření botovatelné diskety