GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi separati per gestire la partizione del disco

Parted è un'utilità GNU gratuita utilizzata per gestire le partizioni del disco rigido dalla riga di comando. Può creare, eliminare, ridimensionare e stampare la partizione del disco e altro su Linux.

Più spesso utilizziamo lo strumento parted per il partizionamento del disco per eseguire più sistemi operativi, allocare spazio di sistema specifico o separare file importanti o estendere volumi.

Tradizionalmente molti utenti utilizzano lo strumento fdisk per il partizionamento, il motivo principale per utilizzare parted quando la dimensione del disco supera i 2 TB. Inizialmente si è separato supportava solo GPT e da util-linux 2.23 fdisk ha iniziato a supportare anche GPT.

In questo tutorial, mostrerò come utilizzare il comando parted per la gestione del disco in Linux

Installa Parted su Linux

Parted è installato per impostazione predefinita sulla maggior parte delle moderne distribuzioni Linux. Se non è incluso nella tua distribuzione, installa parted manualmente.

Installazione di parted su distribuzioni aromatizzate Ubuntu e Debian:

$ sudo apt-get install parted

Installazione parziale su CentOS e RHEL:

$ sudo yum install parted

Quando esegui il comando parted senza alcuna opzione, stamperà la versione del pacchetto parted, scegli la prima unità per impostazione predefinita e attendi al prompt per comandi aggiuntivi. Il comando Parted deve essere eseguito come root o come utente con accesso Sudo.

$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Digita quit per uscire dal prompt separato.

Importante: Tutte le modifiche vengono apportate al disco non appena viene digitato il comando.

Elenca le partizioni del disco

Verifichiamo come stampare tutte le informazioni sul disco e le sue partizioni. Per impostazione predefinita, parted scegli la prima unità. Per stampare tutte le partizioni del disco, digita print all .

Nota:l'avviso visualizzato nell'output è dovuto al fatto che il disco ha spazio su disco non allocato di cui è ancora necessario eseguire il provisioning.

ubuntu@linoxide:~$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
                                                                       (parted) print all
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot

Warning: Not all of the space available to /dev/xvdb appears to be
used, you can fix the GPT to use all of the space (an extra 25165824
blocks) or continue with the current setting?
                                                                                                                                              Fix/Ignore? Ignore
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext4         primary
 2      1024MB  2048MB  1023MB  ext4         primary
(parted)

Invece, puoi anche usare un singolo comando:

$ sudo parted /dev/xvda print all

Se hai più dischi, puoi scegliere tra i dischi usando il comando select:

Trova spazio non allocato sul disco

Per trovare lo spazio non allocato, scegli il tuo disco, quindi esegui print free comando.

Più avanti discuteremo come usare il comando resizepart per estendere la partizione quando hai più spazio su disco non allocato.

Crea una nuova partizione del disco usando parted

Normalmente un sistema operativo è installato sul primo disco /dev/sda . Quando aggiungi un nuovo disco, il sistema operativo sceglierà il numero successivo come /dev/sdb . Per illustrare sto usando un disco virtuale Xen che usa la convenzione di denominazione come /dev/xvd .

Ho aggiunto un nuovo disco da 20 GB e puoi vederlo come unrecognised disk label .

Il primo passo sarebbe impostare l'etichetta del disco richiesta, l'etichetta del disco supportata è bsd, loop, gpt, mac, msdos, pc98 e sun.

(parted) mklabel msdos

Ora segmenterò /dev/xvdb in due partizioni primarie con la prima partizione da 10 GB e la seconda partizione da 5 GB.

Per creare una nuova partizione utilizziamo mkpart comando con inizio 0 e fine 10000:

Per creare la seconda partizione, esegui nuovamente il comando mkpart specificando la dimensione iniziale e finale

Nota:il concetto di "primario" riflette da MBR, a GPT non interessa ma deve comunque aggiungere un nome.

Puoi anche utilizzare mkpart per creare la partizione che copre l'intera unità specificando la percentuale da utilizzare (qui da 0% a 100%).

Ad esempio:

$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

Invece di usare il comando print, puoi eseguire comandi alternativi come lsblk , fdisk -l to see partitions created.

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   18M  1 loop /snap/amazon-ssm-agent/1566
loop1     7:1    0 93.8M  1 loop /snap/core/8935
loop2     7:2    0 93.9M  1 loop /snap/core/9066
xvda    202:0    0    8G  0 disk
└─xvda1 202:1    0    8G  0 part /
xvdb    202:16   0   20G  0 disk
├─xvdb1 202:17   0  9.3G  0 part
└─xvdb2 202:18   0  4.7G  0 part
$

