Discussion:
The Rise And Fall Of Unix
Add Reply
Lawrence D'Oliveiro
2024-08-18 21:56:42 UTC
Reply
Permalink
Pair of short videos from the ever-dependable Asianometry channel, these
two talking about Unix:

-- “The Rise of Unix. The
Seeds of its Fall.” Talks about Bell Labs pulling out of the Multics
project, and the initial funding of Unix for the creation of legal
documents with line numbers. The initial spread of Unix into various
Universities; the start of the BSD project, the founding of Sun. Yet
manages to avoid the delicious phrase “Modified Final Judgement”.

-- “A Chronicle of the Unix
Wars” The initial fragmentation of outfits like UniSoft, and AT&T’s
attempts to tie things together with System V, resisted by those who
preferred BSD. A new chapter of fragmentation with Sun and AT&T on one
side, and the Open Software Foundation lot on the other side. Finally, the
kiss-and-make-up formation of COSE, just a little too late to stop
Microsoft’s gathering momentum with Windows NT.

That second one also goes into the open-sourcing of BSD and a bit on the
rise of GNU and Linux. And the infamous AT&T lawsuit against BSD.

To me, the big unanswered question is: why were Linux and GNU able to gain
a foothold, and not just that, but become so dominant, when BSD was
already offering a full OS stack? Was the timing of the lawsuit that
crucial, that it held them back just long enough to allow Linux to get
that initial momentum? (Far-fetched, I think.)

Was the BSD userland toolset not quite as comprehensive as GNU? Did their
allergy to the GPL hold them back from adopting innovations such as the
GNU toolset anyway? Is their overly centralized, less flexible development
model the cause of the fragmentation that hinders them from offering a
similar level of variety and diversity to the Linux world? Is the fact
that BSD originated at a time when Microsoft (and Apple) were just snot-
nosed upstarts of no consequence, so they continue to behave as though
that is the case?

A third video on that subject could be illuminating; it might also be
controversial.
Marco Moock
2024-08-20 15:22:19 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
To me, the big unanswered question is: why were Linux and GNU able to
gain a foothold, and not just that, but become so dominant, when BSD
was already offering a full OS stack? Was the timing of the lawsuit
that crucial, that it held them back just long enough to allow Linux
to get that initial momentum? (Far-fetched, I think.)
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
Post by Lawrence D'Oliveiro
Was the BSD userland toolset not quite as comprehensive as GNU? Did
their allergy to the GPL hold them back from adopting innovations
such as the GNU toolset anyway?
Currently (and maybe already years ago) some Linux distributions are
available that are mostly plug & play. This doesn't apply to *BSD.

As technology becomes more and more complex, admins want easy and
reliable solutions for basic tasks and not a tinkerer constructions for
basic stuff. Just test Slackware (the most UNIX-like distro) and
Ubuntu or Fedora. Then you know why Debian- and RedHat-based systems
are now widespread.
--
kind regards
Marco

Send spam to ***@cartoonies.org
Ted Nolan <tednolan>
2024-08-20 16:58:12 UTC
Reply
Permalink
Post by Marco Moock
Post by Lawrence D'Oliveiro
To me, the big unanswered question is: why were Linux and GNU able to
gain a foothold, and not just that, but become so dominant, when BSD
was already offering a full OS stack? Was the timing of the lawsuit
that crucial, that it held them back just long enough to allow Linux
to get that initial momentum? (Far-fetched, I think.)
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
Post by Lawrence D'Oliveiro
Was the BSD userland toolset not quite as comprehensive as GNU? Did
their allergy to the GPL hold them back from adopting innovations
such as the GNU toolset anyway?
Currently (and maybe already years ago) some Linux distributions are
available that are mostly plug & play. This doesn't apply to *BSD.
As technology becomes more and more complex, admins want easy and
reliable solutions for basic tasks and not a tinkerer constructions for
basic stuff. Just test Slackware (the most UNIX-like distro) and
Ubuntu or Fedora. Then you know why Debian- and RedHat-based systems
are now widespread.
I'm a FreeBSD guy myself, at least on my personal systems, but work is
a Linux shop, and I think it's kind of an artificial distinction.
Linux is Unix for all practical purposes. Yes I know the codebase is
completely distinct, but that's all that important on a regular basis.
--
columbiaclosings.com
What's not in Columbia anymore..
Ted Nolan <tednolan>
2024-08-20 16:58:49 UTC
Reply
Permalink
Post by Ted Nolan <tednolan>
Post by Marco Moock
Post by Lawrence D'Oliveiro
To me, the big unanswered question is: why were Linux and GNU able to
gain a foothold, and not just that, but become so dominant, when BSD
was already offering a full OS stack? Was the timing of the lawsuit
that crucial, that it held them back just long enough to allow Linux
to get that initial momentum? (Far-fetched, I think.)
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
Post by Lawrence D'Oliveiro
Was the BSD userland toolset not quite as comprehensive as GNU? Did
their allergy to the GPL hold them back from adopting innovations
such as the GNU toolset anyway?
Currently (and maybe already years ago) some Linux distributions are
available that are mostly plug & play. This doesn't apply to *BSD.
As technology becomes more and more complex, admins want easy and
reliable solutions for basic tasks and not a tinkerer constructions for
basic stuff. Just test Slackware (the most UNIX-like distro) and
Ubuntu or Fedora. Then you know why Debian- and RedHat-based systems
are now widespread.
I'm a FreeBSD guy myself, at least on my personal systems, but work is
a Linux shop, and I think it's kind of an artificial distinction.
Linux is Unix for all practical purposes. Yes I know the codebase is
completely distinct, but that's all that important on a regular basis.
--
make that "that's NOT all that important on a regular basis"
--
columbiaclosings.com
What's not in Columbia anymore..
Ahem A Rivet's Shot
2024-08-20 17:03:21 UTC
Reply
Permalink
On 20 Aug 2024 16:58:12 GMT
Post by Ted Nolan <tednolan>
I'm a FreeBSD guy myself, at least on my personal systems, but work is
a Linux shop, and I think it's kind of an artificial distinction.
That makes two of us.
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes. Yes I know the codebase is
Indeed it is.
Post by Ted Nolan <tednolan>
completely distinct, but that's all that important on a regular basis.
One of the nice things about unix is that there are three (at
least) basic codebases AT&T, BSD and Linux.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Dennis Boone
2024-08-20 21:21:10 UTC
Reply
Permalink
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.

De
geodandw
2024-08-20 22:06:39 UTC
Reply
Permalink
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
De
Eradicate it in the distribution, not in the kernel.
Lawrence D'Oliveiro
2024-08-20 23:22:59 UTC
Reply
Permalink
Post by geodandw
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Eradicate it in the distribution, not in the kernel.
And you have such a broad choice of distributions under Linux. Don’t like
any of the existing ones? Start a new one. It’s so easy for users to
switch between them, there is even a term unique to the Linux world:
“distro-hopping”.
Sebastian
2024-08-27 03:28:55 UTC
Reply
Permalink
Post by geodandw
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Eradicate it in the distribution, not in the kernel.
And you have such a broad choice of distributions under Linux. Don?t like
any of the existing ones? Start a new one. It?s so easy for users to
?distro-hopping?.
It's much easier to get OpenBSD running than it is to create a new Linux
distro that is as Unix-like as Debian was in 2005, and also independent
enough from mainstream distros that nobody can force it to adopt more and
more FreeDesktopisms.
Lawrence D'Oliveiro
2024-08-27 04:39:11 UTC
Reply
Permalink
Post by Sebastian
Post by Lawrence D'Oliveiro
And you have such a broad choice of distributions under Linux.
Don’t like any of the existing ones? Start a new one. It’s so easy
for users to switch between them, there is even a term unique to
the Linux world: “distro-hopping”.
It's much easier to get OpenBSD running than it is to create a new Linux
distro that is as Unix-like as Debian was in 2005 ...
“Unix-like” tends to mean “Linux-like” these days, let’s face it. Linux
leads, the other *nixes follow.
Post by Sebastian
... and also independent
enough from mainstream distros that nobody can force it to adopt more
and more FreeDesktopisms.
Why do you hate the Free Desktop folks? They are at the forefront of
trying to modernize the *nix GUI.
Sebastian
2024-08-27 06:55:55 UTC
Reply
Permalink
Post by Sebastian
Post by Lawrence D'Oliveiro
And you have such a broad choice of distributions under Linux.
Don?t like any of the existing ones? Start a new one. It?s so easy
for users to switch between them, there is even a term unique to
the Linux world: ?distro-hopping?.
It's much easier to get OpenBSD running than it is to create a new Linux
distro that is as Unix-like as Debian was in 2005 ...
?Unix-like? tends to mean ?Linux-like? these days, let?s face it. Linux
leads, the other *nixes follow.
I hope not. Linux gets shittier with each turd that drops from the
FreeDesktop people.
Post by Sebastian
... and also independent
enough from mainstream distros that nobody can force it to adopt more
and more FreeDesktopisms.
Why do you hate the Free Desktop folks? They are at the forefront of
trying to modernize the *nix GUI.
The Linux GUI had no need of such modernization, especially since
all "modernization" really is, is Windowsization, and Windows has
not suddenly become superior to Linux after all these years. If
"the year of the Linux desktop" comes, but only because Linux has
out-Windowsed Windows, that's a loss, not a victory. If they
want an open-source Windows clone instead of an open-source Unix
clone, there's ReactOS.
Lawrence D'Oliveiro
2024-08-27 07:40:21 UTC
Reply
Permalink
Post by Sebastian
Post by Lawrence D'Oliveiro
“Unix-like” tends to mean “Linux-like” these days, let’s face it. Linux
leads, the other *nixes follow.
I hope not. Linux gets shittier with each turd that drops from the
FreeDesktop people.
Like I said, if you don’t like Linux distros infested with FreeDesktop-
isms, don’t use them. There’s no need to bring up all this bile: all it’s
doing is aggravating your ulcers. Open Source is all about choice.
Post by Sebastian
Post by Lawrence D'Oliveiro
Why do you hate the Free Desktop folks? They are at the forefront of
trying to modernize the *nix GUI.
The Linux GUI had no need of such modernization, especially since all
"modernization" really is, is Windowsization ...
Actually, it’s not. Linux GUIs very much go their own way; there are ones
that copy Windows and even Apple, it is true, but that’s just to appeal to
those who prefer that look. There are others that go in quite different
directions. The customizability of KDE Plasma, for example, goes beyond
anything you’ll find in any proprietary platform.

