and you shouldn’t be using any of those, since the order can and will change. The numbers are based on the order the devices and device drivers are initialized in, not based on physical location in the system. The modern approach (assuming you’re using udev) is to use the symlinks in
/dev/disk/by-id/
or/dev/disk/by-uuid/
instead, since both are consistent across reboots (andby-id
should be consistent across reinstalls, assuming the same partitioning scheme on the same physical drives)This is also why Ethernet devices now have names like
enp0s3
- the numbers are based on physical location on the bus. The oldeth0
,eth1
, etc. could swap positions between Linux upgrades (or even between reboots) since they were also just the order the drivers were initialized in.I’m sure you know this, but to to supplement your comment for future readers, UUIDs are also a good solution for partitions.
Labels are better. IMO; they’re semantic.
I agree. Also, I can swap a disk with a new one with the same label, no need to change fstab
I have a hatred for the enp id thing as it isn’t any better for me. It changes on me every time I add/remove a hard drive or enable/disable the WiFi card in the BIOS. For someone who is building up a server and making changes to it, this becomes a real pain. What happens if a drive dies? Do I have to change the network config yet again over this?
Use a systems rule to give it a consistent name based on its MAC address, driver, etc. I just had this exact same problem setting up my servers.
root@prox1:~# cat /etc/systemd/network/10-persistent-10g.link [Match] Driver=atlantic [Link] Name=nic10g root@prox1:~# cat /etc/systemd/network/10-persistent-1g.link [Match] Driver=igb [Link] Name=nic1g
How is that happening? The number on the bus shouldn’t change from adding or removing drives. I could imagine this with disabling a card in UEFI / BIOS if that basically stops reporting the bus entry completely. But drives?
Anyhow, if I’m not mistaken, you can assign a fixed name based on the reported MAC.
It is only the nvme drives that do it. That damn PCI busses and iommu groups get renumbered every damn time I remove or add one. The SATA is safe though.
The arch wiki lists some methods to permanently name network interfaces at https://wiki.archlinux.org/title/Network_configuration#Change_interface_name
Are UUIDs built into the hardware, or something your computer decides on based on the drive’s serial number and shit?
According to Arch Wiki they get generated and stored in the partition when it is formatted. So kinda like labels but automated and with (virtually) no collision risk.
I could have RTFM but you guys are more fun.
It’s fun to have people around who read the friendly manual
Yeah, you get the best Linux info when reading meme comments 😁.
Uuids are part of the gpt (table) on the disk.
You’re thinking of
partuuid
, regular uuids are part of the filesystem and made at mkfs time
Well it’s sdx because they both use the SATA interface. The sdx convention actually comes from scsi though, and the fact that SATA and USB drives use it might point to some code reuse, or maybe a temporary solution that never got fixed due to breaking backwards compatibility.
Fun fact: IDE drives use the hdx naming convention.
Mine is easy - /dev/nvme[tab][tab][tab]
A yes, my beloved nvme1p2 partition that changes name every reboot
thats a reason to use the uuid in the fstab
babe wake up, we heard you like dynamic interface IDs that happen to be mostly static, so we applied it to your nvme drives, because fuck it, why not.
In short;
sd
stands for SCSI Disk and SSD and USB all use the SCSI protocol. While SD-cards/emmc (flash-on-CPU) are namedemmcblkpX
for emmc block device, partition X. And NVME have additionally namespaces, which is thenX
part.So, EMMC is even worse
No one mentioned the Solaris convention yet ?
/dev/cXtXdXsX
The letters mean controller, SCSI target, disk and slice (Solaris equivalent to a partition).
I always thought this was the most elegant naming scheme in the Unix world.
I will take a look at it, but the fundamental issue is it screws with the iommu groups too and then I have to go fix that in proxmox. If I can at least guarantee a network connection then I can remote in and fix it in the event something goes really wrong.
Ummm… replying to the wrong thread I think 😁.
Thank you! I will give that a shot tomorrow and test it
NO IT IS YOU WHO DONT UNDERSTAND IT IS PERFECT LOGIC
Dude, chill, it’s a meme… sheesh.
You’re a meme
I’m a Linux admin
Grovel before me or I will go through your browsing history
(hit me up if you want to hear what distro i run btw)
What distro? Tho if you’re an admin it should be multiple distros, no?
Nope. Just the one.
He did say BTW in the end, so… it’s NOT Arch!
It’s called that because it’s Never the Value you Might Expect.
Can you elaborate? I like mine a lot. It’s super fast.
If you reboot, it might have a different name in /dev/, just like ethernet ports.
Kinda miss the Wild West days where you’d recompile and suddenly there’d be a whole new device naming convention.
I just run arch. It self compiled.
deleted by creator