• Please review our updated Terms and Rules here

Utility Linux Distribution

Rest assured, BSDs are far more Unix than UNIX(TM) EulerOS although it's not far being a Linux. Linux that has systemd, wayland and every second thing that goes breaking the old Unix philosophy. The "Linux people" pushing for these developments do not want ties to Unix, they see that as needless backward compatibility. Systemd leader has been vocal about this.
You could argue the same about System III, which replaced the `/etc/rc` framework with runlevels. This leads you to a place where you end up with actual UNIX™ from AT&T not being "Unix," but the derived BSD systems not from AT&T are "Unix."

Possibly an even stronger argument is that systems using the Gnu userland are not "Unix," since the Gnu tools unquestionably go against the Unix philosophy of being small and simple. (cat filename --squeeze-blank is "non-Unix" in at least three different ways.)
 
Citation needed.


You could argue the same about System III, which replaced the `/etc/rc` framework with runlevels. This leads you to a place where you end up with actual UNIX™ from AT&T not being "Unix," but the derived BSD systems not from AT&T are "Unix."

Possibly an even stronger argument is that systems using the Gnu userland are not "Unix," since the Gnu tools unquestionably go against the Unix philosophy of being small and simple. (cat filename --squeeze-blank is "non-Unix" in at least three different ways.)

The thing is both sysinit and rc conform to main points of Unix dogma. Systemd to none.
rc/sysinit are service managers, systemd is much more - point 1 broken. libsystemd, point 2 broken, journalctl disk format, point 3 broken.

The GNU was my argument too, they said it in the name and went on designing their system to explicitly break Unix philosophy, like adding features to a single filter program through command line arguments, instead of using multiple filters via shell as prescribed in point 2 - "Write programs to work together".

Looks good.

Eh. Looks are aesthetics.
Btw, if Open Group could trademark "Unix" too, they would've done it. It's not like it's intentionally there to describe something that practically conforms but wasn't certified.

Then only legal option would be to call FreeBSD "unix-like" and EulerOS or WindowsNT+SFU as UNIX or Unix. Which is totally perverse.
 
The thing is both sysinit and rc conform to main points of Unix dogma. Systemd to none.
Well, we'll have to agree to disagree on init conforming to Unix style. But my opinion is derived from not only experience using both for well over three decades now, but also as the designer and author of much of the NetBSD /etc/rc.d system. As well, I was around during the "rc vs. init wars," and a lot of people had similar feelings about init as many later had about systemd.