And the beauty of Linux is, you can install any number of these GUI
environments at once, and switching between them is as easy as logging out
and logging in again. You don’t even have to reboot.
Sebastian
2024-08-27 09:05:25 UTC
Reply
Permalink
Post by Sebastian
?Unix-like? tends to mean ?Linux-like? these days, let?s face it. Linux
leads, the other *nixes follow.
I hope not. Linux gets shittier with each turd that drops from the
FreeDesktop people.
Like I said, if you don?t like Linux distros infested with FreeDesktop-
isms, don?t use them. There?s no need to bring up all this bile: all it?s
doing is aggravating your ulcers. Open Source is all about choice.
The choices are drying up. Increasingly, decisions are made by distros
instead of users, and you only have a choice if there are any distros
left that haven't caved or collapsed, or if you have the time, money,
and charisma to create AND MAINTAIN a new distro. That used to not be
necessary simply to have a choice. It used to be sufficient to install
a decent distro. The main distros used to let you have far more choice
than they do today.
Post by Sebastian
Why do you hate the Free Desktop folks? They are at the forefront of
trying to modernize the *nix GUI.
The Linux GUI had no need of such modernization, especially since all
"modernization" really is, is Windowsization ...
Actually, it?s not. Linux GUIs very much go their own way; there are ones
that copy Windows and even Apple, it is true, but that?s just to appeal to
those who prefer that look.
Systemd copies Windows and Apple at a lower level, and it continues
to be forced on the Linux community from every direction. I don't
even think Devuan will be able to resist the pressure to run Systemd
for much longer. And every distro is adopting iproute2, the main
effect of which is to make Linux networking skills less transferrable
to BSD (basically vendor-lock).
There are others that go in quite different
directions. The customizability of KDE Plasma, for example, goes beyond
anything you?ll find in any proprietary platform.
And the beauty of Linux is, you can install any number of these GUI
environments at once, and switching between them is as easy as logging out
and logging in again. You don?t even have to reboot.
Linux was more customizable in the past, and Wayland makes the problem
worse because there will always be only a few compositors, due to them
having to be so complicated. Plus, we are now seeing with the Hyprland
fiasco that distros will remove good compositors from their package
management system if their managers perceive any of the authors of that
compositor to have committed a thoughtcrime.

I used to run GNOME, and then GNOME 3 came out, and Debian released
it under the same package name, as if it was just the next version
of GNOME. What it actually was, was a turd to the face directly out
of the asses of the FreeDesktop-influenced GNOME developers. It was
completely static, with no customizability at all. They promised to add
customizability back later, but GNOME 3 was so intolerable, that I had
to find an alternative. ANY alternative. I tried KDE, but it had gotten
a shitty rewrite, just like GNOME, and had become just as intolerable
as GNOME. So I switched to XFCE for years, even though it was inferior
to GNOME and KDE as I previously knew them, until I finally noticed that
MATE was available on Debian (for now-- I assume it will get removed
at some point, or it will come to suck just as much as GNOME).

And the reasoning behind the GNOME rewrite was about as anti-user as
it's possible to be: The FreeDesktop faggots had decided that desktop
PCs were obsolete, and that we had to march towards the brave new
future, in which we'd trade our desktop machines for tablets and
fucking phones. Microsoft had the same idea, and released Windows 8
the following year, which had a bunch of stupid features that were
specifically for mobile toys. They'd have taken our desktop computers
by force if they had the power to do so. They have more power today
than they did back then, so we might see a revival of the whole
"desktops are obsolete" idea in the next decade or so.

I saw GNOME 3 a couple of years ago on Ubuntu, and it still sucked,
but people still praise it for some fucked-up reason. I assume the same
thing is going on with KDE. I'm more likely to try CDE now that it's
open-source, than KDE.
geodandw
2024-08-27 17:04:52 UTC
Reply
Permalink
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
Sebastian
2024-08-28 03:44:33 UTC
Reply
Permalink
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Lawrence D'Oliveiro
2024-08-28 06:48:23 UTC
Reply
Permalink
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD or the
open-source Solaris fork.
Which BSD? Maybe try them all. It’s easy to change your mind ... isn’t it?
D
2024-08-28 14:23:24 UTC
Reply
Permalink
Post by Sebastian
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Very interesting! open solaris has completely passed me by... is it mature
enough to use as a daily driver on a 2 year old laptop or is it only for
server use?
geodandw
2024-08-28 21:08:11 UTC
Reply
Permalink
Post by D
Post by Sebastian
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Very interesting! open solaris has completely passed me by... is it
mature enough to use as a daily driver on a 2 year old laptop or is it
only for server use?
How much hardware does Open Solaris support?
Geoff Clare
2024-08-29 13:04:07 UTC
Reply
Permalink
Post by geodandw
Post by D
Post by Sebastian
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Very interesting! open solaris has completely passed me by... is it
mature enough to use as a daily driver on a 2 year old laptop or is it
only for server use?
How much hardware does Open Solaris support?
The official hardware compatibility list for Illumos (which is what
became of Open Solaris after Oracle bought Sun and withdrew it) is here...

https://illumos.org/hcl/
--
Geoff Clare <***@gclare.org.uk>
Sebastian
2024-08-29 04:02:11 UTC
Reply
Permalink
Post by D
Post by Sebastian
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Very interesting! open solaris has completely passed me by... is it mature
enough to use as a daily driver on a 2 year old laptop or is it only for
server use?
So far, I've only played with the OS formerly known as OpenSolaris
(now known as "illumos") in VMs. It feels vaguely Linux-like, but with
better-written man pages, and better thought-out features (for example,
it has something that's roughly equivalent to Linux's capabilities,
but with a much cleaner design, and Zones are a better version of FreeBSD
Jails). It has distributions just like Linux does.

Trying it out on real hardware is something I'll do in the future. I've
got a Windows machine I'm getting sick of, and if it I don't put OpenBSD
on it, it might be illumos/Solaris instead. And if I don't put Solaris on
it, I'll definitely try it on the next PC I buy.
D
2024-08-29 08:24:57 UTC
Reply
Permalink
Post by Sebastian
Post by D
Post by Sebastian
Post by geodandw
<snip>
If you hate Linux so much, why don't you use one of the BSD's?
There's a good chance the next OS I install will be either BSD
or the open-source Solaris fork.
Very interesting! open solaris has completely passed me by... is it mature
enough to use as a daily driver on a 2 year old laptop or is it only for
server use?
So far, I've only played with the OS formerly known as OpenSolaris
(now known as "illumos") in VMs. It feels vaguely Linux-like, but with
better-written man pages, and better thought-out features (for example,
it has something that's roughly equivalent to Linux's capabilities,
but with a much cleaner design, and Zones are a better version of FreeBSD
Jails). It has distributions just like Linux does.
Trying it out on real hardware is something I'll do in the future. I've
got a Windows machine I'm getting sick of, and if it I don't put OpenBSD
on it, it might be illumos/Solaris instead. And if I don't put Solaris on
it, I'll definitely try it on the next PC I buy.
Interesting! I'll definitely keep an eye on illumos to see how it is
developing. I vaguely remember having something to do with a solaris box
for a few days right at the beginning of my IT career but it was decades
ago, and I did not get the chance to explore it beyond a few commands.
Lawrence D'Oliveiro
2024-08-28 00:07:19 UTC
Reply
Permalink
Post by Sebastian
Post by Sebastian
?Unix-like? tends to mean ?Linux-like? these days, let?s face it.
Linux leads, the other *nixes follow.
I hope not. Linux gets shittier with each turd that drops from the
FreeDesktop people.
Like I said, if you don?t like Linux distros infested with FreeDesktop-
isms, don?t use them. There?s no need to bring up all this bile: all
it?s doing is aggravating your ulcers. Open Source is all about choice.
The choices are drying up.
Make your own new choices, then. Where do you think those distros come
from, if not from people dissatisfied with the existing choices? The
code doesn’t write itself.
Post by Sebastian
Systemd copies Windows and Apple at a lower level ...
No it doesn’t. It is very much unique to Linux. It was inspired by
Apple’s launchd, yes. It uses Linux-specific features like cgroups, so
that it can keep track of processes spawned by services no matter how
many times they may do fork(2) and exec(2) calls.

