全 32 件のコメント

[–]notaplumber 22ポイント23ポイント  (8子コメント)

Not it isn't. A particular vendor's modified system was certified, which required extensive changes to make it comply with SUS specifications for both POSIX library functions and userland utilities.

The GNU userland is not entirely POSIX compliant as-is, but as is the case for most developers of Unix-like systems, the developers attempt to be compatible with standards (Single Unix Specification v4, or SUSv4), even participating in the standardization process (Austin Group).

Apple/Mac has a BSD userland inherited from both NeXTSTEP and FreeBSD, you can download the source to many of the utilities here and compare them with say FreeBSD, scattered through the files you can see the considerable effort that was put in to achieving UNIX certification (..i.e: compatible command-line flags), and BSD is a direct descendant of Unix and even influenced a lot of the POSIX specifications.

There is a rigorous testing process involved in certification. The fact that a single Linux system has been certified does not indicate how easily it would be to certify.

[–]jp599 1ポイント2ポイント  (0子コメント)

A particular vendor's modified system was certified, which required extensive changes to make it comply with SUS specifications for both POSIX library functions and userland utilities.

Citation needed. Exactly what modifications were made? Do you know, or are you just assuming out of ignorance?

[–]Im_100percent_human 5ポイント6ポイント  (0子コメント)

Also, IBM z/OS is Unix 95 certified, and its source base doesn't have ATT origin. It is probably much further from traditional Unix than Linux.

[–]notaplumber 5ポイント6ポイント  (7子コメント)

I would argue that RHEL is closer in use case and in spirit to the Unix of the past than something like OSX.

As the creators of systemd, I'd argue they are the opposite of the Unix spirit.

[–]meat_unit_43[S] -3ポイント-2ポイント  (6子コメント)

Perhaps, but aren't OSX and Solaris are just as guilty with launchd and SMF then?

[–]notaplumber 6ポイント7ポイント  (0子コメント)

Those systems haven't been nearly as intrusive to the software ecosystem, they simply redesigned their init and startups systems without breaking the world.

[–]northrupthebandgeek 5ポイント6ポイント  (4子コメント)

No, not at all. launchd and SMF are init systems. systemd is an init system plus a bunch of other things.

[–]CjKing2k 0ポイント1ポイント  (3子コメント)

Yes and those other things are journald, logind, networkd, and dbus-daemon, not systemd (pid 1).

[–]northrupthebandgeek 0ポイント1ポイント  (2子コメント)

Those things are still part of the whole systemd ensemble (or at least the first three are; DBus is still separate, IIRC). Trying to claim otherwise is like trying to claim that postgres and psql are separate from the whole of PostgreSQL by virtue of living in separate binaries with separate PIDs.

[–]CjKing2k -2ポイント-1ポイント  (1子コメント)

OK then your complaint should be that systemd is a suite of tools that extend beyond the function of an init system, not that network management and syslog are handled by the init system.

[–]northrupthebandgeek 3ポイント4ポイント  (0子コメント)