As for systemd, I'm a big fan (and that includes journald). I think that a lot of the people arguing against it just haven't really had to deal with the problems that it solves, such as the nightmares of trying to deal with service management via a complex set of interdependent shell scripts that all share a global variable space or parsing and managing ASCII log files (especially when you're moving them over networks—go run a site with even just a few dozen servers to be managed and see where you get with crap like logrotate.)

One of the big ironies of the whole systemd brouhaha was that a very similar thing happened with the replacement of netconf with NetworkManager (with about the same relationship between them as /etc/rc and systemd), and almost nobody complained about that. Perhaps the reason was that even individual users often have the problems with netconf thrust right in their faces, and so they better understand the problems that the "Unix philosophy" can bring. (To be clear, I'm not saying I'm not a fan of the Unix philosophy, I'm just saying that there are situations where it causes more pain than its simplicity helps.)

Btw, if Open Group could trademark "Unix" too, they would've done it. It's not like it's intentionally there to describe something that practically conforms but wasn't certified.
There's no need. "UNIX" is the correct rendering of their trademarked term, but under the usual laws and conventions of trademark usage, someone using "Unix" for almost anything computer-related is clearly infringing on the "UNIX" trademark.

Then only legal option would be to call FreeBSD "unix-like" and EulerOS or WindowsNT+SFU as UNIX or Unix. Which is totally perverse.
You may feel it's perverse, but that's actually an excellent description of the situation when using "UNIX" or "Unix" in a manner that invites a trademark lawsuit.
 
Microsoft has certified a certain NT kernel with Services For Unix userland with The Open Group
Thank you for that wikipedia link, but I am well versed in the POSIX runtime of the old Windows NT. I am asking for citation as to confirm your assertion that Microsoft had that NT POSIX runtime certified as UNIX by The Open Group. That is totally news to me, so please provide proof, otherwise it smells like a totally fake assertion.
 
Well, we'll have to agree to disagree on init conforming to Unix style. But my opinion is derived from not only experience using both for well over three decades now, but also as the designer and author of much of the NetBSD /etc/rc.d system. As well, I was around during the "rc vs. init wars," and a lot of people had similar feelings about init as many later had about systemd.

That's very cool to hear.
What parts of the sysinit workflow and design do you see as Unix-incompatible?

As for systemd, I'm a big fan (and that includes journald). I think that a lot of the people arguing against it just haven't really had to deal with the problems that it solves, such as the nightmares of trying to deal with service management via a complex set of interdependent shell scripts that all share a global variable space or parsing and managing ASCII log files (especially when you're moving them over networks—go run a site with even just a few dozen servers to be managed and see where you get with crap like logrotate.)

One of the big ironies of the whole systemd brouhaha was that a very similar thing happened with the replacement of netconf with NetworkManager (with about the same relationship between them as /etc/rc and systemd), and almost nobody complained about that. Perhaps the reason was that even individual users often have the problems with netconf thrust right in their faces, and so they better understand the problems that the "Unix philosophy" can bring. (To be clear, I'm not saying I'm not a fan of the Unix philosophy, I'm just saying that there are situations where it causes more pain than its simplicity helps.)

I don't disagree with systemd but I heavily disagreed with politics around it. I also wonder what's your opinion about them not taking into account BSD world at all.
netconf and NetworkManager are not essential system packages tho, networking works without them.

There's no need. "UNIX" is the correct rendering of their trademarked term, but under the usual laws and conventions of trademark usage, someone using "Unix" for almost anything computer-related is clearly infringing on the "UNIX" trademark.

You may feel it's perverse, but that's actually an excellent description of the situation when using "UNIX" or "Unix" in a manner that invites a trademark lawsuit.

Do keep in mind the thread here. OP asked for a Linux distro, I came in with FreeBSD idea but said it's not a Linux, then someone else followed up saying BSD is Unix. It went from there.

I did write in my previous threads that I separate the legal Open Group stuff with the spirit. There's a link for POSIX-certified Windows. If we aren't talking legal terms, what's more of an Unix, NetBSD or that system?
 
Thank you for that wikipedia link, but I am well versed in the POSIX runtime of the old Windows NT. I am asking for citation as to confirm your assertion that Microsoft had that NT POSIX runtime certified as UNIX by The Open Group. That is totally news to me, so please provide proof, otherwise it smells like a totally fake assertion.

oh my bad, missed the timeline a bit. Sorry :) Open Group did not form for a couple of years, trademark was under control of USL. Microsoft has certified IEEE-STD-1003.1 which is POSIX 88.

So it remains under a question whether USL certified it or someone else did, and whether potential USL certification (did they do any, or just specs) grants the right to use UNIX trademark. Technically if everything happened just a few years after MS would have to go through Open Group and they would carry the trademark then. But as it didn't, I stand corrected on this one.

Still a version of NT achieves full POSIX compliance while being the farthest thing from Unix, lineage and philosophy wise, of all major OSes on the market then.
 
So it remains under a question whether USL certified it or someone else did.....
From my quick look at the list of USL systems certified as Unix, NT ain't there.

Still a version of NT achieves full POSIX compliance while being the farthest thing from Unix, lineage and philosophy wise, of all major OSes on the market then.
Yeah, I dunno that I"m buying that as a real thing. POSIX filesystem semantics are so different from Windows NT filesystem semantics that I don't see how a system can support both except to say, "we have these semantics for one mount, and those semantics for a different one." In which case, what's the point? Do you refuse access to files on a mounted NTFS to any program that runs in POSIX mode, and vice versa?
 
From my quick look at the list of USL systems certified as Unix, NT ain't there.
That link does not document what USL may have certified or vetted as UNIX prior to the constitution of The Open Group. That link is the "Registry" which The Open Group maintains for certified UNIX which *also* are current with their payment to be listed on such "Registry". Notice the absence of Sun/Oracle Solaris from that list... Oracle has lapsed in its payment to The Open Group. Solaris is still a certified UNIX by The Open Group, but has temporarily been de-listed from the UNIX Registry which The Open Group maintains (same case as EULER Linux, by the way).
 
From my quick look at the list of USL systems certified as Unix, NT ain't there.

Are those USL or Open Group certifications?
The list misses Solaris and IRIX among others. I think that's the current list, only by Open Group (96-)

Yeah, I dunno that I"m buying that as a real thing. POSIX filesystem semantics are so different from Windows NT filesystem semantics that I don't see how a system can support both except to say, "we have these semantics for one mount, and those semantics for a different one." In which case, what's the point? Do you refuse access to files on a mounted NTFS to any program that runs in POSIX mode, and vice versa?

Exactly my point. POSIX does not specify the internals of the system. That's why I'm against on putting "Unix" tag to everything certified for POSIX by whomever, just like that.
 
Just for conclusion, if we made a Microsoft Bob style operating system, and there's a shell for a VM somewhere in there running POSIX compliant userland, we pay money and the product is now a Bob UNIX(TM)
 
What parts of the sysinit workflow and design do you see as Unix-incompatible?
I'm thinking that question really needs a separate thread; that straying even quite a bit further than this one already has. But if there's a place here appropriate for such a discussion, post about it and send me a PM and I'll reply.

But as a very rough summary, one of the biggest issues was the idea of runlevels as a linear series. Even as a small series (only 6 levels), it was still wrong enough that nobody ended up using more than two or three other than the existing single-user/multi-user levels. (Typically, single-user, terminals, network, and X11.) What you really need for that in any even moderately complex system is a directed graph, and thus rcorder and systemd. (Yes, NetBSD—and soon after FreeBSD—were doing the same graph thing that systemd eventually did, and for the same reasons.)

I don't disagree with systemd but I heavily disagreed with politics around it.
I"m not sure what that means. I guess perhaps I was always just looking at it from a technical perspective?

I also wonder what's your opinion about them not taking into account BSD world at all.
No problem. BSD is a separate thing in many ways and, while systemd is great, rc.conf can do a reasonably good job, too. But probably more importantly, systemd (I think probably properly) takes advantage of Linux-specific stuff in the kernel. So complaining about it not working on BSD is like complaining about Docker not working on BSD: it's unfortunate, but it would require some serious shaving of functionality to make it portable to other Unices. (Actually, as I'm reminded by the real topic of this thread, it's like complaining about the lack of POSIX filesystem semantics on Windows.)

netconf and NetworkManager are not essential system packages tho, networking works without them.
Ha! Go completely remove NetworkManager from your laptop and report back on your experience! I guarantee you will not be happy. (And if you drop netconf as well, let us know how fun you find it to have no networking at all without manually running ipconfig or ip.

Do keep in mind the thread here. OP asked for a Linux distro, I came in with FreeBSD idea but said it's not a Linux, then someone else followed up saying BSD is Unix. It went from there.
Oh, right! This thread had a different topic originally! :)

And, well, your corespondent is right that FreeBSD is not a Linux, and arguably the OP was wrong not to ask for a Unix rather than a Linux without specifying why he needed Linux in particular (if indeed he does).

I did write in my previous threads that I separate the legal Open Group stuff with the spirit. There's a link for POSIX-certified Windows. If we aren't talking legal terms, what's more of an Unix, NetBSD or that system?
Oh, clearly NetBSD. I think we're in agreement that it's easiest to use "Unix" for the thing that, well, we know what it is. And "UNIX™" when we're talking about the trademark. But obviously such usage conventions can be confusing.
 
Are those USL or Open Group certifications?
The list misses Solaris and IRIX among others. I think that's the current list, only by Open Group (96-)
Open Group, of course, since USL is long gone. And, well, those are the systems currently certified to be called "UNIX." I don't know much more than that about it. I agree that it has a tenuous relationship to what any Unix user or sysadmin thinks of as "Unix."

Exactly my point. POSIX does not specify the internals of the system. That's why I'm against on putting "Unix" tag to everything certified for POSIX by whomever, just like that.
But POSIX does specify the filesystem semantics, does it not? (Which are sort of internals.) Semantics that are simply not compatible with systems like Windows NT or others that cannot separate inodes and filenames.
 
But POSIX does specify the filesystem semantics, does it not? (Which are sort of internals.) Semantics that are simply not compatible with systems like Windows NT or others that cannot separate inodes and filenames.

The standard has no mention of inode. Kernel internals are not in the scope. Symlinks are reffered in it (1003.1) as being considered as extensions for 1003.4

For the rest of userspace exposed FS stuff, I thought to myself immediately that it's possible to map Unix permissions and ownership in NTFS extended attributes for the file. Did a quick google to see whether that thing existed in first NTFS versions...it did, and it was used for that exact purpose :)

Ha! Go completely remove NetworkManager from your laptop and report back on your experience! I guarantee you will not be happy. (And if you drop netconf as well, let us know how fun you find it to have no networking at all without manually running ipconfig or ip.

Hah I'll always prefer hitting a cli command or two than have a daemon hang around for the same purpose - but I use fixed networking, not wireless and certainly not roaming stuff.
 
The standard has no mention of inode. Kernel internals are not in the scope.
Can you give me a link to the standard you're looking at? I was pretty sure that POSIX specified semantics such as, "you can open a new file, unlink() it, and continue to use that file handle (making changes to the file all that time), then linkat() that file descriptor to a new name and the "new file" will appear with all your contents." (You can read that as, "inode is separate from filename") I am still reasonably sure that Windows will not let you do anything like that.

Hah I'll always prefer hitting a cli command or two than have a daemon hang around for the same purpose - but I use fixed networking, not wireless and certainly not roaming stuff.
Well, fair enough, I suppose, but you must admit that the vast majority of users need to change their IP address on a regular basis, and do like this to happen automatically.

But I'm curious: what Linux distro do you run, how did you remove NetworkManager from your system, and how do you now configure your IP addresses? (I am assuming you're not like all those people complaining about systemd who like to moan but go ahead and use it anyway because the prefer the convenience of using something they allegedly hate to the pain of not using it.)
 

No mentions of that sort of stuff that I can find.

About networking, I have dead simple use cases which is LAN DHCP for internet connectivity, as the rest of the routing and DNS stuff is performed by VPN scripts. Therefore I stop NM and just issue dhclient as a first of series of commands I need to perform to fully "log in network" anyhow. CentOS7.

I don't have anything against networkmanager but I believe it's needless to have a full service running that's just supervising a dhclient process. On another work machine, current Rocky Linux, NM is running because I'm moving between fixed and multiple wireless access points.

Home on main PC it's FreeBSD and there it's just plain old rc.conf ifconfig line to attach a dhclient to the interface - automation of oneliner I perform manually on Linux :)
 
All my systems have manually-assigned IP addresses and DNS servers. None of this "automagic" stuff for yours truly. For example, the system I'm typing on is 10.0.0.10 and DNS is 8.8.8.8 and 8.8.4.4 and it's "snake.local". Yes, I know--Google DNS is evil, but they can do what they want with my DNS lookups. I'm basically a boring person.
 
It's right there in 5.5.1.2, the description of the unlink() call:
When the file’s link count becomes zero and no process has the file open, the space occupied by the file shall be freed and the file shall no longer be accessible.If one or more processes have the file open when the last link is removed, the link shall be removed before unlink() returns, but the removal of the file contents shall be postponed until all references to the file have been closed.
The major structure you use to implement that functionality and hard links need not be called an "inode," of course, but whatever you call it it's going to be effectively the same thing: file information separate from the file name so you can support files that have zero, one, two or more names.

On another work machine, current Rocky Linux, NM is running because I'm moving between fixed and multiple wireless access points.
Well, that makes my point. Even you use NetworkManager. :)
 
Don't ask me--I'm still using ftp and rsync. It's important to me that a backup copy exists somewhere; multiple copies preferred. Reason is that most files for me reflect physical media which may or may not still be in my custody. To this extent, I keep a spare system rsync-ed to my regular one and another with the previous week's files.
 
Back
Top