shamelessly stolen from nixCraft on mastodon

  • MonkderZweite@feddit.ch
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    so why even use pv since all you’re doing is measuring your RAM speed and available cache size

    This is probably why pv progress fills in a second but is only done after a few minutes. Nonetheless, shell redirect, cat, cp work fine and handle blocksize and cache dynamically.

    Your worst case scenario never happened to me after years of using pv/cp for flashing sticks/overwriting/copying partitions, even with some …risky mount settings. Honestly doesn’t make much sense to me either. Again, dd isn’t some sort of magical safe handle to make the process progress smoothly. Like i use to say, dd is a skalpell, not a shovel.

    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      I mean yeah, the bits end up where they should. It’s just that the speed/progress indication is near useless with pv since at the end of the copy you still need to wait for the entire write buffer to be flushed (2 GiB in my experience, which can take several minutes).

      So IMO dd with at least oflag=osync,odirect is safer than cp and pv with which a newbie might forget to run sync and unplug the usb key immediately, so they’ll be missing a lot of data.

      Maybe some people use dd for the wrong reason, it’s their problem, but the solution is to use dd bs=4M oflag=osync,odirect, not to use cp.