Problem with dd and /dev/sr0

jd1008 jd1008 at gmail.com
Mon Mar 14 18:56:44 UTC 2016



On 03/14/2016 11:29 AM, Rick Stevens wrote:
> On 03/14/2016 10:23 AM, jd1008 wrote:
>>
>> On 03/14/2016 11:17 AM, Rick Stevens wrote:
>>> On 03/14/2016 10:11 AM, jd1008 wrote:
>>>> Hi all,
>>>> time dd if=/dev/sr0 of=Our_Group_Picnic.iso bs=64M skip=5888
>>>> conv=noerror,notrunc oflag=append
>>>> dd: ‘/dev/sr0’: cannot skip: Invalid argument
>>>> 0+0 records in
>>>> 0+0 records out
>>>> 0 bytes (0 B) copied, 0.000301689 s, 0.0 kB/s
>>>>
>>>> but
>>>>
>>>> {3464-jd at localhost}$ time dd if=/dev/sr0 of=Our_Group_Picnic.iso 
>>>> bs=64M
>>>> conv=noerror,notrunc
>>>>
>>>> works just fine.
>>>>
>>>> So why is it that skip des not work on optical media?
>>>
>>> Skip works fine, but you must specify the units. "skip=5888" doesn't
>>> tell dd how far to skip. E.g. "skip=5888c" would skip 5888 bytes. From
>>> the man page:
>>>
>>>     N and BYTES may be followed by the following multiplicative
>>>     suffixes: c=1, w=2, b=512, kB =1000, K=1024, MB=1000*1000,
>>>     M=1024*1024, xM=M  GB=1000*1000*1000, G=1024*1024*1024, and
>>>     so on for T, P, E, Z, Y.
>> I thought that bs=64M  applies to all io for input and output, and skip.
>> I did not specify ibs= nor obs=, just bs=
>
> I've rarely used "ibs" and "obs" separately, just "bs". That being said,
> I've always used the suffix with "skip".
>
> It may be that "bs" does not set "ibs", so a "skip=5888" wouldn't have
> the size. Don't know that for a fact, but it's possible. Stranger things
> have been known to happen.
Well, it is also doing it on regular files. To wit:

$ ls -l
total 13662104K
-rw-r--r-- 1 jd jd 5970991104 Mar 14 12:15 test
-rw-r--r-- 1 jd jd 8018991104 Mar 14 12:02 Our_Group_Picnic.iso
{3507-jd at localhost}$ time dd if=Our_Group_Picnic.iso of=test bs=2K 
skip=2915523K conv=noerror,notrunc oflag=append
dd: ‘Our_Group_Picnic.iso’: cannot skip to specified offset
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000263412 s, 0.0 kB/s

real    0m0.00s
user    0m0.00s
sys     0m0.00s


So .... What's with dd???

This is a new behavior as far as I know. I have been using it since bsd 2.X
and skip always worked.

Installed is package:  coreutils-8.23-11.fc22.x86_64


More information about the users mailing list