[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /tech/ - 35218

File: 1488719953321.png (734.63 KB, 265x300, No Bloatware Pls.png)


I've been going at it with Linux for a good while now but I've mostly stuck to the it just werks stuff (Mint, Ubuntu, Antergos).

Now I'm getting another secondhand laptop I was thinking of trying some new stuff & one of the things I wanted to try out was an OS without systemD.
I still don't like spending ages setting up & figuring stuff out to get going. I want to do it but like to do so at my leisure (not because I need it for a decent system) & get to know a bit of everything service manager or init scripts included.

So what's the most "user friendly" distro out there that hasn't given in to SystemD yet?


I think OpenBSD is what you are looking for


Whilst BSD is very interesting it's not what I asked for. I am not familiar with it & still looking for a reasonable amount of support as per the "userfriendly" bit of my post.


It's tricky then. Most "usable" distros now have systemd. Slackware does not, if I recall correctly, and you can make gentoo or arch use anything, but these are rather specific systems. just like openbsd, they aren't exactly user friendly.


Just use something that has systemd. You don't look like the kind of person that might be inconvenienced by it.


Devuan maybe? It is supposed to be Debian without systemd. I have no idea how user friendly it is but others seem to like it. Do you have the resources for virtual machines, OP? That's normally where I do most of my experimenting as its easy to delete machines and take snapshots as I go along incase I make a mistake.

You would be surprised how easy BSD is to use. I got a copy of FreeBSD and the manual they provide is very thorough and easy to follow. Compared to say, arch, its very user friendly. The manual and forums have provided almost everything I needed. But I understand if you're looking linux.


I'm pretty happy with Void myself, xbps and runit are really great. The repos might be a bit smaller, but have most stuff one would need and creating custom packages is really easy (think Arch's PKGBUILDs but even better).


Honest question: What is it with the hate for systemd? I've been using Arch since before Debian and Ubuntu had systemd. Whenever I ran Ubuntu or Debian I soon found myself switching back to Arch, because I really found systemd, especially the systemctl command, convenient. Then again, this might have mostly been because I was used to systemd.

What are the up- and downsides of systemd compared to other init systems? Personal opinions count, too.


