Da página do manual:
CAVEATS When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gun‐ zip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You have to use the --quiet option to suppress the warning.
Então, parece que você está seguro.
Note que o seu código não funciona, já que você precisa passar
conv=notrunc
na segunda invocação de dd
.
Como alternativa, você pode fazer:
dd bs=4000 seek=1 count=0 of=file.gz
ou
truncate -s 4000 file.gz
Para torná-lo 4000 bytes grandes (sem realmente escrever zeros, apenas torne-o escasso).