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 12026 invoked from network); 1 Jan 2022 00:09:42 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 1 Jan 2022 00:09:42 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id B40169D006; Sat, 1 Jan 2022 10:09:37 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 180089CFA8; Sat, 1 Jan 2022 10:09:11 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 267E89CF51; Sat, 1 Jan 2022 10:09:09 +1000 (AEST) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by minnie.tuhs.org (Postfix) with ESMTPS id 8C7619CF06 for ; Sat, 1 Jan 2022 10:09:08 +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 201094jM003999 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 31 Dec 2021 19:09:05 -0500 Received: by cwcc.thunk.org (Postfix, from userid 15806) id CB22215C33A3; Fri, 31 Dec 2021 19:09:04 -0500 (EST) Date: Fri, 31 Dec 2021 19:09:04 -0500 From: "Theodore Ts'o" To: Dan Cross Message-ID: References: <20211230034512.B9B3718C08E@mercury.lcs.mit.edu> <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 Fri, Dec 31, 2021 at 01:17:18PM -0500, Dan Cross wrote: > On Fri, Dec 31, 2021, 10:54 AM Adam Thornton wrote: > > > Slightly older, but also slightly more fundamental to the system, you need > > look no farther than Solaris's `/bin/sh` for an illustrated example of the > > pros and cons of maintaining backwards compatibility. [snip] > > > > Sun is not the exemplar here: the move from SunOS 4's BSD userland to > Solaris 2's SVR4 broke tons of things. They didn't seem to mind that their > customers had to pay the cost of adaptation. I'm sure that there were people at Sun who *did* care. The story I had heard was that it was a decision made at the C-suite level, and was a quid-pro-quo where to get that sweet, sweet, cash from AT&T so Sun could stay afloat, they had to switch over to System V. (No matter that Solaris 2 was a major step *backwards* in terms of performance and stability compared to Sun OS....) > The Linux example is also a bit strange. The move from e.g. `ifconfig` and > `netstat to `ip` and `ss` required lots of local retooling (I suppose some > distros retain the older tools or let you install them as an option. I > suppose one could always install `bash` on Solaris as a shell lingua > franca, as well). Not to mention systemd. The point is, breaking changes > are introduced all the time. Are there distros who are no longer supplying ifconfig/netstat/route, at least as an optional package? That's surprising if so. All of the kernel interfaces to allow the old-style net-tools packages to work, as well as the BSD-style ioctls/setsockopt, etc., are still around, and fully supported. At least on my systems, I still install net-tools because my finger macros are still used to using ifconfig, netstat, and friends. 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. There were two north star principles about the new networking interfaces: 1) The old interfaces were always supposed to continue to work, and if you didn't need the new functionality, there was no reason to use the newer interfaces. 2) The new interfaces were *supposed* to be a strict superset of the old interfaces. If in fact ip and ss don't support AX.25, or other "exotic address families" --- that's a bug, and should be reported as such. That being said, if you don't need the fancy new features, there's no reason to switch away from ifconfig. The whole *point* of the first principle was that we didn't want to force users to do a forced Python 2.7 -> Python 3 style "long march" migration. - Ted