Existuje mnoho utilit, jako je fdisk, cdisk, k rozdělení pevného disku v systémech Linux a Unix. V tomto článku se zaměříme na to, jak pomocí nástroje parted vytvořit oddíl a spravovat diskové oddíly (změna velikosti, mazání oddílů) v Linuxu.
Co je Parted?
GNU Parted je sada příkazového řádku pro vytváření a manipulaci s tabulkami oddílů v systémech Linux a Unix. Pomocí Parted lze vytvářet, měnit velikost, mazat oddíly, reorganizovat využití disku, kopírovat data a vytvářet obrazy disků.
Parted obsahuje knihovnu libparted , stejně jako rozhraní příkazového řádku, parted , který lze použít i ve skriptech. Parted je navržen tak, aby minimalizoval možnost ztráty dat. Provádí mnoho bezpečnostních kontrol, aby se zabránilo ztrátě dat v nepředvídaných situacích, například při výpadku napájení.
Parted je bezplatný a open source program, který je standardně dodáván s moderními operačními systémy Linux.
Nainstalujte Parted v Linuxu
Parted je nainstalován se všemi distribucemi Linuxu. V případě, že parted není ve vaší distribuci dostupný, můžete jej nainstalovat spuštěním následujících příkazů.
Chcete-li nainstalovat Parted na Alpine Linux, spusťte:
$ sudo apk add parted
Na Arch Linux, EndeavourOS a Manjaro Linux spusťte:
$ sudo pacman -S parted
Pro Debian/Ubuntu a jeho deriváty spusťte následující příkaz.
$ sudo apt -y install parted
Fedora, RHEL, AlmaLinux a Rocky Linux:
$ sudo dnf install parted -y
Výběr správného zařízení
První věc, kterou si před použitím parted povšimněte, je, který disk se chystáte rozdělit. Když spustíte příkaz parted bez zadání názvu disku jako argumentu, vezme první blokové zařízení, které najde, a použije ho.
$ sudo parted GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Pozor: Měli byste buď použít sudo, nebo se přepnout jako uživatel root a spustit příkaz parted.
Chcete-li použít konkrétní zařízení, musíte zařízení předat (např. /dev/sdc
) jako argument příkazu parted.
$ sudo parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Alternativně můžete uvnitř nástroje parted přepínat mezi různými jednotkami pomocí "select"
příkaz.
(parted) select /dev/sdb
Using /dev/sdb
(parted) select /dev/sdc
Using /dev/sdc
Vytisknout část nápovědy Parted
Chcete-li získat seznam rozdělených příkazů, spusťte help
příkaz.
(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkpart PART-TYPE [FS-TYPE] START END make a partition name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resizepart NUMBER END resize partition NUMBER rm NUMBER delete partition NUMBER select DEVICE choose the device to edit disk_set FLAG STATE change the FLAG on selected device disk_toggle [FLAG] toggle the state of FLAG on selected device set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted
Každý z těchto příkazů má samostatnou sekci nápovědy. Pokud například chcete získat podpůrné možnosti pro print
můžete spustit následující příkaz.
(parted) help print
Vytiskněte tabulku oddílů
Pokud chcete zobrazit tabulku oddílů pro všechna dostupná bloková zařízení, spusťte z terminálu následující příkaz.
$ sudo parted -l
Chcete-li zobrazit tabulku oddílů v obslužném programu parted, použijte "print"
příkaz.
print
příkaz vám poskytne informace, jako je model disku, velikost disku, schéma oddílů a konečně tabulka oddílů. Protože se jedná o nový disk, nejsou vytvořeny žádné oddíly.

Chcete-li získat schéma rozdělení disku, můžete spustit buď print
příkaz uvnitř konzoly Parted nebo spusťte následující příkaz přímo z terminálu.
$ sudo parted /dev/sdc print | grep -i table Partition Table: gpt
Samotné názvy blokovaných zařízení můžete získat předáním "devices"
jako argument příkazu print.
(parted) print devices
/dev/sdc (21.5GB)
/dev/sda (53.7GB)
/dev/sdb (21.5GB)
/dev/sr0 (61.1MB)
Množství volného místa na disku můžete získat předáním "free"
jako argument pro print
příkaz.
(parted) print free Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 17.4kB 21.5GB 21.5GB Free Space
Chcete-li vytisknout všechny informace o zařízení v parted, předejte "list,all"
jako argument pro print
příkaz.
(parted) print list,all
Neoznačený disk
Před vytvořením oddílů pomocí disku by měl být disk označen tak, aby používal konkrétní schéma oddílů. Pokud spustíte příkaz k tisku na neoznačeném disku, zobrazí se ERROR.
(parted) print
Error: /dev/sdc: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
K vytvoření štítku můžete použít buď mklabel
nebo mktable
příkaz. Pokud nemáte ponětí o seznamu podporovaných štítků, spusťte "help mklabel
“ nebo „help mktable
".

Tento disk označím tak, aby používal schéma GPT. Pokud potřebujete schéma oddílů MBR, použijte msdos .
(parted) mklabel gpt
Nyní, když spustíte print
znovu, uvidíte štítek.
Upozornění: Před spuštěním tohoto příkazu se ujistěte, že používáte správný disk. Protože tento příkaz může vymazat celé diskové oddíly na disku s jeho daty.
Vytvořit nové oddíly s Parted
Chcete-li vytvořit oddíly, musíte použít mkpart
příkaz.
Před spuštěním příkazu mkpart se podívejte na informace nápovědy, které poskytují podrobnosti o seznamu možností.
help mkpart
Vytvořím dva oddíly o velikosti 10 GB každý. Pojďme vytvořit první oddíl.
(parted) mkpart Partition name? []? project File system type? [ext2]? ext4 Start? 1 End? 10GB
Tento krok bude interaktivní.
- Vyberte název oddílu.
- Vyberte typ systému souborů. Ve výchozím nastavení je nastavena na
ext2
. - Vyberte počáteční umístění disku. Můžete zadat v MB, GB. Zde jsem dal jako 1, takže to bude začínat od 1 MB.
- Vyberte koncové umístění disku. Zde 10 GB je dáno.
Spusťte print
a uvidíte vytvořený oddíl.
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 10.0GB 9999MB project9999 MB projekt
Vytvořme druhý oddíl. Můžete kombinovat všechny interaktivní vstupy a předat je jako argumenty do mkpart
příkaz.
(parted) mkpart project1 ext4 10001MB 19999MB
Oddíly, které jste vytvořili, ještě nejsou uloženy. Musíte použít "partprobe
", abyste informovali jádro o změnách v tabulce oddílů, které jste provedli.
Ukončete nástroj Parted zadáním "quit
" a spusťte partprobe
příkaz.
$ sudo partprobe
Smazat oddíly
Oddíly můžete odstranit pomocí rm
příkaz. rm
příkaz přijímá číslo oddílu jako argument a smaže tento oddíl.
help rm
Pokud je oddíl aktivní a má již připojený souborový systém, pak je nejlepším postupem nejprve vyčistit data, odpojit systém souborů a poté oddíl odstranit.
Pokud se pokusíte odstranit oddíl, když je používán, budete vyzváni k potvrzení k odstranění oddílu a zobrazí se chyba, že změny se projeví až po restartu. Zvolte „Ignore
".
(parted) rm 1 Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue? Yes/No? yes Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel? ignore
Označení názvu do oddílu
Můžete použít "name
" pro přejmenování nebo přiřazení názvu oddílu. name
příkaz přijímá číslo oddílu jako první argument následovaný novým názvem.
(parted) name 2 p1
Zde měním název oddílu 2 z project1 na p1 .
Změnit velikost oddílu
Oddíl můžete zmenšit nebo rozšířit pomocí resizepart
příkaz. Příkaz resizepart
bere ID oddílu jako argument. Zeptá se vás, jaká by měla být velikost (Konec?).
Pojďme zmenšit první oddíl, který jsem vytvořil. ID oddílu je 1 a velikost oddílu je 10 GB . Zde zmenšuji oddíl na 5 GB .
(parted) resizepart 1
End? [10.0GB]? 5 GB
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Mám svůj druhý oddíl s 5 GB místa a chci přidat další 2 GB a udělat z toho 7 GB.
(parted) resizepart 2 End? [15.0GB]? 17GB
Když nyní vytisknu tabulku oddílů, můj první oddíl se zmenší na 5 GB a druhý oddíl se rozšíří na 7 GB.
Number Start End Size File system Name Flags 1 1049kB 5000MB 4999MB ext4 p1 2 10.0GB 17.0GB 7000MB ext4 p2
Upravit příznaky oddílu
Pomocí set
příkazu, můžete oddílu přiřadit příznak. Chcete-li získat seznam podporovaných příznaků, spusťte následující help
příkaz.
(parted) help set

Řekněme, že pokud chcete označit oddíl jako swapovací oddíl, musíte příkaz spustit následovně
set [partition name] [flag] [ON/OFF] (parted) set 1 swap ON
Vytvořit systém souborů
Doposud jste se naučili pracovat s parted a provádět různé operace s oddíly disku. Jak již možná víte, musíte oddíl naformátovat a připojit, abyste mohli oddíl začít používat.
Vytvořené oddíly můžete zkontrolovat spuštěním lsblk
příkaz.
$ lsblk

Vytvořme souborový systém typu ext4
pro /dev/sdc1
spuštěním následujícího příkazu.
$ mkfs.ext4 /dev/sdc1
Nyní připojte souborový systém do libovolného adresáře, jak chcete, a použijte oddíl.
$ mount /dev/sdc1 /mnt/
$ df -h /dev/sdc1 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 4.6G 19M 4.3G 1% /mnt
Závěr
V tomto článku jsme diskutovali o tom, jak používat nástroj Parted k vytváření a správě diskových oddílů pomocí programu Parted v Linuxu. Také jsme se podívali, jak naformátovat nově vytvořené oddíly pomocí souborového systému ext4 a připojit jej do našeho systému.
Počínaje verzí RHEL 8 navrhuje Red Hat používat nástroj parted namísto fdisk. Pokud se tedy připravujete na certifikaci RHCSA, bude pro vás tento článek velmi užitečný.
Pro stolní uživatele Linuxu existuje verze s GUI parted s názvem GParted . O Gparted si brzy povíme podrobně v samostatném článku. Zůstaňte naladěni!