The Lubuntu 17.04 Desktop/Live CD(ISO) is missing the package: net-tools[1]
It's troubling to find a LiveCD today that does not have something as simple as netstat and other important tools available.
It's also quite pathetic to discover the recent Debian LiveCDs are missing UFW[2].
[1] "This package includes the important tools for controlling the network subsystem of the Linux kernel. This includes arp, ifconfig, netstat, rarp, nameif and route."
[2] "The Uncomplicated FireWall is a front-end for iptables, to make managing a Netfilter firewall easier. It provides a command line interface with syntax similar to OpenBSD's Packet Filter. It is particularly well-suited as a host-based firewall."
[Ed note: Assuming one has an internet connection, can't one just do something along the lines of apt-get $package_name to fill in what is missing? Is this just whining on the part of the submitter or an actual shortcoming? What are your thoughts on this?]
(Score: 2) by Lagg on Monday June 12 2017, @03:33PM (9 children)
It probably got replaced because ifconfig and co. were being phased out for a few years now. Arch people like myself got in a bit ahead of the curve so I've gotten rather used to the crazy looking BNF help syntax.
Still has the subcommand design of git if it were written by the PowerShell guys though.
http://lagg.me [lagg.me] 🗿
(Score: 2) by jimtheowl on Monday June 12 2017, @05:51PM (7 children)
I have only briefly researched it, but all articles just seem to say (paraphrasing) 'nobody is happy about it but that's the way it is'.
(Score: 3, Informative) by Lagg on Tuesday June 13 2017, @03:05AM (6 children)
You're not seeing good technical justifications because the justifications are shit and don't really go along with how unix commands should work. So it's a hard sell.
Essentially: ifconfig didn't have feature X because it only cared about interfaces. ip has Y and Z because those have to do with the protocol.
http://lagg.me [lagg.me] 🗿
(Score: 2) by Marand on Tuesday June 13 2017, @10:16PM (5 children)
Debian kept using and relying on net-tools despite it being unmaintained, because "if it ain't broke, don't fix it. The problem is that someone else decided to break it for them [lwn.net]. Someone started updating it again and chose to make output changes that broke scripts relying on programs in net-tools. Everything broken by this needed changing anyway, so it made sense to move to the alternative that's stable and isn't obsolete.
(Score: 2) by Lagg on Wednesday June 14 2017, @07:27AM (4 children)
Interesting. I don't give much thought to debian except for critical systems pretty much because of your point about the philosophy. And I don't think that someone deciding to be a maintainer again should be considered a bad thing especially if its their project. But as far as debian goes I suppose there's not much other recourse that would fit the policy. Or that would be a reasonable technical workaround. I do have my own issues with the policies, but highly off topic and irrelevant. Better than trying to maintain their own ipkit.
Kind of pains me a bit to see that this was another half-technical-choice. Or at least as far as debian goes anyway. At least ip has a somewhat smoother table syntax than iptables. Once you can read what its actual syntax is:
lagg@lagg.me[~]$ ip route help
Usage: ip route { list | flush } SELECTOR
ip route save SELECTOR
ip route restore
ip route showdump
ip route get ADDRESS [ from ADDRESS iif STRING ]
[ oif STRING ] [ tos TOS ]
[ mark NUMBER ]
ip route { add | del | change | append | replace } ROUTE
SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ]
[ table TABLE_ID ] [ proto RTPROTO ]
[ type TYPE ] [ scope SCOPE ]
ROUTE := NODE_SPEC [ INFO_SPEC ]
NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ]
[ table TABLE_ID ] [ proto RTPROTO ]
[ scope SCOPE ] [ metric METRIC ]
INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]...
NH := [ encap ENCAPTYPE ENCAPHDR ] [ via [ FAMILY ] ADDRESS ]
[ dev STRING ] [ weight NUMBER ] NHFLAGS
FAMILY := [ inet | inet6 | ipx | dnet | mpls | bridge | link ]
OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ] [ as [ to ] ADDRESS ]
[ rtt TIME ] [ rttvar TIME ] [ reordering NUMBER ]
[ window NUMBER] [ cwnd NUMBER ] [ initcwnd NUMBER ]
[ ssthresh NUMBER ] [ realms REALM ] [ src ADDRESS ]
[ rto_min TIME ] [ hoplimit NUMBER ] [ initrwnd NUMBER ]
[ features FEATURES ] [ quickack BOOL ] [ congctl NAME ]
[ pref PREF ]
TYPE := [ unicast | local | broadcast | multicast | throw |
unreachable | prohibit | blackhole | nat ]
TABLE_ID := [ local | main | default | all | NUMBER ]
SCOPE := [ host | link | global | NUMBER ]
NHFLAGS := [ onlink | pervasive ]
RTPROTO := [ kernel | boot | static | NUMBER ]
PREF := [ low | medium | high ]
TIME := NUMBER[s|ms]
BOOL := [1|0]
FEATURES := ecn
ENCAPTYPE := [ mpls | ip | ip6 ]
ENCAPHDR := [ MPLSLABEL ]
Also, I can certainly say they won't be hurting for output stability. Its output is friendlier to my python than my face.
http://lagg.me [lagg.me] 🗿
(Score: 2) by Lagg on Wednesday June 14 2017, @07:33AM
Sorry I'm a total jackass. I meant to s/iptables/route/. It was a tabular slip.
http://lagg.me [lagg.me] 🗿
(Score: 2) by Marand on Friday June 16 2017, @07:32AM (2 children)
It wasn't that they thought picking up maintenance was bad, it was how they did it. Abruptly breaking output after something like 20 years of stability is kind of bullshit. If you want to update the output, fine, but you should at least provide a compatibility option to get the original formatting. That's the normal, civil, proper option; anything else is just being a dick, and doing so at that scale is really shitty.
Also, don't know about other distros, but Debian's still keeping net-tools available, so it's not like we have to quit using those tools, we just can't expect them to be on the install images because they are no longer fit-for-purpose. I still have it installed and use certain utilities from it because for certain use-cases it still works fine. If it's not around or doesn't do what I need, though, I know iproute2 will be there, and likely won't be changing output any time soon. I still like ifconfig and route's output for quick reading, so I still tend to use them when I want to check something, but the "ip" variations seem better for parsing and I'm more likely to use them for bringing up interfaces or scripting.
That might be where net-tools is going development-wise, and it would make sense. There's no requirement for the scriptable tool to be human-readable or vice-versa, so there's room for both to co-exist.
(Score: 2) by Lagg on Friday June 16 2017, @07:59AM (1 child)
Arch gives them too still, but I try to avoid due to the obvious course of development with re. to ip. It's not going anywhere. But yes as far as parsing goes there is little doubt at all you want to use only it. It gives fully qualified IP addresses, predictable hard tabs, etc.
Someone should just write a frontend that converts its output to the last recognized nettools format. It's certainly a better shim than both possibly doing different things and loading different symbols to accomplish the same tasks.
http://lagg.me [lagg.me] 🗿
(Score: 2) by Marand on Saturday June 17 2017, @12:55AM
That might be a good use for a separate frontend, considering how obtuse ip is. Or maybe a switch for ip, like how many tools have a -h switch to switch to human-readable numbers/output.
Also, a note about the documentation (or lack thereof): while I agree with that one AC that having the BNF grammar available is useful, but having it as the only output of "ip [foo] help" is not, I noticed there's actually pretty extensive help for the ip commands in the manpages. Try "man ip-route" or "man ip-address" for example. (The entire list is given in "man ip" under the "see also" section.) No idea why nobody thought to put something a little more useful than just the BNF in the `ip [foo] help` output, but at least there's an option.
(Score: 0) by Anonymous Coward on Tuesday June 13 2017, @04:47AM
The fact that their idea of "help" is BNF suggests that they're idiots, assholes, or both. Maybe there's a more charitable explanation, but it's clear that they're not interested in making it possible for people to begin using it before they're experts in using it.
The various BSDs are looking better every day.