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:

$ fdisk -l
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.

$ # pokud je pro adresar /cdrom v /etc/fstab uveden spec. soubor:
$ 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í:

$ mount obraz.disku.img -t vfat -o loop disketa/

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:

$ umount /cdrom

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.

$ lsof /dev/hdb2

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

$ findmnt
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č -v vypisuje informace, -s značí status (kolik je hotovo...), /dev/hda6 je 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č -t zajistí kontrolu bad-block, přepínač -r určuje, že před opravou bude dotázán uživatel (lze ji nahradit volbou -a, tj. oprava se provede automaticky), přepínač -v opět slouží k výpisu více informací.

Formátování disků

Formátování a rozdělování disků je destruktivní činnost - ztratíte všechna data na formátovaném disku. Ujistěte se proto raději 2x, že formátujete/rozdělujete ten správný 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č -c testuje sektory, příkaz -v zobrazuje 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
Komentář Hlášení chyby
Created: 13.7.2013
Last updated: 13.7.2013
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Prohlížením tohoto webu souhlasíte s používáním cookies. Dozvědět se více..