Remember, Windows can’t even manage installing new software without
rebooting.

Lennart was kind enough to post a quick list of Linux-specific
features that systemd relies on here:
<https://mail.gnome.org/archives/desktop-devel-list/2011-May/msg00447.html>.
Post by Sebastian
... and it continues to be forced on the Linux community from every
direction.
Who do you think is doing this “forcing”? People are adopting it
because they judge it to be the best of the available bunch, and no
other reason.
Post by Sebastian
And the beauty of Linux is, you can install any number of these GUI
environments at once, and switching between them is as easy as logging
out and logging in again. You don?t even have to reboot.
Linux was more customizable in the past ...
Quite the opposite. It has gained major new capabilities, compared to
what was available in the past. Go on: prove me wrong: show what
“customizability” Linux had in the past, that it has since lost.
Bob Eager
2024-08-21 09:29:02 UTC
Reply
Permalink
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Hear hear.
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Ahem A Rivet's Shot
2024-08-21 09:55:25 UTC
Reply
Permalink
On Tue, 20 Aug 2024 21:21:10 +0000
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Sure but underneath all the window dressing there's still a
pretty standard set of syscalls and libraries from libc to libXt and beyond
and most of the command line utilities still work unchanged (once installed
at least).

There is however some driving force in the Linux world that seems to
have a deep hatred of network admins, their bit of the Linux world seems to
shift like quicksand. I gather systemd is spreading the misery to other
parts of system administration too.

Personally I use FreeBSD for pretty much everything and keep a Linux
Mint VM around as an application launcher for a handful of (commercial)
applications that I can't (or CBA*) to run on FreeBSD directly. The FreeBSD
world tends to incremental improvements rather than excremental overturns.

[*] FreeBSD has a Linux API emulation layer but it has gaps and getting
applications to run under it can be fiddly due to assumptions in the
code about the environment.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Bob Eager
2024-08-21 20:12:55 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
Personally I use FreeBSD for pretty much everything and keep a Linux
Mint VM around as an application launcher for a handful of (commercial)
applications that I can't (or CBA*) to run on FreeBSD directly. The
FreeBSD world tends to incremental improvements rather than excremental
overturns.
Same here. I've been using (a) BSD since about 1977.
Post by Ahem A Rivet's Shot
[*] FreeBSD has a Linux API emulation layer but it has gaps and getting
applications to run under it can be fiddly due to assumptions in the
code about the environment.
Not so much as an alternate mapping for system calls. Efficient, but new
calls take a while to arrive. And, as you say, there can be assumptions. I
guess that if they are about the filesystem layout, obne could set up a
jail (must try that).
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Ahem A Rivet's Shot
2024-08-21 21:52:58 UTC
Reply
Permalink
On 21 Aug 2024 20:12:55 GMT
Post by Bob Eager
Not so much as an alternate mapping for system calls. Efficient, but new
calls take a while to arrive. And, as you say, there can be assumptions.
I guess that if they are about the filesystem layout, obne could set up a
jail (must try that).
For quite some time (until the printer packed up) I ran a jail with
a Linux userland, CUPS and the proprietary Brother printer driver for
Linux (precisely because of filesystem layout assumptions in the driver
install script). It worked fine but installing Mint in a bhyve VM to run
slicers (mostly) was a *lot* easier.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Bob Eager
2024-08-22 13:10:42 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
Post by Bob Eager
Not so much as an alternate mapping for system calls. Efficient, but
new calls take a while to arrive. And, as you say, there can be
assumptions. I guess that if they are about the filesystem layout, obne
could set up a jail (must try that).
For quite some time (until the printer packed up) I ran a jail with
a Linux userland, CUPS and the proprietary Brother printer driver for
Linux (precisely because of filesystem layout assumptions in the driver
install script). It worked fine but installing Mint in a bhyve VM to run
slicers (mostly) was a *lot* easier.
I have found jails pretty easy, and I use them quite a bit.

But I have the Michael Lucas book to refer to.
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Ahem A Rivet's Shot
2024-08-22 15:08:21 UTC
Reply
Permalink
On 22 Aug 2024 13:10:42 GMT
Post by Bob Eager
I have found jails pretty easy, and I use them quite a bit.
Jails are easy - setting up a Linux userland in one somewhat less
so.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Lawrence D'Oliveiro
2024-08-23 00:47:57 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
Jails are easy - setting up a Linux userland in one somewhat less
so.
Linux container technologies like LXC are quite easy to setup and use. On
Debian, the LXC package comes with templates for a whole bunch of
different distros, not just versions of Debian, that you can run in your
containers.
Ahem A Rivet's Shot
2024-08-23 04:54:09 UTC
Reply
Permalink
On Fri, 23 Aug 2024 00:47:57 -0000 (UTC)
Post by Lawrence D'Oliveiro
Post by Ahem A Rivet's Shot
Jails are easy - setting up a Linux userland in one somewhat less
so.
Linux container technologies like LXC are quite easy to setup and use. On
Sure thay're an implementation of FreeBSD jails for Linux but this
is about running Linux userland in a FreeBSD jail.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Chris Ahlstrom
2024-08-22 12:34:09 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
On Tue, 20 Aug 2024 21:21:10 +0000
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Sure but underneath all the window dressing there's still a
pretty standard set of syscalls and libraries from libc to libXt and beyond
and most of the command line utilities still work unchanged (once installed
at least).
Take a gander at Michael Kerrisk's "The Linux Programming Interface". It's
very similar to Richard Steven's "Advanced Programming in the UNIX
Environment". Both very comprehensive.

I use it quite a bit to work out how best to do stuff like implement daemons,
redirect standard I/O to a file programmatically, etc.
Post by Ahem A Rivet's Shot
There is however some driving force in the Linux world that seems to
have a deep hatred of network admins, their bit of the Linux world seems to
shift like quicksand. I gather systemd is spreading the misery to other
parts of system administration too.
I've grown to appreciate the speed of startup and a few other things about
systemd. I was extremely doubtful at first.
Post by Ahem A Rivet's Shot
Personally I use FreeBSD for pretty much everything and keep a Linux
Mint VM around as an application launcher for a handful of (commercial)
applications that I can't (or CBA*) to run on FreeBSD directly. The FreeBSD
world tends to incremental improvements rather than excremental overturns.
I have a USB hard-drive that I can boot to FreeBSD. It's interesting. I like
that all non-system code goes to /usr/local instead of /usr.

Had to add support for ALSA/JACK for one of my projects, but have not finished
getting that to work.
Post by Ahem A Rivet's Shot
[*] FreeBSD has a Linux API emulation layer but it has gaps and getting
applications to run under it can be fiddly due to assumptions in the
code about the environment.
Sounds like MACRO_CITY!
--
Your reasoning is excellent -- it's only your basic assumptions that are wrong.
Sebastian
2024-08-27 03:43:20 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
On Tue, 20 Aug 2024 21:21:10 +0000
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
Sure but underneath all the window dressing there's still a
pretty standard set of syscalls and libraries from libc to libXt and beyond
and most of the command line utilities still work unchanged (once installed
at least).
There's the key phrase: "once installed." There is a growing number of
tools that have been around since V7 that are no longer installed by
default in the most popular Linux distros. In not too many years, Linux
will resemble Unix about as much as Windows does.
Post by Ahem A Rivet's Shot
There is however some driving force in the Linux world that seems to
have a deep hatred of network admins, their bit of the Linux world seems to
shift like quicksand. I gather systemd is spreading the misery to other
parts of system administration too.
This force is affecting all of Western society, and it has a deep hatred
of anything that can be called "traditional" or "old." Within the Linux
world, Systemd (every single aspect of it), newfangled network tools,
usrmerge, and Wayland are all manifestations of this hatred of anything
old. So is the fact that you have to manually install such basic things as
Vim and at(1). The fact that these projects are kicking people off for bizarre
ideological slights is absolutely related.
Post by Ahem A Rivet's Shot
Personally I use FreeBSD for pretty much everything and keep a Linux
Mint VM around as an application launcher for a handful of (commercial)
applications that I can't (or CBA*) to run on FreeBSD directly. The FreeBSD
world tends to incremental improvements rather than excremental overturns.
The BSDs almost certainly have targets on their backs. Expect somebody to try
to fuck with their funding as a way of forcing them to change. There are
probably already infiltrators waiting for the signal to force somebody out
for refusing to rename "grep" because somebody decided it's misogynistic.
Post by Ahem A Rivet's Shot
[*] FreeBSD has a Linux API emulation layer but it has gaps and getting
applications to run under it can be fiddly due to assumptions in the
code about the environment.
Lawrence D'Oliveiro
2024-08-27 04:43:45 UTC
Reply
Permalink
Post by Sebastian
There is a growing number of
tools that have been around since V7 that are no longer installed by
default in the most popular Linux distros. In not too many years, Linux
will resemble Unix about as much as Windows does.
Interesting how you go from “most popular Linux distros” to “Linux” (as a
whole, without qualification), as though it doesn’t offer a choice.

