Existen muchas utilidades, como fdisk, cdisk, para particionar el disco duro en sistemas Linux y similares a Unix. En este artículo, nos centraremos en cómo usar la utilidad parted para crear una partición y administrar particiones de disco (redimensionar, eliminar particiones) en Linux.
¿Qué es Parted?
GNU Parted es un conjunto de línea de comandos para crear y manipular tablas de partición en sistemas Linux y Unix. Usando Parted, uno puede crear, cambiar el tamaño, eliminar particiones, reorganizar el uso del disco, copiar datos y crear imágenes de disco.
Parted contiene una biblioteca, libparted , así como una interfaz de línea de comandos, parted , que también se puede utilizar en scripts. Parted está diseñado para minimizar la posibilidad de pérdida de datos. Realiza muchas comprobaciones de seguridad para evitar la pérdida de datos en situaciones imprevistas, por ejemplo, cortes de energía.
Parted es un programa gratuito y de código abierto que viene con los sistemas operativos Linux modernos de forma predeterminada.
Instalar Parted en Linux
Parted viene instalado con todas las distribuciones de Linux. En caso de que parted no esté disponible en su distribución, puede ejecutar los siguientes comandos para instalarlo.
Para instalar Parted en Alpine Linux, ejecute:
$ sudo apk add parted
En Arch Linux, EndeavourOS y Manjaro Linux, ejecute:
$ sudo pacman -S parted
Para Debian/Ubuntu y sus derivados, ejecute el siguiente comando.
$ sudo apt -y install parted
Fedora, RHEL, AlmaLinux y Rocky Linux:
$ sudo dnf install parted -y
Elegir el dispositivo adecuado
Lo primero que debe tener en cuenta antes de usar parted es qué disco va a particionar. Cuando ejecuta el comando parted sin pasar el nombre del disco como argumento, tomará el primer dispositivo de bloque que encuentre y lo usará.
$ sudo parted GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Aviso: Debería usar sudo o cambiar como usuario root y ejecutar el comando parted.
Para usar el dispositivo en particular, debe pasar el dispositivo (por ejemplo, /dev/sdc
) como argumento del comando dividido.
$ sudo parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Alternativamente, desde dentro de la utilidad separada, puede cambiar entre diferentes unidades usando el "select"
comando.
(parted) select /dev/sdb
Using /dev/sdb
(parted) select /dev/sdc
Using /dev/sdc
Imprimir sección de ayuda dividida
Para obtener la lista de comandos divididos, ejecute la help
comando.
(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
Cada uno de estos comandos tiene una sección de ayuda separada. Por ejemplo, si desea obtener las opciones de soporte para print
puede ejecutar el siguiente comando.
(parted) help print
Imprimir la tabla de particiones
Si desea ver la tabla de particiones para todos los dispositivos de bloque disponibles, ejecute el siguiente comando desde la terminal.
$ sudo parted -l
Para ver la tabla de particiones dentro de la utilidad dividida, use "print"
dominio.
La print
El comando le dará información como el modelo de disco, el tamaño del disco, el esquema de partición y, por último, la tabla de partición. Como se trata de un disco nuevo, no se han creado particiones.
Para obtener el esquema de partición del disco, puede ejecutar print
Comando dentro de la consola separada o ejecuta el siguiente comando directamente desde la terminal.
$ sudo parted /dev/sdc print | grep -i table Partition Table: gpt
Puede obtener los nombres de los dispositivos de bloque solo pasando "devices"
como argumento para el comando de impresión.
(parted) print devices
/dev/sdc (21.5GB)
/dev/sda (53.7GB)
/dev/sdb (21.5GB)
/dev/sr0 (61.1MB)
Puede obtener la cantidad de espacio libre que queda en el disco pasando "free"
como argumento para print
comando.
(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
Para imprimir toda la información del dispositivo dentro de parted, pase "list,all"
como argumento para print
comando.
(parted) print list,all
Disco sin etiqueta
Antes de crear particiones usando la unidad, la unidad debe estar etiquetada para usar un esquema de partición particular. Si ejecuta el comando de impresión en un disco sin etiqueta, puede ver el 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:
Para crear una etiqueta, puede usar mklabel
o mktable
dominio. Si no tiene idea de la lista de etiquetas admitidas, ejecute "help mklabel
" o "help mktable
".
Voy a etiquetar esta unidad para usar el esquema GPT. Si necesita un esquema de partición MBR, use msdos .
(parted) mklabel gpt
Ahora, si ejecuta print
comando de nuevo, puede ver la etiqueta.
Precaución: Antes de ejecutar este comando, asegúrese de estar utilizando el disco correcto. Porque este comando puede borrar todas las particiones de un disco con sus datos.
Crear nuevas particiones con Parted
Para crear particiones, debe usar mkpart
dominio.
Antes de ejecutar el comando mkpart, eche un vistazo a la información de ayuda que le dará detalles sobre la lista de opciones.
help mkpart
Voy a crear dos particiones de 10 GB cada una. Vamos a crear la primera partición.
(parted) mkpart Partition name? []? project File system type? [ext2]? ext4 Start? 1 End? 10GB
Este paso será interactivo.
- Elija un nombre para la partición.
- Elija el tipo de sistema de archivos. De forma predeterminada, se establece en
ext2
. - Elija la ubicación inicial del disco. Puede especificar en términos de MB, GB. Aquí he dado como 1, por lo que comenzará a partir de 1 MB.
- Elija la ubicación final del disco. Aquí, 10 GB se da.
Ejecute la print
comando y podrás ver la partición creada.
(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
Vamos a crear la segunda partición. Puede combinar todas las entradas interactivas y pasarlas como argumentos a mkpart
comando.
(parted) mkpart project1 ext4 10001MB 19999MB
Las particiones que creó aún no se han guardado. Tienes que usar el "partprobe
" Comando para informar al núcleo sobre los cambios que ha realizado en la tabla de particiones.
Salga de la utilidad separada escribiendo "quit
" y ejecute partprobe
comando.
$ sudo partprobe
Eliminar particiones
Puede eliminar las particiones usando el rm
dominio. El rm
El comando acepta el número de partición como argumento y elimina esa partición.
help rm
Si la partición está activa y ya tiene un sistema de archivos montado, la mejor práctica es limpiar primero los datos, desmontar el sistema de archivos y luego eliminar la partición.
Si intenta eliminar la partición cuando está en uso, se le solicitará una confirmación para eliminar la partición y le arrojará un error que indica que los cambios serán efectivos después del reinicio. Elija "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
Etiquetado de nombre a la partición
Puede utilizar el "name
" para renombrar o asignar un nombre a la partición. El name
El comando acepta el número de partición como primer argumento seguido del nuevo nombre.
(parted) name 2 p1
Aquí estoy cambiando el nombre de la partición 2 de proyecto1 a p1 .
Cambiar el tamaño de la partición
Puede reducir o ampliar la partición utilizando resizepart
dominio. El comando resizepart
toma el ID de la partición como argumento. Te preguntará cuál debe ser el tamaño (¿Fin?).
Reduzcamos la primera partición que creé. El ID de partición es 1 y el tamaño de la partición es 10 GB . Aquí estoy reduciendo la partición a 5GB .
(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
Tengo mi segunda partición con 5 GB de espacio y deseo agregar 2 GB más y convertirla en 7 GB.
(parted) resizepart 2 End? [15.0GB]? 17GB
Ahora, si imprimo mi tabla de particiones, mi primera partición se reduce a 5 GB y la segunda partición se amplía a 7 GB.
Number Start End Size File system Name Flags 1 1049kB 5000MB 4999MB ext4 p1 2 10.0GB 17.0GB 7000MB ext4 p2
Modificar indicadores de partición
Usando el set
comando, puede asignar un indicador a la partición. Para obtener la lista de indicadores admitidos, ejecute la siguiente help
comando.
(parted) help set
Digamos que si desea etiquetar una partición como partición de intercambio, debe ejecutar el comando de la siguiente manera
set [partition name] [flag] [ON/OFF] (parted) set 1 swap ON
Crear sistema de archivos
Hasta ahora ha aprendido a trabajar con parted para realizar diferentes operaciones de partición de disco. Como ya sabrá, debe formatear la partición y montarla para comenzar a usarla.
Puede verificar las particiones creadas ejecutando lsblk
comando.
$ lsblk
Vamos a crear un sistema de archivos de tipo ext4
para /dev/sdc1
ejecutando el siguiente comando.
$ mkfs.ext4 /dev/sdc1
Ahora monte el sistema de archivos en cualquier directorio que desee y use la partición.
$ mount /dev/sdc1 /mnt/
$ df -h /dev/sdc1 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 4.6G 19M 4.3G 1% /mnt
Conclusión
En este artículo, hemos discutido cómo usar la utilidad Parted para crear y administrar particiones de disco con el programa Parted en Linux. También vimos cómo formatear las particiones recién creadas con el sistema de archivos ext4 y montarlo en nuestro sistema.
A partir de la versión 8 de RHEL, Red Hat sugiere utilizar la utilidad dividida en lugar de fdisk. Entonces, si usted es alguien que se está preparando para la certificación RHCSA, este artículo le será de gran utilidad.
Para usuarios de escritorio Linux, hay una versión GUI de parted llamada GParted . Hablaremos sobre Gparted en detalle en un artículo separado pronto. ¡Estén atentos!