Jamie Landeg-Jones
2017-Mar-22 12:41 UTC
Freebsd 11 - /usr/bin missing [xl]zgrep/zegrep/zfgrep
Kyle Evans <kevans91 at ksu.edu> wrote:> Ah, I see what you mean. I've no idea on the history here, but I > believe the idea is that if I invoke one of these other links (zgrep, > egrep, ...) I'm expecting it to be actually be grep(1) based purely on > the name, and I don't consider bsdgrep(1) to be installed for anything > but a courtesy. > > For grep(1) to be GNU grep while xzgrep to secretly be a link to BSD > grep would be quite surprising to me as a user/admin, especially since > there are very real output and argument differences between the two. > This argument can be furthered by imagining the awkwardness that would > come from a system where the fairly standard *grep links are a mix > between BSD grep and GNU grep.Ahhh. Yes, that does make good sense, now you mention it. Maybe they should be installed as bsdxzgrep ... :-) The thing is, though, it *did* used to do this, and now it doesn't, which isn't very POLA, and the revision log makes no mention of it (it's an update to do with META mode) and I can't find any information about it. I'd have least expected /usr/src/UPDATING to mention when 6 utilities are effectively removed from /usr/bin! Hence why I was wondering if this change was actually intentional - at least now I know a good reason to do this (what you mentioned above) so cheers for that, and the fast responses.. Your first response came in so quickly, I first thought it was a bounce message! Cheers, Jamie P.S. Nice to see someone on this list still remembers mail quoting etiquette ;-)
On Wed, Mar 22, 2017 at 5:41 AM, Jamie Landeg-Jones <jamie at dyslexicfish.net> wrote:> Kyle Evans <kevans91 at ksu.edu> wrote: > > > Ah, I see what you mean. I've no idea on the history here, but I > > believe the idea is that if I invoke one of these other links (zgrep, > > egrep, ...) I'm expecting it to be actually be grep(1) based purely on > > the name, and I don't consider bsdgrep(1) to be installed for anything > > but a courtesy. > > > > For grep(1) to be GNU grep while xzgrep to secretly be a link to BSD > > grep would be quite surprising to me as a user/admin, especially since > > there are very real output and argument differences between the two. > > This argument can be furthered by imagining the awkwardness that would > > come from a system where the fairly standard *grep links are a mix > > between BSD grep and GNU grep. > > Ahhh. Yes, that does make good sense, now you mention it. > > Maybe they should be installed as bsdxzgrep ... :-) > > The thing is, though, it *did* used to do this, and now it doesn't, > which isn't very POLA, and the revision log makes no mention of it > (it's an update to do with META mode) and I can't find any information > about it. I'd have least expected /usr/src/UPDATING to mention when > 6 utilities are effectively removed from /usr/bin! > > Hence why I was wondering if this change was actually intentional - at > least now I know a good reason to do this (what you mentioned above) so > cheers for that, and the fast responses.. > > Your first response came in so quickly, I first thought it was a bounce > message! > > Cheers, Jamie > > P.S. Nice to see someone on this list still remembers mail quoting > etiquette ;-) >?Huh, never even noticed (not that I use many of the grep variants). But, on a 10.3 install (from binaries, not source), half the variants are hard-links to bsdgrep, while the other half are hard-links to grep: ?[fcash at romulus ~]$ ls -li /usr/bin/*grep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/bsdgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/bzegrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/bzfgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/bzgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/egrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/fgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/grep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/lzegrep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/lzfgrep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/lzgrep 5704673 lrwxr-xr-x 1 root wheel 10 Mar 24 2016 /usr/bin/pgrep -> /bin/pgrep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/xzegrep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/xzfgrep 5704478 -r-xr-xr-x 7 root wheel 49224 Mar 24 2016 /usr/bin/xzgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/zegrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/zfgrep 5704508 -r-xr-xr-x 9 root wheel 93400 Mar 24 2016 /usr/bin/zgrep ?Does this mean an upgrade via freebsd-update to 11.x would remove all the lz* and xz* hard-links from my system?? Not that I would notice, just curious. -- Freddie Cash fjwcash at gmail.com