> From: Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> > Date: Wed, 07 May 2014 17:33:38 +0400 > > VD> osync Pad the final output block to the full output block size. If > VD> the input file is not a multiple of the out- put block size after > VD> conversion, this conversion forces the final output block to be the > VD> same size as preceding blocks for use on devices that require > VD> regularly sized blocks to be written. This option is incompatible > VD> with use of the bs=n block size specification. > >Я ведь не поленился провести эксперимент с osync. Сделал файл некратного >размера 1048577 байт. При попытке его "dd bs=64k" возникает ошибка >"(sa0:sym0:0:5:0): Invalid request. Variable block device requests must be >between 4 and 16777212 bytes" > >Ладно, применяем способ с osync. > >dd if=sobaka of=$TAPE conv=osync obs=64k
А без obs проборвал?
>файл конечно записался без сообщений об ошибках, но... это уже не тот файл. При >считывании его с ленточки он удлинился и md5 стал другой.
Ещё бы. Hасколько мне известно, коллизиq MD5 разной длины пока что не нашли.
>Так что либо я совет воспользоваться osync как-то неправильно понял,
Всё правильно ты понял. Хочешь писать на ленту ddой - используй osync.
>или это >вредительский совет. Если tar и способен распознать паддинг в конце архива, то >с произвольным файлом так поступать ни в коем случае нельзя.
Ты таки удивишься, но твой bzip2-архив тоже не испортится от паддинга в конце. Равно как и документы Microsoft Office (что старого, что нового формата), образа известных файловых систем, JPEG-картинки и всякие прочие вполне произвольные файлы. Более того, я навскидку и не могу привести пример файла, который бы испортился от этого. Разве что какой-нибудь подписанный opaque blob.