Either use a distro that installs those tools “by default”, or create your
own. Over 300 existing distros are proof of how easy it is to get off your
bum and do the same.
Post by Sebastian
This force is affecting all of Western society, and it has a deep hatred
of anything that can be called "traditional" or "old." Within the Linux
world, Systemd (every single aspect of it), newfangled network tools,
usrmerge, and Wayland are all manifestations of this hatred of anything
old.
Or maybe they just want things arranged a bit more rationally. Modern
network stacks are getting quite complex, especially in the Linux world;
that’s why old, traditional commands like “route” and “netstat” are no
longer sufficient unto the job, you need new userland tools like iproute2
to deal in a more systematic way with all the functions.
Post by Sebastian
The BSDs almost certainly have targets on their backs.
They seem to live in a world where Apple and Microsoft never happened.
Sebastian
2024-08-27 07:29:09 UTC
Reply
Permalink
Post by Sebastian
There is a growing number of
tools that have been around since V7 that are no longer installed by
default in the most popular Linux distros. In not too many years, Linux
will resemble Unix about as much as Windows does.
Interesting how you go from ?most popular Linux distros? to ?Linux? (as a
whole, without qualification), as though it doesn?t offer a choice.
Either use a distro that installs those tools ?by default?, or create your
own. Over 300 existing distros are proof of how easy it is to get off your
bum and do the same.
Most of them are completely unmaintained, and a lot of them depend on
Debian or Red Hat. I currently run Devuan, and I watched as they were
forced against their will to accept usrmerge because they don't have the
manpower or the funding to continually un-merge the packages coming from
Debian, or to break away from Debian entirely and be a fully-independent
distro.
Post by Sebastian
This force is affecting all of Western society, and it has a deep hatred
of anything that can be called "traditional" or "old." Within the Linux
world, Systemd (every single aspect of it), newfangled network tools,
usrmerge, and Wayland are all manifestations of this hatred of anything
old.
Or maybe they just want things arranged a bit more rationally.
Modern society is deeply anti-rational. Sometimes consciously so,
but I assume you are aware of that on some level.
Modern network stacks are getting quite complex, especially in the
Linux world; that?s why old, traditional commands like ?route? and
?netstat? are no longer sufficient unto the job, you need new userland
tools like iproute2 to deal in a more systematic way with all the
functions.
Nothing about today's network stacks demands new networking programs.
As proof I submit the fact that the BSDs have essentially dismissed
iproute2 as a quaint Linuxism. The old programs can be extended, and
they have been on the BSDs. It's still not too late to do so on Linux,
but it wouldn't do any good because they would still be old, and that's
the real reason they're being phased out.
Post by Sebastian
The BSDs almost certainly have targets on their backs.
They seem to live in a world where Apple and Microsoft never happened.
They're not yet infected with the "old = bad" virus, and their funders
have not yet forced their hands or started purging people. Apple and
Microsoft have contributed nothing that needs to be taken into account
in the form of changes to BSD.
Lawrence D'Oliveiro
2024-08-27 07:46:32 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
There is a growing number of tools that have been around since V7 that
are no longer installed by default in the most popular Linux distros.
In not too many years, Linux will resemble Unix about as much as
Windows does.
Interesting how you go from “most popular Linux distros” to “Linux” (as
a whole, without qualification), as though it doesn’t offer a choice.
Either use a distro that installs those tools “by default”, or create
your own. Over 300 existing distros are proof of how easy it is to get
off your num and do the same.
Most of them are completely unmaintained ...
So, why not offer to maintain them? Pick one that shows promise, and
throw your not inconsiderable weight behind it.
I currently run Devuan, and I watched as they were
forced against their will to accept usrmerge because they don't have the
manpower or the funding to continually un-merge the packages coming from
Debian, or to break away from Debian entirely and be a fully-independent
distro.
Is it because most of their users are armchair complainers like you,
rather than doers with something positive to contribute?
Post by Lawrence D'Oliveiro
Modern network stacks are getting quite complex, especially in the
Linux world; that?s why old, traditional commands like ?route? and
?netstat? are no longer sufficient unto the job, you need new userland
tools like iproute2 to deal in a more systematic way with all the
functions.
Nothing about today's network stacks demands new networking programs. As
proof I submit the fact that the BSDs have essentially dismissed
iproute2 as a quaint Linuxism.
Funny you should say that ...
<https://cgit.freebsd.org/src/commit/?id=7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6>

As I said before, where Linux leads, the BSDs follow ...
D
2024-08-27 07:36:35 UTC
Reply
Permalink
Post by Sebastian
probably already infiltrators waiting for the signal to force somebody out
for refusing to rename "grep" because somebody decided it's misogynistic.
That would be very funny, except the fact that it is probably a very
accurate description of todays open source project reality. =(
Chris Ahlstrom
2024-08-27 15:15:27 UTC
Reply
Permalink
Post by D
Post by Sebastian
probably already infiltrators waiting for the signal to force somebody out
for refusing to rename "grep" because somebody decided it's misogynistic.
That would be very funny, except the fact that it is probably a very
accurate description of todays open source project reality. =(
The git system better look out! :-)

GIMP too!!!
--
Don't let your mind wander -- it's too little to be let out alone.
Sebastian
2024-08-29 04:32:19 UTC
Reply
Permalink
Post by Chris Ahlstrom
Post by D
Post by Sebastian
probably already infiltrators waiting for the signal to force somebody out
for refusing to rename "grep" because somebody decided it's misogynistic.
That would be very funny, except the fact that it is probably a very
accurate description of todays open source project reality. =(
The git system better look out! :-)
The name "git" doesn't offend commies, but it now bows to the left
by showing this gay message whenever you create a new repo:

| hint: Using 'master' as the name for the initial branch. This default branch name
| hint: is subject to change. To configure the initial branch name to use in all
| hint: of your new repositories, which will suppress this warning, call:
| hint:
| hint: git config --global init.defaultBranch <name>
| hint:
| hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
| hint: 'development'. The just-created branch can be renamed via this command:
| hint:
| hint: git branch -m <name>

The "git" command that is preinstalled on MacOS uses "main" by default. As far as I
can tell, Apple went out of their way to change that value in their build.

GIMP, on the other hand, is a synonym for "cripple," and the left has already
deleted that word from the Newspeak Dictionary and declared it an unsayable
unword. "GIMP" can't be far behind.
Ahem A Rivet's Shot
2024-08-29 07:40:06 UTC
Reply
Permalink
On Thu, 29 Aug 2024 04:32:19 -0000 (UTC)
Post by Sebastian
The "git" command that is preinstalled on MacOS uses "main" by default.
As far as I can tell, Apple went out of their way to change that value in
their build.
The FreeBSD git port also uses "main" by default I thought that had
become standard.

It has nothing to do with communism and everything to do with
slavery but perhaps you anti-commies are proud of your slave owning
ancestors.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Sebastian
2024-08-30 08:39:33 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
On Thu, 29 Aug 2024 04:32:19 -0000 (UTC)
Post by Sebastian
The "git" command that is preinstalled on MacOS uses "main" by default.
As far as I can tell, Apple went out of their way to change that value in
their build.
The FreeBSD git port also uses "main" by default I thought that had
become standard.
It has nothing to do with communism and everything to do with
slavery but perhaps you anti-commies are proud of your slave owning
ancestors.
Communist thinking is the only way to arrive at the belief that the use of
the word "master" as the name of a branch in a source management system
has anything to do with slavery. The real reason you faggots make such a
big deal of single words is because you're looking for clues about what
people are thinking so you can identify thought criminals. Someone who
pushes back against your demand to rename his branch is obviously not a
good communist, because a good communist already knows he's supposed to
be offended by the word "master", to the point of "literally shaking"
and being unable to "even."
Jan van den Broek
2024-08-30 09:14:54 UTC
Reply
Permalink
2024-08-30, Sebastian <***@here.com.invalid> schrieb:

[Schnipp]
Post by Sebastian
has anything to do with slavery. The real reason you faggots make such a
^^^^^^^^^^^
This is a good way to get plonked. You make it look like you're not
open to a reasonable discussion.

[Schnipp]
--
Jan v/d Broek ***@dds.nl

"We're through being cool."
John Ames
2024-08-30 14:47:49 UTC
Reply
Permalink
On Fri, 30 Aug 2024 09:14:54 -0000 (UTC)
Post by Jan van den Broek
[Schnipp]
Post by Sebastian
has anything to do with slavery. The real reason you faggots make such a
^^^^^^^^^^^
This is a good way to get plonked. You make it look like you're not
open to a reasonable discussion.
[Schnipp]
Seems that removing the GG spam firehose from Usenet only led to the
troglodytes realizing that now *their* spam could shine all the
brighter... :/
Scott Lurndal
2024-08-30 15:45:58 UTC
Reply
Permalink
Post by John Ames
On Fri, 30 Aug 2024 09:14:54 -0000 (UTC)
Post by Jan van den Broek
[Schnipp]
Post by Sebastian
has anything to do with slavery. The real reason you faggots make such a
^^^^^^^^^^^
This is a good way to get plonked. You make it look like you're not
open to a reasonable discussion.
[Schnipp]
Seems that removing the GG spam firehose from Usenet only led to the
troglodytes realizing that now *their* spam could shine all the
brighter... :/
It's not even spam, rather more like vandalism.

D
2024-08-29 08:28:30 UTC
Reply
Permalink
Post by Sebastian
Post by Chris Ahlstrom
Post by D
Post by Sebastian
probably already infiltrators waiting for the signal to force somebody out
for refusing to rename "grep" because somebody decided it's misogynistic.
That would be very funny, except the fact that it is probably a very
accurate description of todays open source project reality. =(
The git system better look out! :-)
The name "git" doesn't offend commies, but it now bows to the left
| hint: Using 'master' as the name for the initial branch. This default branch name
| hint: is subject to change. To configure the initial branch name to use in all
| hint: git config --global init.defaultBranch <name>
| hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
| hint: git branch -m <name>
The "git" command that is preinstalled on MacOS uses "main" by default. As far as I
can tell, Apple went out of their way to change that value in their build.
GIMP, on the other hand, is a synonym for "cripple," and the left has already
deleted that word from the Newspeak Dictionary and declared it an unsayable
unword. "GIMP" can't be far behind.
Jesus Christ, the silliness of modern self-destructing culture never
ceases to amaze!

Instead of master/slave, there are so many words one can use. white/black,
caucasian/negro, master/nigger. ;)

