• superkret@feddit.org
    link
    fedilink
    arrow-up
    43
    ·
    edit-2
    3 days ago

    WARNING:

    Don’t ever do this on a current bare metal system!
    Even if you have everything backed up, plan on re-installing anyway, and just want to see what happens.

    On a modern EFI system, recursively deleting everything (including the EFI path) has a chance of permanently hard-bricking your computer!
    https://github.com/systemd/systemd/issues/2402

    • Lucy :3@feddit.org
      link
      fedilink
      arrow-up
      10
      ·
      3 days ago

      But Windows 95/XP does not run on EFI systems, so they aren’t used in the BRD. We’re save!

    • A_Very_Big_Fan@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      3 days ago

      Why would it be a permanent brick? Shouldn’t a flashdrive and access to BIOS be enough to get your PC working again?

      • superkret@feddit.org
        link
        fedilink
        arrow-up
        24
        ·
        edit-2
        3 days ago

        In a properly implemented EFI, this should be possible. But there have been cases with improperly implemented EFI in some laptops/motherboards where the computer won’t POST after /sys/firmware/efi/efivars/ was nuked. In that case, accessing BIOS or booting from a flashdrive isn’t possible anymore.

        • Acters@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          3 days ago

          I have a little flash chip reader and backed up my bios and can flash it on the laptop. Even modified it to unlock the advanced menus Lol

          But th rm rf thing didn’t nuke it so I guess I’m safe either way

        • Tux@lemmy.worldOP
          link
          fedilink
          arrow-up
          2
          ·
          3 days ago

          Bro, BIOS is located on motherboard and EFI variables only needed to boot an OS.

          Just install bootloader and OS in drive

          • superkret@feddit.org
            link
            fedilink
            arrow-up
            8
            ·
            3 days ago

            Bro, several people bricked their pc that way. I’m no expert, just throwing out a warning not to do dumb shit.

  • steventhedev@lemmy.world
    link
    fedilink
    arrow-up
    15
    ·
    3 days ago

    Once upon a time, I accidentally created a folder named “~” in my home folder (the company provided scripting framework would inconsistently expand variables, so the folder had a ton of stuff inside it).

    I ran “rm -rf ~” and only panicked when I started to wonder why it wasn’t taking too long.

    Good news is that it only managed to get halfway through my local checkout of aosp before I stopped it. Bad news was that it nuked most of my dotfiles.

  • Infernal_pizza@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    3 days ago

    Why doesn’t rm -rf /* also require —no-preserve-root? That seems just as easy to type accidentally and will just nuke your system without asking

    • SavvyWolf@pawb.social
      link
      fedilink
      English
      arrow-up
      16
      ·
      3 days ago

      It’s actually harder to detect that. The * is expanded before the arguments are sent to rm, so it just sees a list of directories like /bin /usr /dev /sbin /home and so on.

      You could implement logic to detect that case, but at that point you’re just playing whackamole.

      • zea@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        3 days ago

        I believe zsh catches this and makes you confirm.

        Well, that or one of my plugins, I’m not sure.

    • superkret@feddit.org
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      3 days ago

      If you try to put in safeguards for every possible system-nuking command someone with root rights might type, you’ll never get done.
      When you’re typing “rm -rf” as root, you should immediately stop and triple-check what you’re doing.
      Cause either there’s a safer way to do what you want to do, or what you’re trying isn’t a good idea in the first place.

      (Even when you want to delete lots of stuff in root space, a better way is to use find. You can use it to look for and list the files you want to delete. After you’ve checked its output and verified that those are the correct files, just cursor-up to get the same find query again and add --delete at the end)