No link a seguir
para swap file
fins de redimensionamento, o dd
comando é usado da seguinte forma:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
Perguntas:
- Como funcionam os parâmetros
oflag
e ?conv
- Deve-se esperar uma continuidade bem definida dos novos blocos adicionados com zero ao tamanho atual do
swap file
?
Observe apenas no caso do Ubuntu ser 20.04
O manual para
dd
não descreveoflag
muito bem, mas esta resposta de @guiverc explica muito bem:A
conv=notruc
parte é explicitamente mencionada na nota paraoflag
, que informa ao sistema para não truncar um arquivo existente. Não consigo encontrar nada de valor em um manual específico do Ubuntu, mas esta resposta do StackOverflow explica o sinalizador como tal:Essencialmente, o arquivo existente não será reduzido a 0 bytes, mas terá os dados existentes intactos e os novos dados anexados ao final do arquivo de forma contígua.
No entanto, isso deve levantar uma questão: o que acontece se houver um arquivo que existe no espaço que deve ser consumido pelo arquivo de troca à medida que ele se expande?
É onde as coisas começam a ficar interessantes.
Como você está dizendo ao sistema para tornar o arquivo contíguo , se houver outro arquivo no caminho de uma expansão natural de um arquivo em uma unidade de disco giratória, o arquivo inteiro será movido para um local onde haja espaço contíguo suficiente para suporta o arquivo. Se o disco estiver muito fragmentado e não houver espaço suficiente, um
No space left on device
erro será gerado. No entanto, em um disco de estado sólido, isso não é um problema e o arquivo terá o espaço adicional aplicado ao arquivo existente, mesmo que os0
bits sejam armazenados em módulos flash separados.Nota: Veja o Guia Prático de Mark G. Sobell (muito antigo) para Ubuntu Linux para saber mais sobre isso.
Então, com isso disse:
P. Como funcionam os parâmetros oflag e conv?
Veja acima.
P. Deve-se esperar uma continuidade bem definida dos novos blocos adicionados com zero ao tamanho atual do arquivo de troca?
Sim. Veja acima.