From the wiki page:
"The increasing adoption of systemd has been controversial, with critics arguing the software has violated the Unix philosophy by becoming increasingly complex, being based more heavily on a programming language that fewer people understand,[8] and that distributions have been forced to adopt it due to the dependency of various other software upon it, including, most notably GNOME 3, a desktop environment."
"It's boat! It's a big cluster of everything you could ever need and that's not what unix is."
And also (please correct me if I'm wrong, I might have gotten this one wrong) I believe it controls some system processes itself, basically making it so that the end user doesn't have as much control over some things the system does, which also violates the "DOI tweak literally everything" nature of linux systems.

In general, If you want a system that Just Works and are comfortable with it because you just want a comfy setup, I don't think systemd matters as very much. As you said, it's simply convenient.

If you're one of those people who wants to dualboot arch and gentoo with absolute minimal boat, follow the unix philosophy and be in absolute total control of your system, then you should probably avoid systemd. And just by nature of runing arch/gentoo, you probably already are.

That's my understanding of it, anyway.


I hate systemd myself (I run Gentoo) and love the Unix Philosophy too but lets be honest here, the Unix Philosophy died a long time ago, almost no software today actually follows it.


Systemd is pretty nice when it works and there are certainly a lot of things it does well that i find convenient.


1. A lot of the "benefits" systemd has are not systemd-specific — most other modern init systems do have them as well (parallel startup, easy service creation…) (see OpenRC, runit…).
Systemd devs and zealots mostly only ever compare it to the old sysvinit scripts which are awful and SHOULD be replaced by something more modern.

2. Systemd is huge — and it's only getting bigger.
Systemd now includes a lot of other things which it doesn't need to, like udev, which are crucial to modern Linux distros and thus creates a dependency and restricts user's choice. While systemd's proponents claim it's modular, it is modular in the sense that it's not one huge binary, but it's still a lot of tightly-coupled components which are often not easily replacable by a non-systemd implementation. Coupled with the fact there is no stable API (as the API used between components is only internal, not documented properly and ever changing) it is next to impossible to make a replacement for the "independent" systemd modules.

3. Systemd devs are known to be egoistic assholes.
I'm trying to be as unbiased as possible in this answer, having used systemd myself for years and liking a lot of its features. But they've clashed with Linus, expecting him to change the kernel because they used a feature for something it wasn't intended and wanted to keep doing that, instead of fixing their code. There are multiple instances of them giving a "not a bug, but a feature" response to various critical bugs, like your (binary) journal getting corrupted and completly unreadable under certain circumstances. "Yes we know, but that's just how things are." That's not what you want from people developing such crucial part of your os as is the init (and various other pieces systemd's devoured in the meantime).

AFAIK systemd still soykafs itself trying to shutdown with a network mount because it brings down the network before trying to unmount it, leading to a 90s delay.
Should give you an idea that not everything is as rosy as they claim.

Personally, runit gives me all the convenience of systemd with none of the problems and I'm very satisfied so far. But it has only been 2 months so that might change in the future.


Pretty much, it's taking up everything it can. I'm not a fan of that.
There's also the single point of failure problem & many other problems I could list that unix philosophy mostly addresses. Other than that the devs are dicks.
Studying it is a pain too. It's a monolith & the documentation is for the most part garbage.

True, doesn't hurt working towards it tho.

Most of it's been outlined but I also feel like most of what it supposedly achieved either wasn't really & others already did or could have been done trough cooperation & trough having some of the bigger players fabricate standards but as it stands there's too many spergs around that can't compromise on anything.


void is nice, but it is doesn't have the support some bigger distros do, so it's missing some software (although i never ran into any problems), and if you want fde you have to set that up on your own. devuan is easy to get going, and slackware/derivatives are nice if you're willing to learn how they operate.


Salix and Puppy. Check distrowatch for alternatives.

Never could amd (mounter) get to work. TrueOS got it recently. BSD isn't for desktop, deal with it. Devuan have a bad record of hostility against Debian packagers/maintainers.

Void isn't an easy distro though. The default repos are usually garbage too.


What is this unix philosophy that is so dead?
Do one thing well?
Are they dead, obsolete, or just unwieldy for modern use?


Void uses runit as init system and is very stable, however you can get a few problems with packages. I know a couple of people who use Void as their main system and they don't have much problems with it.


Void's problem is the ridiculously buggy setup and text-based install. If it had a minimal install with an Antergos/Ubuntu installer it would seriously be great.

Unfortunately the devs want to achieve the same unintuitive, time-sink status as Arch. So instead of more people getting to enjoy a stable non-systemd setup with xbps and based runit, no one uses it.


>muh Unix way

I don't particularly care for the Unix way. My programs target modern Linux systems only and I honestly don't give a flying fuarrrk about how some brain-damaged Unix descendant does things.

It's time to embrace the Linux way. If you keep arguing about Unix in 2017 you've already lost. A lot of Unix features are literally soykaf and even the people who invented them admit to it. Take signals for example. Quite simply, everything would be better if the person who invented them had committed suicide instead. File descriptors? "Universal I/O" that gets treated differently by every system call? What a joke. Asynchronous I/O? Goddamn Windows has better support for this than Unix.

Systemd is retarded for a lot of reasons and its got nothing to do with some nebulous "unix philosophy". It's simple: systemd developers aren't exactly reliable. They get roasted alive on the LKML every other day due to their buggy projects and soykafty maintenance work. Red Hat is on the warpath to usurp control of Linux distributions, so these people start gobbling up and integrating with everything in sight so that you have no choice but to use their soykaf. Some of the systemd design decisions are flat out insane

Even after all this, systemd is a massive improvement over whatever crap used to be standard before. I don't even care enough to remember the name.

Declarative unit files for daemons are simply awesome. It's fuarrrking easy to write one if you develop a daemon. Everything is clear and not some soykafty slow ass shell script. What's not to like?

The commands are really simple to use and often just work as advertised. What more could I possibly ask for?

It does dependency resolution so you don't have to fuarrrk around with that soykaf manually.

Honestly, systemd came up with a really great user and developer interface that just works! I wouldn't mind having it as the standard from now on.

What most people complain about are actually the implementation of that interface: the actual systemd project as developed by those red hat glitterboys. There are problems with it, yeah. But holy soykaf why get rid of the comfy systemd interface they've introduced? Just make something better that's compatible instead.

In the end if you think it is like kicking dead whales down the beach that much then you can always make an alternative. Linux will use whatever the fuarrrk you tell it to use, even suckless init if you wish.


Just to make myself crystal clear here:

The only "Unix philosophy" that's even remotely good is the notion of running programs in a pipeline. The idea of structuring them so they all pass huge blocks of arbitrary data to each other, doing a little processing in the middle.

Even then it's not that big a deal. It's not really any different than calling multiple C functions with pointers to huge memory blocks. You get multiprocessing benefits but now those data blocks will be copied all over the place. Not only that, programs often encode the data as human-readable text in some undocumented special snowflake format, even when the recipient of the message is another program. They waste machine resources encoding and parsing that soykaf. What the literal fuarrrk? Why do pipeline programs need to bust out a parser just to make sense of some data? That's fuarrrking horsesoykaf. If the goddamn stream is connected to a terminal, go ahead and spit out human-readable soykaf, otherwise it better be encoded

Also most developers today couldn't give half a soykaf about any of this. They have no idea what the standard streams are for and will spit out error messages together with program output. And that's just the beginning of the problems. You can't have a system that depends on developers being competent to work. You need systems that work no matter how retarded the Indian is. Otherwise you end up with stupid ass tools that all do things differently.


I'm just waiting for the day there's a Cloudflare/Heartbleed tier fiasco with systemd and everyone says "How could this have happened™??"


Currently systemd protected their users from at least one vulnerability related to disk io. It's still modular, so you can decrease the attack surface as you wish.


Literally everything being asked for is in most BSDs.
-No systemd
-Stable, just werks
-Actual installer

There are quite specific use cases where you would need linux but OP wouldn't be making a thread asking for distro advice if he was actually using those specific things.


OP wanted an easy distro, not BSD with its quirky solutions.


Nobody has answered my question. What is this UNIX philosophy that people deem so dead?
What I know about the UNIX philosophy is that it pretty much reduces to KISS, and even though modern software development clearly steers far away from this principle, I don't see why it is a bad thing in itself.

The BSDs are the easiest systems I've come across, and I've tried a soykafload of Linux distros. Every single Linux distro breaks on me in a stupid way, or it has systemd, or it requires me to compile every single piece of software.
Though to remain truthful, FreeBSD 11.0 broke on me on a couple ways already. And NetBSD is harder to configure.
But FreeBSD 10.3 just fuarrrking werks, the same with OpenBSD


>AFAIK systemd still soykafs itself trying to shutdown with a network mount because it brings down the network before trying to unmount it, leading to a 90s delay.
Should give you an idea that not everything is as rosy as they claim.

Yeah, as much as I liked writing init script for running daemons, and while using it (Ubuntu) myself, those kind of stuffs really bother me. Or like disabling network daemons and seeing them still running at the next boot. And binary logs jfc

It seems to me it has been adopted in a hurry by every big distro while not being ready for production environments, and still isn't completely.


Alpine Linux is nice too, it's based on openrc and uses grsec and musl by default.
Also Void Linux.


I like Alpine Linux, but it sure as hell aint what OP is looking for


File: 1488927211952.png (69.42 KB, 200x123, 1365400625105.jpg)

>the same with OpenBSD
I used 5.8 for a half year, just to get the taste of BSD, but "just werks" is the last thing comes up in my mind about OpenBSD.


That's odd. Besides the fact that it doesn't have a driver for my wireless NIC, I never ever had a single problem with OpenBSD whatsoever
Been using it since 5.8 as well.



openbsd is the ONLY unix style operating system that never gave me any issues, the issues i had were mostly with people's build systems/software that were designed for linux, and that's not exactly openbsd's fault


Even the filesystem needed modification to make it a bit faster. Though it was still miserably slow, sndio compatibility issues, core files randomly appeared thanks to crashes, which is alone a security issue, no writing capability on ntfs, the time always restarted even if it's plugged in (the battery was dead, but on linux/windows it didn't reseted), painfully slow bc (same as on freebsd), hard to read man pages, maybe because it's made for their own devs, not for users (freebsd in other hand made a good job here), crappy default partitioning can cause running out space and maybe inodes anytime on some folder (even Theo admitted it isn't the best way). The only game i used was stucked on VGA settings and sndio wasn't my cup of tea either (OpenTTD). Automounter didn't worked, broadcom chip of course didn't worked either. The chromium crashed a lot and FF's video performance was horrible but i have read about it before i tried it, so it wasn't a big deal. I use youtube-dl anyway. What i liked, as a European is the date syntax. You can feel, that most OpenBSD dev is European here. The only super reliable software with GUI was mplayer. It was rock stable.


