shamelessly stolen from nixCraft on mastodon

    • AccountMaker@slrpnk.net
      link
      fedilink
      arrow-up
      19
      ·
      7 months ago

      I actually did this once. My USB was on /dev/sda instead of sdb and I didn’t bother to check. It took me like 2 days to fix it because you can’t just delete partitions and start over normally, it changes some flags on your drive that you need to manually reset for them to be usable again. Fun times.

      • psion1369@lemmy.world
        link
        fedilink
        arrow-up
        14
        ·
        7 months ago

        I once mistyped and didn’t realize until it was done that I wrote a Fedora ISO to the home partition. I didn’t even realize what I did until everything was done and wiped out.

    • kbotc@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      5
      ·
      7 months ago

      Disk Duplicator is a destroyer? Man, I used to image so many drives with DD back in my helpdesk days…

      • Affine Connection@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        7 months ago

        dd does not stand for “disk duplicator”. That’s a modern backronymization that doesn’t reflect the original general usage of the command which is to “convert and copy”. Efficiently (with respect to I/O) copying raw data is only one of its intended purposes; it also converts text encodings.

    • Molten_Moron@lemmings.world
      link
      fedilink
      arrow-up
      6
      ·
      7 months ago

      I haven’t touched dd since I read that about a year ago, super interesting!

      For people that use dd because they like the progress bar, I highly recommend pv.

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

      Except the proposed alternative should not be cp or pv, but dd bs=4M oflag=direct,sync status=progress.

      I feel like I’m taking crazy pills with all the advice in this thread, because for USB keys you will otherwise end up instantly filling the write cache… which will block the apparent progress of the copy operation (so why even use pv since all you’re doing is measuring your RAM speed and available cache size) as well as heavily slow down (even potentially partially freeze in some circumstances) the rest of your system as the kernel is running out of free pages and can’t flush caches fast enough due to the slow-ass write speeds of usb keys.

      * (Alternatively there is a kernel setting somewhere to disable caching globally for a block device… but in most cases caching is good, just not when you’re flashing an ISO).

      • MonkderZweite@feddit.ch
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        7 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
          ·
          7 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.

    • Affine Connection@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      7 months ago

      It was less useless for that purpose when cp and cat were less I/O efficient compared to dd with the appropriate block size, which isn’t as much the case now as it used to be.

    • bzLem0n@lemmy.ca
      link
      fedilink
      arrow-up
      16
      ·
      7 months ago

      It’s even easier to prevent confusion if you use /dev/disk/by-id/ id’s, it only took a few times of overwriting the wrong disk to figure that out.

        • Nithanim@programming.dev
          link
          fedilink
          arrow-up
          6
          ·
          7 months ago

          Not sure if it is equal on all distros but on every one I have used it’s a readable string of muliple components. One of them is “usb” for a usb mass storage, so if it is the only one you have connected to your computer it is very obvious. For like sata disks it has the manufacturer and serial on it so you can match what drive it is you want to write to. Also, the name is pretty unique (on your sysytem at least, globally I don’t know), so even if you swap hardware around, you cannot write to the wrong storage if you got the right name. Like “sdb” can be reassigned, but the id is an id.

      • MaliciousKebab@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 months ago

        When I accidentally decimated my external hard drive, it had NTFS cause there were a few windows machines I would plug it in. Then I reformatted the disk but then I thought to myself, should I have another partition for my Linux machine because that drive gets corrupted and then I need to plug to a Windows machine to repair it once in a while. Then I created an ext4 partition on the disk. Then a few days after I shrinked the NTFS partition and extended the ext4 to the whole disk. Now that disk only has one partition called sda2. Which is kinda weird but makes it easier to distinguish from others disks on the system.

    • Holzkohlen@feddit.de
      link
      fedilink
      arrow-up
      7
      ·
      7 months ago

      I just make use of my paranoia, so I triple and quadruple check. Then get a coffee and quadruple check again. Never messed up once

    • MeanEYE@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      7 months ago

      Even if it’s similar names I’d normally plug in USB, do dmesg, then issue a command with latest device name.

  • foyrkopp@lemmy.world
    link
    fedilink
    arrow-up
    19
    ·
    7 months ago

    Anyone who hits enter on a dd command without triple-checking it gets exactly what they deserve.

  • Hupf@feddit.de
    link
    fedilink
    arrow-up
    14
    ·
    7 months ago

    I always prefer the bulkier /dev/disk/by-id/ symlinks because of this