Eu tenho um script que eu executo para otimizar o espaço em disco antes de fazer backup de um convidado virtual (realmente não importa muito qual hipervisor é usado).
As versões modernas do Ubuntu (por exemplo, 18.04) parecem usar como padrão /swapfile
uma partição, e não uma partição. Tudo bem também.
No entanto, eu gostaria de preencher o arquivo de swap juntamente com a partição raiz que o contém.
Com as partições de troca, isso era relativamente simples, pois havia sempre uma maneira de extrair a existente $UUID
da partição de troca e - após o preenchimento da partição - executar mkswap -U $UUID
para recriar a referida partição de troca.
No entanto, com o /swapfile
eu não vejo como fazer isso. Enquanto eu percebo que você não pode montar um /swapfile
por UUID /etc/fstab
, eu ainda quero manter o UUID.
Acho que preciso de um dos seguintes procedimentos para prosseguir:
- Eu preciso de um método que possa preencher o arquivo de swap sem também limpar as estruturas que o tornam uma partição de swap (ou seja, evitar a execução
mkswap -U $UUID
) - Eu preciso de um método para recuperar o UUID existente de um arquivo de swap (em oposição a uma partição onde eu posso usar qualquer coisa, desde
blkid
olhar/dev/disk/by-uuid/$UUID
...)
blkid
com um parâmetro. Acho que devo fazer isso em vez de, por exemplo, usardd
com um deslocamento.blkid
. Dependendo da versão, você poderáblkid swap -o value -s uuid
extrair apenas o UUID.blkid -o export <file>
qual o tubo I por meiosed
de precederlocal
a cada linha e, em seguida,eval
usando Bash. Dessa forma, tenho os valores em minha função como variáveis de ambiente local imediatamente.