I try actively not to use and support, if possible, products, software and
companies that devolve into woke identity politics and I think more people
should just say no to this madness.

My opinion is, that if you are offended by someone having a master branch
or a master db, then you should have your head examined and probably spend
a few dollars on therapy.
Lawrence D'Oliveiro
2024-08-21 22:20:50 UTC
Reply
Permalink
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
The fact that that “if(UNIX AND NOT APPLE)” condition I mentioned
elsewhere includes Linux under the “UNIX” part, might seem to say
otherwise.
Marco Moock
2024-08-23 12:16:24 UTC
Reply
Permalink
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
True, but there are some UNIX aspects that are simply not good enough
for the current needs, like the SysVinit. It works, but is rather
uncomfortable compared to systemd.
--
kind regards
Marco

Send spam to ***@cartoonies.org
Scott Lurndal
2024-08-23 13:23:19 UTC
Reply
Permalink
Post by Marco Moock
Post by Dennis Boone
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Hmm, disagree. It seems that a substantial portion of the Linux world
spends much of its time trying to eradicate any remaining unix-like
nature. And are proud of it.
True, but there are some UNIX aspects that are simply not good enough
for the current needs, like the SysVinit. It works, but is rather
uncomfortable compared to systemd.
SysVinit works just fine. Systemd is a big mess.
Lawrence D'Oliveiro
2024-08-23 23:30:19 UTC
Reply
Permalink
Post by Scott Lurndal
SysVinit works just fine. Systemd is a big mess.
Remember that systemd also handles user-level services, not just system-
level ones. I don’t think any other init system is capable of that.
Scott Lurndal
2024-08-24 16:54:31 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
SysVinit works just fine. Systemd is a big mess.
Remember that systemd also handles user-level services, not just system-
level ones. I don’t think any other init system is capable of that.
There is no need for such a service to be part of the
init controller.

SVR4 had sacadmin and pmadmin to handle the login-related
stuff - completely distinct from the boot level initialization.

After fighting with the pointless systemd DNS resolver recently,
I had to kill it and fire up bind to get a custom configuration
suitable for anything other than the simple forwarding/caching
supported by systemd.
Lawrence D'Oliveiro
2024-08-24 22:44:40 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
SysVinit works just fine. Systemd is a big mess.
Remember that systemd also handles user-level services, not just system-
level ones. I don’t think any other init system is capable of that.
There is no need for such a service to be part of the init controller.
Some advanced GUI desktops can have quite complex needs for service
management. systemd is useful for that.
After fighting with the pointless systemd DNS resolver recently,
I had to kill it ...
The point being, you could, because systemd is made up of modular pieces.
Ahem A Rivet's Shot
2024-08-23 13:48:13 UTC
Reply
Permalink
On Fri, 23 Aug 2024 14:16:24 +0200
like the SysVinit. It works, but is rather uncomfortable compared to
systemd.
One solution to the problems of SysVinit is long established and
much simpler than systemd - BSD init.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Lawrence D'Oliveiro
2024-08-23 23:29:19 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
One solution to the problems of SysVinit is long established and
much simpler than systemd - BSD init.
Interestingly, some in the BSD world are working on their own systemd-
lookalike: it’s called “InitWare”.
Lawrence D'Oliveiro
2024-08-20 23:21:28 UTC
Reply
Permalink
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Two different meanings of “Unix” at play here: one is the official
trademark, which can only be legally used if you have licensed it. None of
the Free Software OSes (BSD, Linux) can afford to do so.

And then there is what I (and some others) have been referring to as
“*nix”, which is a certain set of traditions as to how a system is
supposed to behave. Linux and the BSDs certainly qualify.

The fact that the two are not only separate, but can mean quite opposite
things, is I think exemplified by Apple’s macOS (née OS X), which is
legally “Unix” but, as to whether it behaves the way you would expect,
well, when you see things like this

if(UNIX AND NOT APPLE)
...

in cross-platform build scripts ...
Geoff Clare
2024-08-21 13:31:32 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Ted Nolan <tednolan>
Linux is Unix for all practical purposes.
Two different meanings of “Unix” at play here: one is the official
trademark, which can only be legally used if you have licensed it. None of
the Free Software OSes (BSD, Linux) can afford to do so.
Except for two Linux distributions which were certified in the past
but have since not renewed their UNIX® licences, namely Inspur K-UX
and Huawei EulerOS. Their historical certifications can be seen on
the wayback machine:

https://web.archive.org/web/20190212133437/https://www.opengroup.org/openbrand/register/

In case anyone takes away from this the idea that the only thing
stopping other Linux distros being certified is the licensing fee,
that is very much not the case. Around the same time frame as those
certifications, I ran the UNIX conformance tests for the shell and
utilities on a Debian system and got over 1500 failures (out of
nearly 12000 tests). I suspect the results for the C language
interfaces would not be as bad, and those 1500 included a lot of
repetition[*], but it shows that Inspur and Huawei must have made
a lot of changes in order to pass the tests.

