Para resumir, necesito realizar todo esto automáticamente en el arranque (sistema integrado).
Nuestros ingenieros mostrarán imágenes en dispositivos de producción. Estas imágenes contendrán una pequeña tabla de particiones. En el arranque, necesito expandir automáticamente la última partición (# 3) para usar todo el espacio disponible en el disco.
Esto es lo que obtengo cuando miro el espacio libre en mi disco.
> parted /dev/sda print free
Model: Lexar JumpDrive (scsi)
Disk /dev/sda: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
1 1049kB 25.3MB 24.2MB fat16 primary legacy_boot
25.3MB 26.2MB 922kB Free Space
2 26.2MB 475MB 449MB ext4 primary
3 475MB 1549MB 1074MB ext4 primary
1549MB 32.0GB 30.5GB Free Space
Necesito expandir la partición 3 por N (30.5GB) número de bytes
¿Cómo realizo este paso automáticamente, sin aviso? Esto debe funcionar con un tamaño dinámico de espacio disponible después de la tercera partición.

resizepartcomando, y funciona, pero requiere un tamaño exacto. Necesito que sea dinámico.resize2fspodría ser lo que estoy buscando. linux.die.net/man/8/resize2fsRespuestas:
En las versiones actuales de
parted,resizepartdebería funcionar para la partición (partedcomprende100%o cosas por el estilo-1s, este último también debe--detener las opciones de análisis en la línea de cm). Para determinar el valor exacto puede utilizarunit s,print free.resize2fsviene luego para el sistema de archivos.Las versiones anteriores de
partedtenían unresizecomando que redimensionaría tanto la partición como el sistema de archivos de una vez, incluso funcionóvfat.En una modificación del lector electrónico Kobo, utilicé esto para cambiar el tamaño de la tercera partición de la memoria interna al máximo: (asume ciegamente que no hay una cuarta partición y una tabla y cosas de msdos)
Entonces también puede obtener los valores
/sys/block/.../si el núcleo lo admite. Peropartedeliminó elresizecomando, por lo que debe hacer dos pasos ahora,resizepartpara aumentar la partición y cualquier herramienta que su sistema de archivos proporcione para aumentar eso,resize2fspor ejemploext*.fuente
partedNo admite la extensión automática desde la línea de comando? Porque, no lo apoyan de forma interactiva. Si se ejecuta de forma interactiva, le preguntará si desea arreglar la tabla de particiones GPT para que coincida con el tamaño del disco (tipofix), y luego puede ejecutarresizepart 3 -1. He estado tratando de descubrir cómo hacerlo desde la línea de comandos.Al no poder escribir correctamente la partición (solicitó confirmación porque la partición estaba montada y al contrario de otras respuestas que encontré no entendía
-1so100%), acabo de encontrar la herramienta growpart que hace exactamente esto.El uso es simple:
growpart /dev/sda 3(y luegoresize2fs /dev/sda3, u otro comando apropiado para el tipo de sistema de archivos utilizado).En Debian y Ubuntu está empaquetado como cloud-guest-utils .
fuente
La forma correcta de hacer esto es usar el hecho de que dividido tiene la noción de porcentajes. Entonces
fuente
En Ubuntu 18.04, puedo cambiar el tamaño para llenar el espacio no asignado en un script con lo siguiente:
Es posible que no sea necesario montar antes de cambiar el tamaño. Lo hice para suprimir una consulta de resize2fs para la entrada del usuario.
fuente