Except that the init system built around these tools and vice versa. The full "complaint" (it's not really a complaint; just an observation) is that the whole systemd ensemble is significantly more than just an init system, and goes quite a bit beyond what launchd and SMF do. Thus, they're not comparable.

[–]bit_of_hope 1ポイント2ポイント  (0子コメント)

This is really only a game of dictionary thumping.

  • If Unix is defined as "Passes SUS", 4.3BSD and AT&T V7 are not Unix.
  • If Unix is defined slong the lines of "AT&T V1-7, System III, System V, and descendants", IBM zOS doesn't pass, nor does K-UX. Or basically anything passes given how much BSD code there is in… a lot of things. Win2k is Unix now?

Typical GNU/Linux systems (and non-GNU Unixy Linuxen) are in practice very similar to their cousins. For a Solaris and FreeBSD admin RHEL would likely be less of a change than AIX.

Even with POSIXLY_CORRECT set, GNU isn't quite SUS-compliant. however, nearly everything that's portable between the certified Unixen still works on Linux, too. The standard tools to do thing X in the Unix world are usually the standard tools to do thing X on [GNU/]Linux as well. I can't think of a single technical feature to discuss in the context of Unix systems that would apply to Solaris, AIX, HP-UX, K-UX, and K-UX (certified) as well as FreeBSD, NetBSD, OpenBSD, Illumos distributions, etc. (descendant), but not GNU/Linux, Busybox/Linux, Minix, etc. (Unix-like but not literally Unix).

Long story short: Linux is a close enough implementation of Unix for government work. Whatever applies to Real Unix (certified or genetic) usually applies to Linux as well, and when it doesn't it's very specific details. As far as this subreddit is concerned, I'd welcome Linux things in the discussion as well, unless we want to devote to circlejerking over how df should report usage in 512-byte blocks or something. Best of luck to anyone who feels super passionate about The Open Group's trademark.

[–]dim13 3ポイント4ポイント  (4子コメント)

Actually, Linux is GNU/Linux. And GNU is Not Unix.

According to if A ∈ B and B ∈ C, then A ∈ C, Linux is not Unix.

q.e.d.

[–]meat_unit_43[S] 1ポイント2ポイント  (1子コメント)

And OSX is XNU. XNU is not Unix, and yet...

[–]northrupthebandgeek -1ポイント0ポイント  (0子コメント)

Of course XNU is not Unix, because Unix is more than just a kernel (unlike XNU, which is just a kernel, like Linux).

XNU plus BSD userland utilities (plus whatever baggage Apple has added on top of that) makes Darwin, which is Unix (in the sense of being compatible with the Unix specifications at least well enough for it to be repackaged as OS X and certified to be UNIX™).

[–]jtsiomb 1ポイント2ポイント  (0子コメント)

Do not confuse clever wordplay in project names, with definition.

Also Linux is definitely not GNU/Linux. GNU/Linux is a UNIX system based on the Linux kernel. Linux is a kernel for a UNIX system.

[–]northrupthebandgeek 0ポイント1ポイント  (0子コメント)

But Linux is not GNU/Linux, because Linux is just the kernel. Linux is not Unix because Unix is not just a kernel, but rather a complete operating system.

Linux with a BSD userland (for example) might be Unix, though.

[–]jp599 1ポイント2ポイント  (0子コメント)

The Single Unix Specification is not so relevant anymore. Even older versions of Bell Labs Unix and AT&T Unix do not pass SUS. All the old PDP-11 and VAX versions of Bell Labs Research Unix and BSD do not pass the SUS either.

It's just a moving industry standard based on what was coming out from big companies like HP and Sun some 10~25 years ago. Those same companies almost ruined Unix and tanked the entire OS. Before Linux came around, Unix was dying and being slaughtered in the Market by Windows. Then Linux started killing off both Unix and Windows in the server room.

A lot of the software developed by Sun, IBM, HP, IRIX, etc., was completely against the Unix philosophy. They didn't understand it, or at least they didn't follow it. Most of the software was big and monolithic, and if anything it was copying the trends in the market established by Microsoft.

The Unix philosophy continued at Bell Labs and became Plan 9. The pop culture of commercial Unix merged with MIT hacker culture and MS Windows PC culture and became Linux. None of them are the same as the old Unix from Bell Labs, like Unix v6 and Unix v7, which were tiny, stark, unfriendly, and unpolished by today's standards.

Those parts of Unix that are still relevant are POSIX, standard utilities, and the Unix philosophy (even though only Bell Labs CSRG ever followed the Unix philosophy properly).

[–]jtsiomb 1ポイント2ポイント  (3子コメント)

This is a non-argument, and the prevailing ideology in this subreddit is completely retarded. GNU/Linux is as much a UNIX system as FreeBSD, Solaris, IRIX, etc.

People who argue otherwise are simply ignorant, or are trying to convince themselves that they somehow belong to a nameless UNIX elite, and the GNU/Linux people are plebs.

I have used many variants of UNIX over the years. I have used and am using daily GNU/Linux on x86 PCs. I have used many versions of IRIX on different SGI workstations. I have used SunOS/Solaris on an old sparcstation. I have used FreeBSD, I have used MacOSX, and I have written, from scratch a minimal but incomplete UNIX-like kernel for educational purposes. And from all my experiences I can tell you without a doubt: GNU/Linux is a UNIX system.

[–]traxislyte 6ポイント7ポイント  (2子コメント)

It has nothing to do with "nameless UNIX elite".

UNIX certification requires there to be people in charge of maintaining compliance and fixing issues when they're broken. It requires payment to maintain the certs and testing. Generally, there's going to be a set of documentation and a fixed feature set. It needs to be mature and maintained.

Linux is too chaotic to be UNIX. Documentation? Pfft, who needs that. Features? As many as possible. We gotta pay something? Forget it.

[–]meat_unit_43[S] 1ポイント2ポイント  (0子コメント)

Not who you were responding to, but...

Linux is too chaotic to be UNIX. Documentation? Pfft, who needs that. Features? As many as possible. We gotta pay something? Forget it.

But that's the whole point; there already is a Unix certified Linux distro. If there was desire to do this with other (commercially supported) distros, it is possible as evidenced by this fact.

[–]jtsiomb 1ポイント2ポイント  (0子コメント)

This is a slim excuse. It's not a certification which makes a UNIX system "UNIX". It's the design of the system, the technical details of how it operates. UNIX existed before such certifications, and continues to exist irrespective of them.

[–]northrupthebandgeek 0ポイント1ポイント  (3子コメント)

And if you think about it, why is OSX anymore "real" Unix than something like RHEL anyway? It's not like it contains any original ATT code or anything.

It's based on BSD (and Mach and Mac OS), and BSD is probably the closest thing to "real" UNIX™ without being a direct System V descendant, trademark certification aside.

[–]jtsiomb 1ポイント2ポイント  (2子コメント)

There is very little BSD in XNU (the kernel used in Darwin), and it's mostly just the system call interface. Darwin itself does contain some userland parts of the FreeBSD system, but by and large that's a pretty small part of the whole MacOSX distribution.

You are also mistaken if you think OSX is based on MacOS (the original mac operating system) in the slightest.

[–]northrupthebandgeek 0ポイント1ポイント  (1子コメント)

There is very little BSD in XNU (the kernel used in Darwin), and it's mostly just the system call interface.

It's actually a bunch of things, from Darwin's POSIX API implementation to much of the process and security model. Pretty much everything that makes XNU "Unixy" was ripped from 4.3BSD (and eventually FreeBSD).

Darwin itself does contain some userland parts of the FreeBSD system, but by and large that's a pretty small part of the whole MacOSX distribution.

Indeed, but it's the part that makes OS X a bona-fide Unix in spirit and (thanks to Apple's certification efforts) in name. Solaris with GNOME (sorry: "Java Desktop") and a bunch of other crap is still Unix. PC-BSD and GhostBSD (both FreeBSD plus a desktop environment and a bunch of other baggage) are both still Unix.

Whether XNU is "BSD with some stuff from Mach and Apple's newfangled driver API" or "Mach with some stuff from BSD and Apple's newfangled driver API" is a point of contention, granted, but the point still stands: adding things to a Unix does not inherently make it not Unix.

You are also mistaken if you think OSX is based on MacOS (the original mac operating system) in the slightest.

Pardon? Carbon still exists (albeit in a deprecated state), last I checked. While it's not like any of us can see the source code for it, it's highly unlikely that Apple wrote that entirely from scratch without incorporating any Mac OS code whatsoever.

Also, it's pretty apparent that OS X still inherits quite a few design principles from Mac OS, at least visually. While that's different from "we're reusing Mac OS code", it's still basing OS X on Mac OS design elements.

[–]jtsiomb 0ポイント1ポイント  (0子コメント)

I never claimed that MacOSX is not UNIX. It is very much so. I just don't think that it carries any significant part of BSD, that's the only thing I meant by my comment.

The architectural chasm between MacOS classic and Darwin is so large, that I really doubt there could be any code reused for the implementation of Carbon. Remember, one is a full UNIX system with basically the NeXTStep window system, the other was a primitive system without even the basics of memory protection and preemptive scheduling.