jaenelle, surreal and menolly all run Arch Linux, and I’ve come across some interesting quirks in the OS that deserve mentioning over the last few months.
netctl, or Why Linux Networking Is Agony
I spent three years dragging a Mac around with me. If there’s one thing from
OS X (well, Darwin, actually) I could have and nothing else, it’s the
SystemConfiguration framework (
scselect), which is the
functionality behind network “Locations” on OS X.
I also needed some other features from
scselect, so I wound up writing a
wrapper around it, called
scselects, which did network location switching and
updated some files that control Darwin behaviours.
On Linux, there’s nothing that does the job.
NetworkManager should, in theory, do the trick, but it’s terrible at doing this. Arch enjoins you to use netctl over NetworkManager. That’s valid; inara (and all my other Fedora systems) have used NetworkManager, and making wireless failover work on Fedora, or, for that matter, anything moderately involved with networking, involves turning NetworkMangler off.
netctl, a more natural choice considering I use Arch, is even worse and has especially shaky support for link aggregation, and most definitely doesn’t do network locations — I’d call it’s “network locations” a poorly executed joke.
So I bit the bullet and wrote a bag of shell scripty goodness, because
I’m a sysadmin, so I know how to do this by hand, but I’m lazy, therefore I do not.
if it breaks, it should not break everything, unlike NetworkManager and netctl.
it should be simple, fast, debuggable, light, and while netctl embodies this, it doesn’t do so totally.
it should not change persistent system state, so rebooting can undo brain damage, unlike NetworkManager and netconfig.
Netctl is a bitch to get going and a bitch to keep going (especially if your configuration is very dynamic, like mine).
PXE. Ugh. menolly successfully does this (and I have no idea how).