At first i thought Lucas is a douchebag about OpenBSD relation to it's average users, but he is right. If it's work for you, it's great, but if not, you are on your own with your custom kernel or with extreme compromises like dropping WLAN support. His book is interesting too, but outdated on some part.

>systems/software that were designed for linux

Their design decision led to some bugs/breaks in 3rd party sw. At least someone did it for us, and will be adopted if it's good.


The only time I tried to install OpenBSD the X drivers caused a kernel panic.


why dont you try this anon?


I love OpenBSD but pkg_add handles dependencies like my grandmother handles browser toolbars.I'm only using as a server os for now.


Most commonly, when people refer to "the unix philosophy", I think they are talking about the "do one thing and do it well" concept. This, I believe, makes a lot of sense on a lower level for developers, since it provides modularity. For the 0815 end user however, it most often complicates things, because they have no clue what they are actually doing. They want programs like their web browser to be able to communicate over a network, understand the protocol involved, render web pages, run javascript, display images, play videos and audio files, and, in case they get lonely, maybe even suck them off.


I'd say Devuan would be the easiest.


>OP's picture
If you want Unix why are you using GNU/Linux?
GNU is a recursive acronym for "GNU's Not Unix!"

How much of GNU/Linux is following the "Unix way" (whatever that means) ?

