From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28379 invoked from network); 3 Jan 2022 20:24:38 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 3 Jan 2022 20:24:38 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id B2EB894994; Tue, 4 Jan 2022 06:24:36 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id BFD1593FD1; Tue, 4 Jan 2022 06:24:03 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id E1BDE93FD1; Tue, 4 Jan 2022 06:23:58 +1000 (AEST) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by minnie.tuhs.org (Postfix) with ESMTPS id 4F75A93FCC for ; Tue, 4 Jan 2022 06:23:58 +1000 (AEST) Received: from cwcc.thunk.org (pool-108-7-220-252.bstnma.fios.verizon.net [108.7.220.252]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 203KNsNb001839 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 3 Jan 2022 15:23:54 -0500 Received: by cwcc.thunk.org (Postfix, from userid 15806) id 1F1D715C00E1; Mon, 3 Jan 2022 15:23:54 -0500 (EST) Date: Mon, 3 Jan 2022 15:23:54 -0500 From: "Theodore Ts'o" To: Dan Cross Message-ID: References: <97f563fa-5a17-424b-acc6-07cf127f496d@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [TUHS] moving directories in svr2 X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On Mon, Jan 03, 2022 at 08:35:24AM -0500, Dan Cross wrote: > > (No > > matter that Solaris 2 was a major step *backwards* in terms of > > performance and stability compared to Sun OS....) > > That it was, at least initially. It's actually pretty good now, but it > took a _long_ time to get there, and the forced incompatibilities > caused a lot of pain in the process, which was my original thesis. > Even now, though, I find some things gratuitously different than other > versions of Unix (network administration, for example). Managing NFS > is still something of a mystery to me. Yeah, to be fair, by the time Solaris 2.3 or 2.4 came around, it was mostly up to par. (Or maybe it was because Moore's law meant that we didn't care any more. :-) > Are there _distros_ that don't supply those things? Probably; I really > have no idea. Are there mainstream distros that do not? I doubt it. > However, they have to be installed, which is an additional step that > has to at least be accounted for. At scale, that's a pain: I imagine > that if, say, Google wanted to move to `ip` in lieu of `ifconfig` et > al in prod, it would be a multiyear process, including sunsetting the > older tools. Just identifying every use of `ifconfig` in a shell > script somewhere would be a pretty major undertaking. Sure, but there's no *point* to sunset the old tools. The git tree for net-tools is still being actively developed (the last commit was dated December 12, 2021). And the kernel interfaces are not going to be disappear, because of the prime directive: Thou Shalt Not Break Userspace. > > The reason why ip and ss were added was because there was a > > significant amount of new functionality that was added to the Linux > > networking stack (especially relating to routing and address aliasing) > > that couldn't be expressed using the older C programming interfaces as > > well as the ifconfig/route shell commands. > > Surely the programmatic interfaces are separate from their realization > in a tool? I can understand the rigidity of some `ioctl` based > interface that's a pain to work around; I find it harder to believe > that plugging some other interface into `ifconfig` in a relatively > graceful way is untractible. Surely, in the limit, one could extend > ifconfig with a new verb as the first positional argument that expands > to the argument set of `ip`: `ifconfig ip address ...` etc. Maybe that > was considered and rejected by the maintainers. Well, take a look at the ip-route man page. The BSD route command assumes fundamentally there is a single routing table that you can update. In Linux, there are multiple routing tables --- to support NAT, VRF (virtual routing and forwarding), etc. I suspect the other consideration was that all of this extra functionality and complexity were done by folks who wanted the Linux networking stack to essentially have pretty much all of the functionality of a Cisco Router. So it made sense to create a new user interface interface that was inspired by the Cisco IOS configuration language. Now, if you weren't trying to do something ala a router in the default-free zone, and were just simply doing what most leaf nodes on the internet (99.99999% of the hosts), there really is no reason to need to use the ip/ss interface. For that matter, you probably don't need to use ifconfig/route --- just let the DHCP client server of your choice take care of setting up the network, and you're done. > Well, you kind of have. It's a small thing to install another package, > sure, but still something that must be done if you want the old tools. That's a distro-level choice. And for most users, their networking is automatically brought up using NetworkManager, or some such, so they probably don't care. And it's not like installing a package is that painful. I don't see users of say, mysql complaining that they have to install that package should they want to use it. I'm old school, and since I generally tend to install BIND, that will drag in net-tools as dependency, so all my systems have ifconfig installed. But I'm not going to have a lot of sympathy for someone who thinks that "sudo apt-get install net-tools" is massive inconvenience. - Ted