Ora possiamo formattare la partizione (/dev/xvdb1) con il filesystem ex4, utilizzare mkfs.ext4 come segue:

$ sudo mkfs.ext4 /dev/xvdb1

Ridimensiona la partizione del disco usando resizepart

Per far crescere la partizione, è necessario prima ridimensionarla. Ridimensionare semplice significa spostare la posizione finale di una partizione.

Qui ridimensionerò la seconda partizione di /dev/xvdb, spostando la posizione finale su 20000:

(parted) resizepart


Nota:growpart è un altro utile strumento disponibile su Linux per estendere una partizione.

Per ridimensionare ogni file system alla nuova capacità, è necessario eseguire il comando specifico del file system. Per estendere il filesystem in Linux usa resize2fs comando come segue:

$ sudo resize2fs /dev/xvdb2
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/xvdb2 to 2441340 (4k) blocks.
The filesystem on /dev/xvdb2 is now 2441340 (4k) blocks long.

Elimina la partizione da un disco scelto

Per eliminare una partizione dovresti conoscere il numero di partizione sul disco. Usa print comando in parted per mostrare tutta la partizione e il numero corrispondente.

Per eliminare puoi usare il comando rm seguito dal numero della partizione. Qui elimineremo la 2a partizione come mostrato di seguito:

(parted) rm 2

Imposta flag sulle partizioni

Parted permette di impostare flag sulla partizione. Non sorprenderti, alcuni flag dipendono dalle etichette del disco. Una bandiera può essere attivata o disattivata. I flag più comuni sono boot, lab, swap, raid, LVM, ecc.

Il comando seguente imposta il flag LVM sulla partizione 2:

(separato) imposta 2 LVM su

Un altro esempio pratico quando dobbiamo impostare una partizione di avvio:

(parted) set 2 boot on

Salvataggio della partizione del disco Linux

Rescue viene in aiuto quando elimini accidentalmente una partizione. Una partizione persa può essere recuperata individuando tra l'inizio e la fine.

Eliminiamo la partizione 1 su /dev/xvdb e usiamo il comando rescue per recuperarla:

(parted) rescue

Imposta unità predefinita

Il comando dell'unità in parted aiuta a impostare un'unità predefinita per visualizzare le capacità e le posizioni.
le unità supportate sono:

KiB- kibibyte 
MiB - mebibyte
GiB - gibibyte
TiB - tebibyte
kB - kilobyte
MB - megabyte
GB - gigabyte
TB - terabyte
% - percentage of the device
cyl - cylinders
chs - cylinders, heads, sectors addressing
compact - Use human-readable representation for output

Il comando seguente imposta l'unità su compatta:

(parted) unit compact
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot
(parted)

Puoi anche stampare in unità come segue:

(parted) unit GB print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8.59GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      0.00GB  8.59GB  8.59GB  primary  ext4         boot

(parted)

Conclusione

Al momento dell'aggiornamento di questo tutorial, stiamo utilizzando la versione 3.1 parted ed è bene verificare i comandi attualmente supportati usando -h opzione. Parted scrive direttamente sul disco, quindi fai attenzione quando esegui qualsiasi comando.

Quando apporti modifiche, assicurati di scegliere l'unità corretta, altrimenti potrebbe causare la perdita di dati.

Se hai domande o pensieri da condividere su questo argomento, utilizza la sezione commenti qui sotto.


Linux
  1. Partizionare un'unità su Linux con GNU Parted

  2. Come partizionare un disco in Linux

  3. 8 Comandi "divisi" di Linux per creare, ridimensionare e ripristinare le partizioni del disco

  4. Come gestire una partizione di scambio in Linux

  5. Come creare una partizione su Linux per dimensioni di 2 TB utilizzando Parted GPT

Crea e gestisci le partizioni del disco con Parted in Linux

Come creare e gestire le partizioni del disco con Fdisk in Linux

Come creare e gestire partizioni Linux utilizzando Parted

Partizionamento usando i comandi parted e fdisk

Come crittografare la partizione su Linux

Comprensione dell'utilità separata di Linux