gzip 압축 파일(약 3Kb)이 있는데 크기가 정확히 4000이기를 원합니다.
이를 달성하기 위해 후행 패딩 0을 추가하는 것이 안전합니까? (보안이란 gzip으로 압축된 파일의 내용을 오류 없이 압축할 수 있다는 의미입니다.)
dd if=/dev/zero of=/myfile bs=1 count=4000
dd if=/gzipfile.gz of=/myfile
이것이 안전하지 않다면 대안이 있습니까?
답변1
매뉴얼 페이지에서:
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.
그래서 당신은 안전해 보이는군요.
conv=notrunc
두 번째 호출을 통과해야 하기 때문에 코드가 작동하지 않습니다
dd
.
또는 다음을 수행할 수 있습니다.
dd bs=4000 seek=1 count=0 of=file.gz
또는
truncate -s 4000 file.gz
크기를 4000바이트로 만드세요(실제로 0을 쓸 필요 없이 희소하게 만드세요).