BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] I Hate Ubuntu
- Subject: [Discuss] I Hate Ubuntu
- From: smallm at sdf.org (Mike Small)
- Date: Wed, 09 May 2018 12:40:38 +0000
- In-reply-to: <8e5f9d03-d3f7-732e-91f3-2ada7f56a45c@gmail.com> (Richard Pieri's message of "Tue, 8 May 2018 19:49:56 -0400")
- References: <79527c22-26cd-3899-56b4-0b13b4a58930@gmail.com> <20180508200520.d35fenmwacnfn3hl@randomstring.org> <55e7296b-55f7-581a-14f2-9766d72f6008@gmail.com> <5edeab53-b933-a343-a5dd-8cca99276031@millermicro.com> <8e5f9d03-d3f7-732e-91f3-2ada7f56a45c@gmail.com>
Richard Pieri <richard.pieri at gmail.com> writes: > On 5/8/2018 4:32 PM, A. Richard Miller wrote: >> Here, Rich, try this: >> http://www.ubuntugeek.com/disable-netplan-on-ubuntu-17-10.html >> >> Then you can save your hate for more deserving targets. > > I think you're missing the point. Points. > > First, these Ubuntu installs are for product testing. For paying > customers. Who won't be disabling Netplan. Which means disabling Netplan > in the test environments DOES. NOT. HAPPEN. > > Second, the YAML version forces dependencies on NetworkManager, systemd, > and a(nother) YAML parser without making management of network > interfaces any better or easier by hand and only minimally by automation > tools like Ansible. > > Netplan is vendor gratuitous changes and I will continue to hate Ubuntu > for engaging in the practice. These descriptions from https://netplan.io are a bit funny: "The network configuration abstraction renderer Netplan is a utility for easily configuring..." abstraction renderer? Pfft. What's so abstract about network interfaces? "Netplan reads network configuration from /etc/netplan/*.yaml which are written by administrators, installers, cloud image instantiations, or other OS deployments." "The most useful configuration snippet (to bring up things via dhcp) is as follows:" network: version: 2 renderer: NetworkManager Okay, and how does NetworkManager know to choose dhcp from that? Is dhcp "version 2?" Probably not, eh? This maybe is the YAML "API" version I'm going to guess. Well then, aside from the problem of having to learn what YAML keys are available or mandatory, and the unpleasantness of typing such things vs. a well devised custom text format intuitively matching ifconfig (or whatever command we're supposed to be using for that now on Linux, ip?), or the near certainty that YAML will be considered pass? in 5 years or so and replaced with whatever the one true persistance format of the day is, seems like we're not configuring anything here so much as telling the system that we're using something else to configure the interface. Here's what the equivalent looks like on the machine I'm using right now. urndis0 is the network interface device name for ethernet over USB to my phone, which gives me my internet: $ cat /etc/hostname.urndis0 dhcp <<<<pause output for a moment >>>> Plus I can do the thing below here in a way I think you all can understand without reading OpenBSD docs, but for a normal ethernet interface this isn't necessary. (Since I wrote that comment below I found out that Android is smart enough to remember when you pressed the USB tethering slider and somehow slide it over when OpenBSD is ready for it, but it's still handy to have this for when I forget.) <<<<rest of file>>> # Without turning on USB Tethering at exactly the right time # during boot, urndis0 won't be up and rl0 will instead become # the default gateway. Undo that for when I manually restart networking # for this interface. !route del default 10.0.0.1 !route add default 192.168.42.129 <<the end>> Here is the very difficult parsing code for that from /etc/netstart: # Parse the hostname.if(5) file and fill _cmds array with interface # configuration commands. set -o noglob while IFS= read -- _line; do parse_hn_line $_line done <$_hn ... and the relevant part of the case statement (all of parse_hn_line is short enough to fit in one screen in case you doubt the other cases) in parse_hn_line ... dhcp) _c[0]= _cmds[${#_cmds[*]}]="ifconfig $_if ${_c[@]} down;dhclient $_if" V4_DHCPCONF=true ;; '!'*) _cmd=$(print -- "${_c[@]}" | sed 's/\$if/'$_if'/g') _cmds[${#_cmds[*]}]="${_cmd#!}" ;; So it's not like everything that isn't xml, yaml, or json has to be some horrendous journey into natural language parsing, like say... https://lists.debian.org/debian-user/2018/02/msg00095.html Now, I'm not saying I've lost enthusiasm for GNU/Linux in general, but when you run the two systems side by side, you start to notice how the people developing the non-GNU parts of Linux userland, or perhaps the more influential ones, are from a quite different development culture than the more tradional BSD one, and in a different way from how the GNU people were/are. It reminds me more of the .NET developer culture, which isn't a bad thing necessarily, but not always to my first preference, what with the intimidating terminology like abstraction renderers, provisioners, providers or what have you. -- Mike Small smallm at sdf.org
- Follow-Ups:
- [Discuss] I Hate Ubuntu
- From: sillystring at protonmail.com (Eric Chadbourne)
- [Discuss] I Hate Ubuntu
- References:
- [Discuss] I Hate Ubuntu
- From: richard.pieri at gmail.com (Richard Pieri)
- [Discuss] I Hate Ubuntu
- From: dsr at randomstring.org (Dan Ritter)
- [Discuss] I Hate Ubuntu
- From: richard.pieri at gmail.com (Richard Pieri)
- [Discuss] I Hate Ubuntu
- From: richard.pieri at gmail.com (Richard Pieri)
- [Discuss] I Hate Ubuntu
- Prev by Date: [Discuss] I Hate Ubuntu
- Next by Date: [Discuss] I Hate Ubuntu
- Previous by thread: [Discuss] I Hate Ubuntu
- Next by thread: [Discuss] I Hate Ubuntu
- Index(es):