this post was submitted on 15 Mar 2024
1002 points (97.2% liked)

linuxmemes

20776 readers
574 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] dan@upvote.au 174 points 6 months ago* (last edited 6 months ago) (6 children)

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 (and by-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 old eth0, eth1, etc. could swap positions between Linux upgrades (or even between reboots) since they were also just the order the drivers were initialized in.

[–] toynbee@lemmy.world 45 points 6 months ago (2 children)

I'm sure you know this, but to to supplement your comment for future readers, UUIDs are also a good solution for partitions.

[–] sxan@midwest.social 10 points 6 months ago (1 children)

Labels are better. IMO; they're semantic.

[–] Scrollone@feddit.it 4 points 6 months ago

I agree. Also, I can swap a disk with a new one with the same label, no need to change fstab

[–] lemmyvore@feddit.nl 8 points 6 months ago (3 children)

I think OP's point was that UUIDs can still change, but the stuff that makes up the /by-id/ names cannot. Granted, those aren't applicable to partitions.

[–] toynbee@lemmy.world 4 points 6 months ago* (last edited 6 months ago)

Right. I don't think they and I are in disagreement - just trying to help expand their statement. Thanks!

[–] dan@upvote.au 3 points 6 months ago

Right :) the original meme was just talking about drive names (/dev/sdX)

[–] confusedbytheBasics@lemmy.world 1 points 6 months ago (1 children)

How are the uuids going to change unexpectedly?

[–] lemmyvore@feddit.nl 2 points 6 months ago

Depends on your definition of "unexpected". OP was talking about reinstalls for example, where the root partition is deleted and recreated and its UUID will change as a result. If you copy an fstab from an older system backup you will fail the mount the root partition.

UUIDs can also cause some reverse trouble if you clone them with dd in which case they won't change but they should, and you end up with duplicate UUIDs.

[–] PsychedSy@sh.itjust.works 17 points 6 months ago (3 children)

Are UUIDs built into the hardware, or something your computer decides on based on the drive's serial number and shit?

[–] taaz@biglemmowski.win 33 points 6 months ago (2 children)

Uuids are part of the gpt (table) on the disk.

[–] Supermariofan67@programming.dev 10 points 6 months ago

You're thinking of partuuid, regular uuids are part of the filesystem and made at mkfs time

[–] PsychedSy@sh.itjust.works 3 points 6 months ago

Ah. Makes sense.

[–] lea@feddit.de 29 points 6 months ago (1 children)

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.

[–] PsychedSy@sh.itjust.works 10 points 6 months ago (2 children)

I could have RTFM but you guys are more fun.

[–] 0x4E4F@lemmy.dbzer0.com 5 points 6 months ago (1 children)

Yeah, you get the best Linux info when reading meme comments 😁.

[–] PsychedSy@sh.itjust.works 2 points 6 months ago

I tried a gentoo stage 2 or 3 like 20 years ago. I'm still good.

[–] Hexarei@programming.dev 4 points 6 months ago

It's fun to have people around who read the friendly manual

[–] MeanEYE@lemmy.world 6 points 6 months ago (1 children)

No. Since each partition gets its own UUID, it means it's generated by the OS on creation, no matter the number of partitions. On boot kernel will scan all UUIDs and then mount and map according to them, which is sightly less efficient method than naming block device directly, but far easier for humans and allows you to throw your drives to whichever port you like.

[–] PsychedSy@sh.itjust.works 1 points 6 months ago (1 children)

So if we swap drives about, the OS will see them as the same drive and/or partition?

[–] JasonDJ@lemmy.zip 15 points 6 months ago* (last edited 6 months ago) (2 children)

Back in my day, /dev/hda was the primary master, hdb was the primary slave, hdc was the secondary master and hdd was the secondary slave.

Nothing ever changed between reboots. Primary/secondary depended on which port the ribbon cable connected to on the motherboard, and ~~primary/secondary~~ master/slave was configured by a jumper on the drive itself.

[–] Phrodo_00@lemmy.world 5 points 6 months ago (1 children)

Yeah, and ide only supported 4 drives at a time in most systems

[–] pascal@lemm.ee 1 points 6 months ago* (last edited 6 months ago)

If you had a Sound Blaster 16, you had an extra IDE port on the board, which DOS couldn't see and you had to load special drivers to use them. Usually it was used for the CD-ROM.

[–] rmuk 1 points 6 months ago

It always seems fucking wild to me that they chose master/slave rather than, say, first/second, upper/lower, primary/secondary, A/B, whatever.

"We're trying to come up with names for two equal devices sharing a single connection."

"How about names that wrongly implies that one device is in control of the other while simultaneously evoking the concept of humans as property?"

"Brilliant!"

[–] jadedwench@lemmy.world 11 points 6 months ago (3 children)

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?

[–] Laser@feddit.de 7 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] jadedwench@lemmy.world 3 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] Laser@feddit.de 4 points 6 months ago

The arch wiki lists some methods to permanently name network interfaces at https://wiki.archlinux.org/title/Network_configuration#Change_interface_name

[–] hperrin@lemmy.world 4 points 6 months ago* (last edited 6 months ago)

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

[–] null@slrpnk.net 4 points 6 months ago

hardware-configuration.nix has entered the chat

[–] mumblerfish@lemmy.world 3 points 6 months ago

Having used gentoo for quite some time, there have been several occations where my network broke because the changing names and naming conventions of the network interfaces.