I am immune to /dev/sda for I only have nvme
An unintended benefit of using Qubes is that everything is a virtual machine and physical disks have to be manually attached to a vm before doing operations like
dd
. I haven’t had to worry about accidentally nuking my main partition for a while.Huh, yeah I suppose that’s true. Qubes is an interesting project but I’m not sure it’s for me. I selectively isolate apps I worry about using containers, I actually should give flatpak a try as it basically does that for me but I haven’t seriously tried it yet.
What do you mean? The nvme device label convention is far easier to screw up IMO. At least on my system the first drive would be labeled “nvme0n1”, second “nvme1n1”, etc and partitions get an additional suffix like “nvme0n1p1”.
I am far more likely to screw that up compared to “sda” vs “sdb”. Especially since I noticed that if I have both my internal and external SSDs hooked up at boot time their number gets assigned on a seemingly random basis.
Eh? Idk if I agree. My original comment was entirely a joke based on the fact that the literal argument of=/dev/sda has no affect on my system but to address your actual point. I personally don’t find nvme naming any more confusing than SCSI. /dev/nvme0n1 is only one char away from /dev/nvme1n1 just like sda vs sdb. Additionally if you understand how the kernel comes up with those names they make a lot of sense. The first number is the controller, the second is the namespace or drive attached to that controller, the 3rd if present is the partition on the given drive. It is entirely possible to have a controller with more than one namespace. That aside aside…I think there is a genuine benefit to be argued for having USB drives, which are SCSI and fall into sdX naming separate from system drives as I dd far more USB media than system media. Making it a lot harder to screw my system up when trying to poke a flash drive.
I realized I was long overdue for a hardware refresh when I learned that nvme drives are /dev/nvme and not /dev/sd[x] and I realized every single computer I interacted with was pre-nvme
I love the nvme partition naming. Looking at you nvme1n1p3
/dev/nvme1s²2s²2p⁶3s²3p⁶4s²3d¹⁰4p²
That might make it even more dangerous, because you get used to flash to usb sticks on “/dev/sda”. And when you then use a device with a built-in sata drive, you might forget checking in a hurry.
Happened to me a once or twice. I am now only using bmap tools for this.
Empty
$PATH
.bah, https://github.com/fosslinux/live-bootstrap
you don’t even need a terminal or a prompt to bootstrap every tool you need.
… but
cd
is a built-in-1 accuracy point ( ◞ ﹏ ◟)
linux 4.5-rc5 had efivarfs fixed to prevent “rm -rf /” bricking uefi motherboards – so maybe someone can try it out? :]
This is one of the reasons I’ve disabled uefi by default with the
noefi
kernel parameter, the other reason being the LogoFAIL exploit: https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#Disable_UEFI_variable_access
It would be pretty useless if cd was a child process that changed its own directory, only to return to bash and be back where you started.
Obligatory XKCD
need to be more creative with aliasing than “ls”
“gg” - dd
No problem, just tab complete your way around the filesystem.
What filesystem?
This isn’t programming, just someone who sucks at bash.
How else are you going to open your files in nano to do the programming on the prod server?
what’s a nano?
A metric prefix that represents 10e-9 of a unit.
The beginner (and better) version of vim?
guix rollback
Hmmm command not found, let me just try the same command a couple more times, this time it will work right?
In IT teaching users to actually read and understand errors is always an uphill battle.
Never dealt with an intermittent failure or race condition, eh?
Where is the Windows ‘help’ button, did you try that?
Tbh I’d try it multiple times too, just because the concept of cd not being there is horrifying and cannot possibly be the case
Also muscle memory. I keep typing aliases I only have on my computer :(
Very true, I would do the same and feel my stomach drop farther each time.
I learned early in my software engineering career these two beautiful rules of debugging:
- Read all of the words
- Believe them
Until you write a compiler error in some deeply templated C++ code, in which case just reading every word takes all day
/s but not too much
Unless you were the one writing the program and its error messages - then check, that you didn’t mess up there…
Addendum to 2: never believe that what they say is relevant to what’s actually happening here. You have a lot of faith that the people writing error messages knew what they were doing!
Having written some error messages in a godforsaken database frontend, an error message only means that something didn’t work correctly and may or may not correctly indicate what is actually wrong
I mean, if the error says “variable foo is not defined” I don’t think it’s wise to go “I’m pretty sure it’s defined, the compiler is just wrong” 😂
I don’t know, have you ever used JavaScript? I’ve run into some really fucking weird bugs. I’ve also spent hours trying to find the source of an error message only to discover the error message was lying and caused by some other error.
You see they all different one use / the other use - and ~
/S
Yeah but those are arguments to
cd
, the error says command not foundEdit: Sorry didn’t see /S
I see girls last tour, I upvote.
I remember being so scared the first time I screwed up my
$PATH
sudo dd if=. /rpi3-aarch64-archlinux.img status=progress of=/dev/sd[tab] [tab] [enter]
Reminds me this great story from a different era:
I got reminded of it last week after years. What are the chances it came up again. 😁
THANKS!!! I have it bookmarked forever now!
I lost access to it. Thank you for bringing it back to me! Yay!..
That was a beautiful read, cheers!
If you enjoyed it, I’ve collected a couple of others:
The final line of the one about the VAX machine is so perfect
You should all just use an immutable distro. Problemo solved-o.
/s