Context for newbies: Linux refers to network adapters (wifi cards, ethernet cards, etc.) by so called “interfaces”. For the longest time, the interface names were assigned based on the type of device and the order in which the system discovered it. So, eth0, eth1, wlan0, and wwan0 are all possible interface names. This, however, can be an issue: “the order in which the system discovered it” is not deterministic, which means hardware can switch interface names across reboots. This can be a real issue for things like servers that rely on interface names staying the same.

The solution to this issue is to assign custom names based on MAC address. The MAC address is hardcoded into the network adaptor, and will not change. (There are other ways to do this as well, such as setting udev rules).

Redhat, however, found this solution too simple and instead devised their own scheme for assigning network interface names. It fails at solving the problem it was created to solve while making it much harder to type and remember interface names.

To disable predictable interface naming and switch back to the old scheme, add net.ifnames=0 and biosdevname=0 to your boot paramets.

The template for this meme is called “stop doing math”.

  • llii
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 months ago

    I want to give NixOS a try sometime, as I like the idea of declaritively defining the system

    That seems to be even more convoluted and complex.

    “Just one more abstraction layer, I swear!”

    I’m a NixOS noob bytheway, so please correct me if I’m wrong.

    • notabot@lemm.ee
      link
      fedilink
      arrow-up
      3
      ·
      5 months ago

      I think the difference is the level it’s happening at. As I said, I haven’t tried it yet, but it looks like a simple, unfussy and minimal distribution that you then add functionality to via configuration. Having that declarative configuration means it’s easy to test new setups, roll back changes and even easily create modified configuration for other servers.

      • renzev@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        I use nixos on my homeserver, but I’m looking to switch it to Void as well. For me personally I just realized that it’s easier to set everything up with shell scripts and docker-compose. But that’s just my personal experience, by all means go ahead and try out nixos if you have the time. It has lots of unique features that you can’t replicate with “just a bunch of shell scripts”. This video does a great job of selling nixos. Maybe my favourite part of nixos is how they make “shortcuts” for a lot of common tasks. For example, setting up a letsencrypt ssl certificate for your webserver with autorenewal can be done in just two lines of config.