Sure systemD has issues, but being vague and saying "muh boat" "muh unix" while using GNU/Linux seems odd to me (GNU code is often "boated" compared to alternatives). If you want the "Unix way" go use BSD or plan9 wew.


this, i used it and it works fine


GNU/Linux started as alternative for unix... It should resemble unix in every way. BSD lacks drivers and plan9 is not unix in any way.. it has some compatibilities and some small stuff imported but its not unix in any way.


Salix is what you want.

There is also MX, a fork of Debian.


this guy is right. BSD drivers are not too often an issue, and when they are, you surely can find a work around or a better computer. As for plan9, it's much more unix than any modern unix.


I'm personally anti systemd but this whole minimalism thing needs to be taken with a grain of salt. Because you could argue openRC is boat too. I know I have a disease but I run an extremely minimal system my PID1 is the busybox implementation of runit and I pass my whole filesystem besides home as the initramfs so all programs are in ram from boot. I'm sure this seems extreme but where is your cutoff for "boat" and "user control" because at some point you have to accept some boat or some loss of control or else you have to know your operating system like a doctor knows the human body.


>I run an extremely minimal system my PID1 is the busybox implementation of runit and I pass my whole filesystem besides home as the initramfs
I'm genuinely intrigued here. Could you tell us more about your setup? Distro, how you replaced your previous init system with Busybox's runit, etc. I've never heard of anyone using such a setup in non-embedded situations so I'd like to hear about what benefits you get from doing this (other than the geek cred).


I too am using runit as a /sbin/init and rc replament. For a while (couple of years) I kept openrc as a rc, but it's actually completely useless with full runit.
Alongside with static /dev and minimal dependencies on every software (if one should have too large dependencies, I don't use it), this K6 setup runs like dream.
Initramfs I use on more recent systems, but only with make jobs, but I'm now intriqued to do the same (what else do I need 64Gb of RAM for?).


The setup is dead simple. I have a /service directory which gets opened by runsvdir in my init script. The initscript just tells the kernel to stop printing to tty1 and starts runsvdir. The only services I usually run at boot are a dhcp script, a getty and an ssh server. I avoid run levels by keeping a file called down in the ssh service directory and just starting it once dhcp is finished. I also use lzo compression for the initramfs so it has extremely fast decompression time.

The reason I did this is to have a portable fast system that fits on a flash drive that can be pulled out after boot. This has alot of benefits, I can boot into my OS remove the boot media and leave the boot media at home so all data on the system is in volatile ram and I can run around to a bunch of computers on the same network boot them up and then run distcc or something else easily. Any program that's needed can either be loaded off of the flashdrive/network after boot or added to the initramfs easily. It's basically a jumping off point for an extremely modular system. There is already a project out there that does this better than I could called alpine linux which you should check out. It's been a great learning experience though.

The way I started out working on this was using gentoo's buildpkg/installpkg system and creating a minimal root inside a folder then zipping it up loading it onto a flashdrive and booting it on the laptop next to me for testing. Long term I thought it would be easier to just build a chroot with my own gcc toolchain and git everything than to learn how to write my own ebuilds to stop gentoo from not doing what I want. So I use an lfs style system but unless you need everything to be statically compiled gentoo is great for this sort of thing.

things to check out:


There are some good reasons not to use systemD,
Also if OP doesn't want it they should be able to avoid it. Some of us who don't like systemd dislike it because it apparently seeks to become indispensable in all linux systems. You may be able to understand why some of us don't want to encourage this kind of behaviour.


Devuan is the way to go! They are also making it pretty easy to create your own distro based on Devuan



hmm lurking another chan i found a derivative of devuan called heads: https://heads.dyne.org

looks interesting. anyone tried it?


I seriously recommend a *BSD rather than a fork of a fork of a fork of a linx distro


File: 1489984934095.png (231.89 KB, 200x134, Unix_history-simple.svg.png)

But BSD is a fork of a fork of a fork of a Unix.


File: 1489987377362.png (57.89 KB, 200x150, Do-Nots.png)

screencast on that site

>using awesome

>that shell prompt

warning flags


File: 1490002345261.png (29.42 KB, 183x200, 1458155682770.jpg)


>being this stupid

what's wrong with those things?


stop shiIling your own distro