GNU/Linux >> Znalost Linux >  >> Linux

Vytvářejte a spravujte diskové oddíly pomocí Parted v Linuxu

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               project
9999 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!


Linux
  1. Rozdělte disk na Linuxu pomocí GNU Parted

  2. Příkaz Fdisk v Linuxu (Správa oddílů)

  3. Obnovte oddíly a soubory pomocí TestDisk

  1. 8 Linuxových „Parted“ příkazů pro vytvoření, změnu velikosti a záchranu diskových oddílů

  2. Spravujte disky pomocí DiskPart

  3. Jak vytvořit oddíl v Linuxu pro velikost 2 TB pomocí Parted GPT

  1. Vytváření a správa oddílů v Linuxu s parted

  2. Jak vytvořím nové oddíly a naformátuji pevný disk na části?

  3. Vytvořte a naformátujte oddíl exFAT z Linuxu