Tengo un script que ejecuto para optimizar el espacio en disco antes de hacer una copia de seguridad de un invitado virtual (realmente no importa demasiado qué hipervisor se use).
Las versiones modernas de Ubuntu (por ejemplo, 18.04) parecen usar por defecto /swapfile
una partición en lugar de una partición. Eso también está bien.
Sin embargo, me gustaría rellenar el archivo de intercambio junto con la partición raíz que lo contiene.
Con las particiones de intercambio, esto era relativamente sencillo, ya que siempre había una forma de extraer lo existente $UUID
de la partición de intercambio y, después de completar la partición, ejecutar mkswap -U $UUID
para volver a crear dicha partición de intercambio.
Sin embargo, con el /swapfile
no veo cómo hacer eso. Si bien me doy cuenta de que no puede montar un /swapfile
UUID /etc/fstab
, todavía quiero retener el UUID.
Así que creo que necesito uno de los siguientes para proceder:
- Necesito un método que pueda rellenar el archivo de intercambio sin borrar también las estructuras que lo convierten en una partición de intercambio (es decir, evitar tener que ejecutarse
mkswap -U $UUID
) - Necesito un método para recuperar el UUID existente de un archivo de intercambio (en lugar de una partición donde puedo usar cualquier cosa
blkid
para mirar/dev/disk/by-uuid/$UUID
...)
blkid
con un parámetro. Supongo que debería estar haciendo eso en lugar de, por ejemplo, usarlodd
con un desplazamiento.blkid
. Dependiendo de la versión, puede hacerblkid swap -o value -s uuid
para extraer solo el UUID.blkid -o export <file>
lo que pasosed
para anteponerlocal
cada línea y luegoeval
usar Bash. De esta manera, tengo los valores en mi función como variables de entorno local de inmediato.