[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
--
Geoff Clare <***@gclare.org.uk>
Ahem A Rivet's Shot
2024-08-21 14:20:32 UTC
Reply
Permalink
On Wed, 21 Aug 2024 14:31:32 +0100
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
There are uses for an empty symbolic link such as /etc/malloc.conf
being used for malloc options.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
geodandw
2024-08-21 17:26:43 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
On Wed, 21 Aug 2024 14:31:32 +0100
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
There are uses for an empty symbolic link such as /etc/malloc.conf
being used for malloc options.
Does this have a value over an empty file?
Ahem A Rivet's Shot
2024-08-21 17:34:55 UTC
Reply
Permalink
On Wed, 21 Aug 2024 13:26:43 -0400
Post by geodandw
Post by Ahem A Rivet's Shot
On Wed, 21 Aug 2024 14:31:32 +0100
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
There are uses for an empty symbolic link such
as /etc/malloc.conf being used for malloc options.
Does this have a value over an empty file?
Yes malloc.conf is usually a symlink with the malloc options in
it , for example this will cause malloc to dump core when problems occur.

ln -s 'abort:true' /etc/malloc.conf

To remove the options you can either remove malloc.conf or

ln -s "" /etc/malloc.conf

Which makes it clear they've been set as empty rather than been
lost.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Peter Flass
2024-08-21 18:50:32 UTC
Reply
Permalink
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
What happens if you create the symlink and then delete the underlying file?
--
Pete
Scott Lurndal
2024-08-21 22:02:56 UTC
Reply
Permalink
Post by Peter Flass
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
What happens if you create the symlink and then delete the underlying file?
Nothing. There isn't an underlying file, per-se. A symbolic link
is more like an alias. You can create a symlink that points to a
non-existent path, what Geoff noted is that one cannot create an
empty symbolic link on some linux implementations.

If the symlink points to a non-existent target, it is as if the file
doesn't exist (so open returns ENOENT, for example).
D
2024-08-22 08:21:03 UTC
Reply
Permalink
Post by Scott Lurndal
Post by Peter Flass
Post by Geoff Clare
[*] For example, for every utility that can open a file there is
a test of how it handles an empty symbolic link. Those all fail
on a typical Linux distro because it won't let you create an empty
symbolic link.
What happens if you create the symlink and then delete the underlying file?
Nothing. There isn't an underlying file, per-se. A symbolic link
is more like an alias. You can create a symlink that points to a
non-existent path, what Geoff noted is that one cannot create an
empty symbolic link on some linux implementations.
If the symlink points to a non-existent target, it is as if the file
doesn't exist (so open returns ENOENT, for example).
Also note that there are hard and soft links. If you use hard links, which
I do in my homebrew backup solution to save space, the data will remain as
long as at least one link remains. You need to delete all of them before
the data is gone.
Lawrence D'Oliveiro
2024-08-21 22:18:55 UTC
Reply
Permalink
[*] For example, for every utility that can open a file there is a test
of how it handles an empty symbolic link. Those all fail on a typical
Linux distro because it won't let you create an empty symbolic link.
***@theon:~> ln -s /nosuch nosuch
***@theon:~> ls -l nosuch
lrwxrwxrwx 1 ldo users 7 Aug 22 10:18 nosuch -> /nosuch

Does Debian count as a “typical Linux distro”?
Niklas Karlsson
2024-08-21 22:51:55 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
[*] For example, for every utility that can open a file there is a test
of how it handles an empty symbolic link. Those all fail on a typical
Linux distro because it won't let you create an empty symbolic link.
lrwxrwxrwx 1 ldo users 7 Aug 22 10:18 nosuch -> /nosuch
Does Debian count as a “typical Linux distro”?
That's just a symbolic link leading somewhere nonexistent. An empty
symbolic link would have the empty string as its target.

On my Ubuntu machine:

$ ln -s '' gurka
ln: failed to create symbolic link 'gurka' -> '': No such file or
directory

Niklas
--
I haven't seen [Mac OS 8] yet, but it can't be worse than Motif, which looks
like a cross between 70s style and the architecture of Albert Speer.
-- Paul Tomblin, asr
Lawrence D'Oliveiro
2024-08-22 00:03:50 UTC
Reply
Permalink
An empty symbolic link would have the empty string as its target.
Ah.

Question:

What would be the point of such a link?
Lawrence D'Oliveiro
2024-08-22 00:14:24 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
An empty symbolic link would have the empty string as its target.
Ah.
What would be the point of such a link?
To answer my own question: there would seem to be none.

According to this analysis of the question from over a decade ago
<https://lwn.net/Articles/551224/>, it’s not a new issue with POSIX
compliance in Linux. It seems like strict POSIX compliance would allow you
to create such links, but they don’t actually have to mean anything.

You will note that Solaris treats empty links as pointing to the current
directory, while BSD treats them as never pointing anywhere valid. And
both behaviours are supposed to be valid under POSIX.
Peter Flass
2024-08-22 00:31:10 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
An empty symbolic link would have the empty string as its target.
Ah.
What would be the point of such a link?
To answer my own question: there would seem to be none.
According to this analysis of the question from over a decade ago
<https://lwn.net/Articles/551224/>, it’s not a new issue with POSIX
compliance in Linux. It seems like strict POSIX compliance would allow you
to create such links, but they don’t actually have to mean anything.
You will note that Solaris treats empty links as pointing to the current
directory, while BSD treats them as never pointing anywhere valid. And
both behaviours are supposed to be valid under POSIX.
If it’s an item for certification, they should have removed it if it didn’t
serve a useful purpose.
--
Pete
Lawrence D'Oliveiro
2024-08-22 05:16:55 UTC
Reply
Permalink
Post by Peter Flass
If it’s an item for certification, they should have removed it if it
didn’t serve a useful purpose.
This is why I think, the attitude of the Linux kernel developers has been,
not to implement every part of POSIX to the letter, but to implement all
the parts of POSIX that anybody cares about.
Geoff Clare
2024-08-22 12:44:09 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
What would be the point of such a link?
To answer my own question: there would seem to be none.
The point is that symlinks can have other uses than just a way to
point to another location in the filesystem. That is why POSIX
requires that symlink() does not validate the contents as a pathname.

One such use is to store small amounts of data in the symlink itself,
and an empty string may well be valid data when used that way, as in
the /etc/malloc.conf example Steve O'Hara-Smith gave earlier in this
thread.
--
Geoff Clare <***@gclare.org.uk>
Lawrence D'Oliveiro
2024-08-23 00:50:41 UTC
Reply
Permalink
One such use is to store small amounts of data in the symlink itself ...
But surely, storing the data in the target of the link gives you more
possibilities, like a key-value store:

***@theon:symlink_try> ls -l
total 0
lrwxrwxrwx 1 ldo users 7 Aug 23 12:49 location -> Taihape
lrwxrwxrwx 1 ldo users 9 Aug 23 12:49 name -> 'Fred Dagg'
lrwxrwxrwx 1 ldo users 6 Aug 23 12:49 occupation -> Farmer
Ahem A Rivet's Shot
2024-08-23 04:57:00 UTC
Reply
Permalink
On Fri, 23 Aug 2024 00:50:41 -0000 (UTC)
Post by Lawrence D'Oliveiro
One such use is to store small amounts of data in the symlink itself ...
But surely, storing the data in the target of the link gives you more
Of course but it's about efficiency - to get the value stored in a
symlink you need to read the directory entry and the inode, to get the data
in the target you then need to read the directory entry that the symlink
refers to and its inode and file data as well.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Lawrence D'Oliveiro
2024-08-23 05:38:07 UTC
Reply
Permalink
Post by Ahem A Rivet's Shot
On Fri, 23 Aug 2024 00:50:41 -0000 (UTC)
Post by Lawrence D'Oliveiro
One such use is to store small amounts of data in the symlink itself ...
But surely, storing the data in the target of the link gives you more
Of course but it's about efficiency - to get the value stored in a
symlink you need to read the directory entry and the inode, to get the
data in the target you then need to read the directory entry that the
symlink refers to and its inode and file data as well.
But reading the directory entry is sufficient to get both the name of the
symlink and the name of its (nonexistent) target. That’s all you need.
Ahem A Rivet's Shot
2024-08-23 06:45:48 UTC
Reply
Permalink
On Fri, 23 Aug 2024 05:38:07 -0000 (UTC)
Post by Lawrence D'Oliveiro
But reading the directory entry is sufficient to get both the name of the
symlink and the name of its (nonexistent) target. That’s all you need.
The target name of a symlink is stored in the inode not the
directory entry.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Lawrence D'Oliveiro
2024-08-23 07:06:06 UTC
Reply
Permalink
On Fri, 23 Aug 2024 05:38:07 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
But reading the directory entry is sufficient to get both the name of
the symlink and the name of its (nonexistent) target. That’s all you
need.
The target name of a symlink is stored in the inode not the
directory entry.
The target is just a name string. If the target does not exist, there can
be no inode for it to point to.
R Daneel Olivaw
2024-08-23 07:53:15 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
On Fri, 23 Aug 2024 05:38:07 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
But reading the directory entry is sufficient to get both the name of
the symlink and the name of its (nonexistent) target. That’s all you
need.
The target name of a symlink is stored in the inode not the
directory entry.
The target is just a name string. If the target does not exist, there can
be no inode for it to point to.
I just tested that:

cd /tmp
ln -s gerkin cucumber
(at this point cucumber pointed to the non-existent gerkin)
touch cucumber
(now gerkin existed and cucumber pointed to it)
Lawrence D'Oliveiro
2024-08-23 08:32:01 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
On Fri, 23 Aug 2024 05:38:07 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
But reading the directory entry is sufficient to get both the name of
the symlink and the name of its (nonexistent) target. That’s all you
need.
The target name of a symlink is stored in the inode not the
directory entry.
The target is just a name string. If the target does not exist, there
can be no inode for it to point to.
cd /tmp ln -s gerkin cucumber
(at this point cucumber pointed to the non-existent gerkin)
touch cucumber
(now gerkin existed and cucumber pointed to it)
In what way was that a test of the truth or falsity of my statement?
R Daneel Olivaw
2024-08-23 15:33:33 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
On Fri, 23 Aug 2024 05:38:07 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
But reading the directory entry is sufficient to get both the name of
the symlink and the name of its (nonexistent) target. That’s all you
need.
The target name of a symlink is stored in the inode not the
directory entry.
The target is just a name string. If the target does not exist, there
can be no inode for it to point to.
cd /tmp ln -s gerkin cucumber
(at this point cucumber pointed to the non-existent gerkin)
touch cucumber
(now gerkin existed and cucumber pointed to it)
In what way was that a test of the truth or falsity of my statement?
I saw it as confirmation.
Ahem A Rivet's Shot
2024-08-23 08:37:22 UTC
Reply
Permalink
On Fri, 23 Aug 2024 07:06:06 -0000 (UTC)
Post by Lawrence D'Oliveiro
Post by Ahem A Rivet's Shot
The target name of a symlink is stored in the inode not the
directory entry.
The target is just a name string. If the target does not exist, there can
be no inode for it to point to.
A directory entry either points to an indode or specifies a device.
If the directory entry is a file that inode contains pointers to the file
data, if it is a symlink that inode contains the string representing the
target of the symlink.

There is no space in a directory entry to hold the target of a
symlink.

If the target exists then the string in the inode pointed to by the
symlink refers to a directory entry with its own inode.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Ahem A Rivet's Shot
2024-08-23 09:08:53 UTC
Reply
Permalink
On Fri, 23 Aug 2024 07:06:06 -0000 (UTC)
Post by Lawrence D'Oliveiro
The target is just a name string. If the target does not exist, there can
be no inode for it to point to.
Some evidence to back my words.

✓ ***@steve ~/tmp $ ln -s x y
✓ ***@steve ~/tmp $ ls -li
total 1
128050 lrwxrwxr-x 1 steve steve 1 23 Aug 10:04 y -> x
✓ ***@steve ~/tmp $

The symlink y has an inode 128050 - that is where "x" is stored. So
to get the "x" I have to read a directory entry and an inode but to get the
contents of the file X (if it exists) I'd have to read a second directory
entry and inode as well as some file data.

That is why storing flags in an inode value is faster than storing
them in a file. Especially since directory entries and inode tables tend to
get cached.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Geoff Clare
2024-08-23 12:49:02 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
One such use is to store small amounts of data in the symlink itself ...
But surely, storing the data in the target of the link gives you more
total 0
lrwxrwxrwx 1 ldo users 7 Aug 23 12:49 location -> Taihape
lrwxrwxrwx 1 ldo users 9 Aug 23 12:49 name -> 'Fred Dagg'
lrwxrwxrwx 1 ldo users 6 Aug 23 12:49 occupation -> Farmer
I think you misunderstood what I meant by "in the symlink itself"
because that's exactly what you have done in this example. The ls
output shows that the string "Taihape" (the data) was stored as the
contents of the symlink called "location". That's precisely what I
meant when I referred to data being "in the symlink itself".

If you thought I meant the data would be in the _filename_ of the
symlink, then that of course would be another atypical use of symlinks
where an empty symlink could be used, but it isn't the use I was
talking about.
--
Geoff Clare <***@gclare.org.uk>
Lawrence D'Oliveiro
2024-08-23 23:39:28 UTC
Reply
Permalink
Post by Geoff Clare
Post by Lawrence D'Oliveiro
One such use is to store small amounts of data in the symlink itself ...
But surely, storing the data in the target of the link gives you more
total 0
lrwxrwxrwx 1 ldo users 7 Aug 23 12:49 location -> Taihape
lrwxrwxrwx 1 ldo users 9 Aug 23 12:49 name -> 'Fred Dagg'
lrwxrwxrwx 1 ldo users 6 Aug 23 12:49 occupation -> Farmer
I think you misunderstood what I meant by "in the symlink itself"
because that's exactly what you have done in this example.
And I did it without needing empty symlinks. So what was the point of
those, again?
Ahem A Rivet's Shot
2024-08-24 03:06:23 UTC
Reply
Permalink
On Fri, 23 Aug 2024 23:39:28 -0000 (UTC)
Post by Lawrence D'Oliveiro
And I did it without needing empty symlinks. So what was the point of
those, again?
It's a string value so the point of an empty symlink is the same as
the point of an empty string.
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Lawrence D'Oliveiro
2024-08-24 03:52:40 UTC
Reply
Permalink
On Fri, 23 Aug 2024 23:39:28 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
And I did it without needing empty symlinks. So what was the point of
those, again?
It's a string value so the point of an empty symlink is the same as
the point of an empty string.
If you really want to abuse symlinks in a POSIX filesystem as some kind of
database, this is when you realize that it doesn’t really work.

In a proper database, an empty string is not only valid as a field value
(if the field type allows it), it can also be valid as a key. And
remember, in relational databases, there is also the “null” value, which
is distinct from the empty string.

Do you want to allow empty link names as well? If not, why not?
Ahem A Rivet's Shot
2024-08-24 07:00:49 UTC
Reply
Permalink
On Sat, 24 Aug 2024 03:52:40 -0000 (UTC)
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some kind
of database, this is when you realize that it doesn’t really work.
malloc.conf!
--
Steve O'Hara-Smith
Odds and Ends at http://www.sohara.org/
For forms of government let fools contest
Whate're is best administered is best - Alexander Pope
Scott Lurndal
2024-08-24 16:55:44 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
On Fri, 23 Aug 2024 23:39:28 -0000 (UTC) Lawrence D'Oliveiro
Post by Lawrence D'Oliveiro
And I did it without needing empty symlinks. So what was the point of
those, again?
It's a string value so the point of an empty symlink is the same as
the point of an empty string.
If you really want to abuse symlinks in a POSIX filesystem as some kind of
database, this is when you realize that it doesn’t really work.
Actually, it does work. And works well enough to be part of the standard.
Lawrence D'Oliveiro
2024-08-24 22:45:46 UTC
Reply
Permalink
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some kind
of database, this is when you realize that it doesn’t really work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has not
held back Linux in any way, tells us all we need to know about the
usefulness of such a “feature”.
Nuno Silva
2024-08-25 10:45:37 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some kind
of database, this is when you realize that it doesn’t really work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has not
held back Linux in any way, tells us all we need to know about the
usefulness of such a “feature”.
Okay, stop this. The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.

If you can't appreciate that features may be implemented differently or
be different and still be equally acceptable or good or convenient in
these different ways, then I fear you won't be able to fully appreciate
a conversation about several UNIX-like systems.

This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it. But it just
means Linux-based systems can manage without it.
--
Nuno Silva
Dan Cross
2024-08-25 10:55:38 UTC
Reply
Permalink
Post by Nuno Silva
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some kind
of database, this is when you realize that it doesn’t really work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has not
held back Linux in any way, tells us all we need to know about the
usefulness of such a “feature”.
Okay, stop this. The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.
If you can't appreciate that features may be implemented differently or
be different and still be equally acceptable or good or convenient in
these different ways, then I fear you won't be able to fully appreciate
a conversation about several UNIX-like systems.
This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it. But it just
means Linux-based systems can manage without it.
I honestly don't understand why people keep trying to
engage with this Lawrence fellow in good faith; it's
like arguing with the village idiot.
Bob Eager
2024-08-25 12:34:55 UTC
Reply
Permalink
Post by Nuno Silva
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some
kind of database, this is when you realize that it doesn’t really
work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has
not held back Linux in any way, tells us all we need to know about the
usefulness of such a “feature”.
Okay, stop this. The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.
If you can't appreciate that features may be implemented differently or
be different and still be equally acceptable or good or convenient in
these different ways, then I fear you won't be able to fully appreciate
a conversation about several UNIX-like systems.
This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it. But it
just means Linux-based systems can manage without it.
I honestly don't understand why people keep trying to engage with this
Lawrence fellow in good faith; it's like arguing with the village idiot.
I have had him killfiled for quite a while. I only see responses.
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Dan Cross
2024-08-26 04:37:05 UTC
Reply
Permalink
Post by Bob Eager
Post by Nuno Silva
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some
kind of database, this is when you realize that it doesn’t really
work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has
not held back Linux in any way, tells us all we need to know about the
usefulness of such a “feature”.
Okay, stop this. The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.
If you can't appreciate that features may be implemented differently or
be different and still be equally acceptable or good or convenient in
these different ways, then I fear you won't be able to fully appreciate
a conversation about several UNIX-like systems.
This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it. But it
just means Linux-based systems can manage without it.
I honestly don't understand why people keep trying to engage with this
Lawrence fellow in good faith; it's like arguing with the village idiot.
I have had him killfiled for quite a while. I only see responses.
Same here; I remain mystified as to why so many people, who
really ought to know better, have not done the same.

- Dan C.
D
2024-08-26 07:35:17 UTC
Reply
Permalink
Post by Dan Cross
Post by Bob Eager
Post by Nuno Silva
Post by Lawrence D'Oliveiro
Post by Scott Lurndal
Post by Lawrence D'Oliveiro
If you really want to abuse symlinks in a POSIX filesystem as some
kind of database, this is when you realize that it doesn???t really
work.
Actually, it does work. And works well enough to be part of the standard.
The fact that the lack of support for that part of the standard has
not held back Linux in any way, tells us all we need to know about the
usefulness of such a ???feature???.
Okay, stop this. The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.
If you can't appreciate that features may be implemented differently or
be different and still be equally acceptable or good or convenient in
these different ways, then I fear you won't be able to fully appreciate
a conversation about several UNIX-like systems.
This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it. But it
just means Linux-based systems can manage without it.
I honestly don't understand why people keep trying to engage with this
Lawrence fellow in good faith; it's like arguing with the village idiot.
I have had him killfiled for quite a while. I only see responses.
Same here; I remain mystified as to why so many people, who
really ought to know better, have not done the same.
- Dan C.
Same here. My usenet life really improved after doing that.
Lawrence D'Oliveiro
2024-08-25 21:56:49 UTC
Reply
Permalink
Post by Nuno Silva
The fact that Linux-based systems don't do this doesn't
mean it isn't useful, just means it's done differently.
Oh, but it does. POSIX says you have to have it, but doesn’t say what it’s
actually supposed to do; Linux doesn’t have it. Linux is useful. Therefore
this feature isn’t useful. QED.
Post by Nuno Silva
This whole branch of the thread sounds like you trying to insist that an
empty symlink is not useful because Linux doesn't support it.
You mean, you just noticed that I have said as much?
John Levine
2024-08-24 00:40:18 UTC
Reply
Permalink
Post by Geoff Clare
The point is that symlinks can have other uses than just a way to
point to another location in the filesystem. That is why POSIX
requires that symlink() does not validate the contents as a pathname.
One such use is to store small amounts of data in the symlink itself,
and an empty string may well be valid data when used that way, as in
the /etc/malloc.conf example Steve O'Hara-Smith gave earlier in this
thread.
My recollection is that some filesystems store very small files
directly in the inode, the same way they store symlinks of similar
size. I sort of see the point of the funky symlinks but it seems to me
a great deal of potential confusion for little if no practical benefit.
--
Regards,
John Levine, ***@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly
Lawrence D'Oliveiro
2024-08-24 02:28:30 UTC
Reply
Permalink
Post by John Levine
I sort of see the point of the funky symlinks but it seems to me
a great deal of potential confusion for little if no practical benefit.
It looks like a bad case of design-by-committee where the subcommittee
that voted to include the empty symlinks then left it to another
subcommittee to decide what they would actually mean, and the latter never
met.
Niklas Karlsson
2024-08-22 00:47:06 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
An empty symbolic link would have the empty string as its target.
Ah.
What would be the point of such a link?
None, so far as I can tell. I have no idea why POSIX requires it.

https://lwn.net/Articles/551224/

Niklas
--
You know, if you're going to name your city "Portland", you better have a
big-ass shipping industry, or at the very least a lot of fortified wine.
-- Mike Sphar in asr
Scott Lurndal
2024-08-22 14:11:21 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
An empty symbolic link would have the empty string as its target.
Ah.
What would be the point of such a link?
An example was posted earlier in the thread.
Lynn Wheeler
2024-08-20 17:21:17 UTC
Reply
Permalink
Post by Marco Moock
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
UNIX was proprietary, no source, under control of vendors with
traditional computer model ... at a time that wide-spread "cluster"
model was starting ... large scale "cluster" supercompting and large
scale "cluster" cloud computing ... and needed full unrestricted source
for adapting to the quickly evolving large scale "cluster" computing
model with enormous numbers of commodity pieces.

besides adapting software to large scale cluster model ... around the
turn of the century, the cloud operators were saying they were
assembling their own commodity computers at 1/3rd the price of vendor
systems (adopting custom software and system designs ... but then
heavily influencing component design and starting to participate in chip
design).

around end of 1st decade of the century, chip vendor press was saying
that they were shipping at least half their product direct to the
(cluster) megadatacenters. Large cloud operators having scores of
megadatacenters around the world, each megadatacenter with hundreds of
thousands of blade systems and tens of millions of processors, enormous
automation, a megadatacenter staffed with only 70-80 people.
--
virtualization experience starting Jan1968, online at home since Mar1970
Scott Lurndal
2024-08-20 18:08:52 UTC
Reply
Permalink
Post by Lynn Wheeler
Post by Marco Moock
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
UNIX was proprietary, no source, under control of vendors with
I would argue with the "no source". It was provided gratis
or nominal fee from Western Electric to universities (smart, as the
subsequent graduates moved into industry). The source was licensed
by dozens of corporations and computer manufacturers. License fees
were not exonerous.
Bob Eager
2024-08-20 20:26:04 UTC
Reply
Permalink
Post by Lynn Wheeler
Post by Marco Moock
I read in some German texts that in the 90s Linux wasn't found that
many times in computing centers ("under the radar of the management"
was the term used).
I assume the rise of Linux came after that, but that is all stuff that
I can't tell about, I started using computers about 2009/2010.
UNIX was proprietary, no source, under control of vendors with
I would argue with the "no source". It was provided gratis or nominal
fee from Western Electric to universities (smart, as the subsequent
graduates moved into industry). The source was licensed by dozens of
corporations and computer manufacturers. License fees were not
exonerous.
As a university, we got Sixth Edition (and possibly later ones) for $100
one off.
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Lynn Wheeler
2024-08-20 22:04:36 UTC
Reply
Permalink
Post by Scott Lurndal
I would argue with the "no source". It was provided gratis
or nominal fee from Western Electric to universities (smart, as the
subsequent graduates moved into industry). The source was licensed
by dozens of corporations and computer manufacturers. License fees
were not exonerous.
.... free, unencumbered, availability of source ... problems could
be considered behind the UNIX Wars SUN/ATT against the rest of
rest of the unixes and OSF:
https://en.wikipedia.org/wiki/Open_Software_Foundation
The Open Software Foundation (OSF) was a not-for-profit industry
consortium for creating an open standard for an implementation of the
operating system Unix. It was formed in 1988[1] and merged with X/Open
in 1996, to become The Open Group.[2]

https://en.wikipedia.org/wiki/Open_Software_Foundation#History
The organization was first proposed by Armando Stettner of Digital
Equipment Corporation (DEC) at an invitation-only meeting hosted by DEC
for several Unix system vendors in January 1988 (called the "Hamilton
Group", since the meeting was held at DEC's offices on Palo Alto's
Hamilton Avenue).[3] It was intended as an organization for joint
development, mostly in response to a perceived threat of "merged UNIX
system" efforts by AT&T Corporation and Sun Microsystems.

in the mean time, much of the cluster computing forces had latched on to
Linux. One the differences was the vendors were viewing
software&computers as profit ... while the cluster computing forces
viewed software&computers as cost.
--
virtualization experience starting Jan1968, online at home since Mar1970
Lawrence D'Oliveiro
2024-08-20 23:16:59 UTC
Reply
Permalink
Post by Lynn Wheeler
UNIX was proprietary, no source, under control of vendors with
traditional computer model ...
I would argue with the "no source". It was provided gratis or nominal
fee from Western Electric to universities (smart, as the subsequent
graduates moved into industry). The source was licensed by dozens of
corporations and computer manufacturers. License fees were not
exonerous.
There were severe limitations on the source. Remember what happened to the
Lions Book? That was driven underground because, in 7th Edition Unix, AT&T
removed the permission to use the source code in classroom teaching, which
had been there for the 6th Edition. So suddenly the book became
technically illegal.

And yes, AT&T’s licence fees for the source did keep going up and up. This
was mentioned in the Asianometry videos.
John Dallman
2024-08-20 19:55:00 UTC
Reply
Permalink
Post by Lawrence D'Oliveiro
To me, the big unanswered question is: why were Linux and GNU able
to gain a foothold, and not just that, but become so dominant, when
BSD was already offering a full OS stack? Was the timing of the
lawsuit that crucial, that it held them back just long enough to
allow Linux to get that initial momentum? (Far-fetched, I think.)
I think it was just in the right place at the right time. It was a new
thing, it was easy for anyone used to any other Unix, and everyone was
doing it. It was significant that it ran on very assorted x86-32 hardware
without any major hassle, because anyone likely to be interested in it
would have an old PC around that they could try it out on. GNU also had a
coherent ideology that quite a few people embraced, but didn't try to
force it on everyone.

My employers first shipped on Linux in summer 2000. Our then boss asked a
senior engineer in the spring to find out how hard it would be to port
the product to it. It's a mathematical modelling library, closed-source
commercial software.

We were supporting five commercial Unixes at the time (OSF/1 on Alpha,
HP-UX on PA-RISC, Solaris on Sparc, AIX on POWER and Irix on MIPS) so
another Unix platform wasn't a big deal. Alan did a couple of days of
reading documentation, concluded this didn't look hard and set off on
doing the port. He didn't find a significant problem and arrived at a
shippable build quite quickly.

We had a problem with test results being a bit inconsistent with other
platforms, until I did some tinkering and found that Linux left the x87
in its power-up state, doing 80-bit floats. The effects of rounding those
to 64-bit at random intervals when variables were stored to memory were
different from platforms that used 64-bit floats all the time. I set up
the x87 to use 64-bit, and the problems just _went away_.

There weren't many customers at first, but in 2003 a new customer
demanded x86-64 Linux, we did it, and that took off. It's now our second
most downloaded platform, although that's still a long way behind x86-64
Windows.

We currently support Linux on x86-64 and ARM64. We supported and dropped
x86-32, and have been asked for Linux on POWER and Itanium, both over a
decade ago. The POWER enquiry didn't have a commercial basis, and we
simply refused to do Itanium, having lost quite enough money on it by
then.

I am pretty sure we have never been asked for any BSD as such, and we've
had some fairly odd requests. We have supported several BSD derivatives
and relatives: Ultrix on MIPS, SunOS on 68000 and Sparc, OSF/1 on Alpha,
and Mac OS X on Power PC, Intel and ARM. A competitor supports FreeBSD,
but this doesn't seem to be a significant advantage for them.

John
Loading...