How to install nosh init system on FreeBSD?

You are describing a trend that has been going on for decades, and is both natural and necessary.

30 years ago, human beings administered computers. Each computer was administered individually, and things were typically customized. Part of the reasons was that computers were big, expensive, and shared for multiple users (where user doesn't necessarily mean a human who logs in, but more often a workload, such as billing / logistics / analytics / web serving). This was workload intensive, and error prone, but it was economically efficient, because computers were expensive, and humans relatively cheap. A typical calculation from the late 1990s was that for every $1 that is spent on hardware (computers, storage, networking), the lifetime cost of operating that hardware is about $10 (including software, power, cooling, security, floor space, ...), and the lifetime cost of administering that hardware into a useful system (including human admins and consulting services) was $100. And while having to pay for electricity or cooling is necessary but can be optimized), having to pay another factor of x10 for humans to administer them is inefficient. As an example, in the early 2000s the average number of system and database administrators for a typical-size SAP installation was 34. That's 34 humans to keep a small cluster of computers and storage running, measured industry-wide!

For clusters, beginning in the early 90s, there were ad-hoc systems built to be able to take configuration files and replicate them over many computers. But for a long time, these systems were mostly used in supercomputer clusters, not in commercial computing, where the model was still that every server has a specific purpose, and therefore is managed individually.

Clearly, this is not sustainable. In particular with the explosive growth of the number of computers. I have no idea how many servers there are in the world today, but if you look at the FAANG and the large cloud providers, they each have dozens or hundreds of millions of physical machines (way more VMs), and there is no way to edit shell scripts to configure them, or read human-readable logs.

So what has happened is that the concept of "system administrator" has gone away. Today, most systems are no longer administered; they are mass-produced, their configuration is stamped out on the software equivalent of assembly lines, and they are monitored by automated systems. The job title of "system administrator" has been replaced by "system reliability engineer"; those are a specialized type of software engineers, who create automated deployment and monitoring systems. The decision which computers to deploy where is also made by automated systems, typically combinatorial optimizers that look at the known workloads and requirements, and spit out (re-)deployment orders. I think today the traditional model of "system administration" only exists for amateurs and very small shops.

Having said that: I enjoy administering my little home server (it is literally the size of a shoe box), and the 3 or 4 other computers that are in use at home (some of those are Raspberry Pi). Tasks like looking at log files and editing /etc/rc.conf give me joy (channeling Marie Kondo here). But a project like FreeBSD or a commercial project like {RedHat,Suse,...}-Linux should probably not be organized around providing a toy for hobbyists who are mentally stuck in the 80s and 90s, if 99.9% of all computers are used in giant data centers using automated systems.
 
How about binary system logs.
That one always baffled me. Our log rotation method works wonderful.

Agreed. Needing a tool to parse a binary file just seems daft. In some ways I can't even see this being particularly "machine friendly" either. A specific API would be needed to process it compared to splitting a string line by line for example :/

(I have cleared up my post a bit to mention less flexible compared to shell scripts)

if 99.9% of all computers are used in giant data centers using automated systems.

Interestingly I no longer believe these big data centers govern the direction of operating systems. A relatively small number of highly skilled and passionate developers do. And these kinds of developers don't really like the additional indirection of large automation systems. It takes their fun out of computing. So really, the guys with their shoebox home servers are ultimately the guys that make the choices.

Only commercial companies seem to love these heavy orchestration systems. And the majority never last particularly long.

I also feel the reason why Microsoft (and Windows) has really stagnated compared to Linux since ~2003 is the introduction of DRM which has stripped the passion from the developers. For example they know that any of their efforts they spend on the platform can (and will) be taken away from them by Microsoft. This observation might just be me self-reflecting however haha!
 
Launchd is, in my mind, an awful system

I’m curious. Care to explain why it’s such an awful system? And do you have any empirical evidence to support such claims?

Launchd is particularly nasty as if it fails its error messages are about as useful as stating "? error ?".

Again, I’d like to see some citations supporting such claims; other than anecdotal speculation.

A plus for launchd is that it’s been vetted, tested, and used in millions of devices in many different real world scenarios. I’d wager the work involved in adopting such a proven system is far less involved and time consuming than re-creating a similar environment, or adopting a newer re-implementation of said subsystem. Mind you, launchd was released in 2005 and heavily relies on Mach IPC; which from what I’ve read provides far more benefits than sysv IPC and UNIX domain sockets. I openly welcome those additions.
 
I’m curious. Care to explain why it’s such an awful system? And do you have any empirical evidence to support such claims?

Empirical evidence? Seriously? You want me to produce a study of its horridness?

We have to use that gunk in my work environment and it's just rubbish. It's obtuse, anachronistic and truly bloated for what it's supposed to achieve. But, if you like it, feel free to port it to FreeBSD. Maybe second time around someone will give it some love.

You'd get a better system with SMF, at least svcbundle is useful. What's Apple got again?


Again, I’d like to see some citations supporting such claims; other than anecdotal speculation.

LOL.
 
Today, most systems are no longer administered; they are mass-produced, their configuration is stamped out on the software equivalent of assembly lines, and they are monitored by automated systems.

And that's fine.

However, when things go wrong, human "resources" have to solve the issue. This is why I find it quite stupid to create tools that make the job of humans more difficult in an already difficult situation, whereas automation software can work equally well with user-friendly tools. But it is not surprising: in all areas (not just IT), structuring decisions are always made by people who will not have to deal with their consequences.
 
However, when things go wrong, human "resources" have to solve the issue. This is why I find it quite stupid to create tools that make the job of humans more difficult in an already difficult situation, whereas automation software can work equally well with user-friendly tools. But it is not surprising: in all areas (not just IT), structuring decisions are always made by people who will not have to deal with their consequences.
Let's see an OS as a basic tool to do IT. These "structuring decisions" were made by Linux owners (IBM/RedHat, Oracle etc.pp.) to sell their manpower... Once your customers have deployed your tool/solution widely, they are forced to follow any change under the hood, because they can not switch the tool so easily. It's not uncommon that a company has even lost control about their own data and rely on external consultants to access it... Naturally, all big & small IT consulting companies support such change & praise it to their customers to "ease IT management & save resources". Haha...
 
many different real world scenarios.
Launchd is an Apple thing right? So it surely has only been tested on the consumer desktop by a bunch of non-professionals or students putting music on their ipods.

Apple pulled out of the server world years ago. Presumably their technology wasn't up to scratch.

My experience with it is purely based on cracking Adobe Photoshop for my partner. It was almost a completely obfuscated black box. Presumably so it makes it easier for Apples partners to hide DRM in there. There is no denying that patching a shell script to remove a license check would have been a lot easier than faffing about with Radare2 and patching a binary.
 
Well, FreeBSD's init.c has ~2k LOC... Would you call that fat, too? Some issues were discussed above (previous pages). What's wrong with exploring & evaluating runit?
The «fat» argue is the ironic part of my post (I hope it was obvious ...)
Nothing wrong with exploring/evaluating runit, sunit or systemd... My previous post is not clear about this point ?
 
Naturally, all big & small IT consulting companies support such change & praise it to their customers to "ease IT management & save resources".

Managers on both sides are happy with this situation and it would be absolutely perfect if at some point, they didn't require those dirty techies at the very bottom of the hierarchy to deliver working applications, or keep them working... :/
 
I’m curious. Care to explain why it’s such an awful system? And do you have any empirical evidence to support such claims?


Again, I’d like to see some citations supporting such claims; other than anecdotal speculation.
Its configuration is done via XML files. That alone makes it awful. And that's not speculation. That's my lived experience managing a fleet of nearly 15,000 Macs. launchd is awful. Give me systemd any day over launchd. systemd's configuration files are at least logically organized and make sense.
 
Its configuration is done via XML files. That alone makes it awful. And that's not speculation. That's my lived experience managing a fleet of nearly 15,000 Macs. launchd is awful. Give me systemd any day over launchd. systemd's configuration files are at least logically organized and make sense.
Apple has a plist editor; it's a wonderful tool to help you. Trouble is it's in Xcode - another bloated piece of 💩</sarcasm>
or
you could use defaults and spend days understanding the guff it produces.
😏
 
Hate to burst your bubble, but Linux is UNIX-like, just like Minix.

Perhaps true a few years back. Certainly not any more.

I think Linux is even heading away from POSIX. For example the have already replaced vi with nano as the default editor. I think that is a requirement for POSIX for vi to be $(EDITOR).

I don't mean this as a bad thing either. I think it is time for Linux to stand on its own two feet and see if it's ideas are good enough in its own right rather than begrudging the fact that it is just a clone of an "ancient" OS.

And because their ancestor isn't a PDP-7, doesn't make them not UNIX-like.

As for UNIX-based operating systems. I think it will be liberating for them to no longer have to see Linux trying to pull them in strange directions.
 
Back
Top