←back to thread

185 points psxuaw | 4 comments | | HN request time: 0.598s | source
Show context
rollcat ◴[] No.43537129[source]
I have mixed feelings about FreeBSD. Some stuff is genuinely good: major/minor release branches, the best ZFS experience you can get OOB, actual man pages, overall a lot "cleaner" than most Linux distros.

OTOH when you compare it to e.g. OpenBSD (or in many instances, even Linux), it's an actual mess. The default install leaves you browsing thru the handbook to get simple things to work; it has three (three!) distinct firewalls; the split between /usr/local/etc and /etc constantly leaves you guessing where to find a particular config file; even the tiny things such as some default sysctl value being an XML snippet - actually, WTF?

The desktop story is also pretty bad. OpenBSD asks you during installation, whether you'd like to use X11 - and that's it. You boot to XDM, you get a basic window manager, things like volume buttons just work, all in the base system - no packages, no config files. You can install Gnome or XFCE from there, and rest assured you'll always have a working fallback. FreeBSD still feels like 90's Linux in that area. Regarding usability, both are behind Linux in things like connecting to Wifi networks, but in OpenBSD's case you just save a list of SSIDs/passwords in a text file, and the kernel does the rest for you.

The author is praising jails. I think it's nice that you can trace the lineage all the way back to 6.x, it sings a song of stability. You can also put each jail on a separate ZFS dataset to get snapshot/restore, cloning, etc. But I think it's still a poor middle ground between OpenBSD and OCI. OpenBSD keeps making steps (privsep, pledge, unveil) to provide isolation, while remaining conceptually simple for the developer and imposing no extra maintenance burden on the operator. Containers by design are declarative, separate the system image from state, etc - it's a wholly different concept for someone used to e.g. managing stateful jails or VMs, but it reinforces what already were good design principles.

replies(5): >>43537232 #>>43537514 #>>43538655 #>>43540046 #>>43543318 #
citrin_ru ◴[] No.43538655[source]
> the split between /usr/local/etc and /etc constantly leaves you guessing where to find a particular config file

I started with FreeBSD and it never was a problem to me until I started to use Linux too. Now I just make symlinks from /usr/local/etc to /etc for software I use both on Linux and FreeBSD. The rule is simple - if an app is from the base system it is in /etc and if you installed some software from packages (ports) then configs will be in /usr/local/etc.

replies(1): >>43541497 #
1. inopinatus ◴[] No.43541497[source]
FreeBSD is more of an admin's system than a user's system and this perfectly illustrates one of the reasons why. Outside of this forum, in regular consumer land, OS users don't want to know or care about the distinction between base and ports, and nothing anyone says about it is going to change that. So I run lots of BSD at home but I recommend Mint to family.
replies(3): >>43541579 #>>43546750 #>>43553481 #
2. ◴[] No.43541579[source]
3. citrin_ru ◴[] No.43546750[source]
May be I'm biased but a distinction between base OS and 3rd party software is a simple concept to me, also it is not unique to BSD. E. g. in Windows there were different menu sections to install/uninstall optional Windows components and to uninstall 3rd party software.

If aynthing Linux is an outlier in that core OS components and 3rd party apps both come in similar packages which makes it hard to distinguish which is a part of the base OS and which and optional 3rd party software. In FreeBSD I know that I can delete all packages and still have a system remotely accessible via SSH (with rare exception a normal user will not come across). In Linux to tell which package can be uninstalled without breaking the system one have to be an expert. Can I delete iproute package if I don't use ip command, can I remove NetworkManager, is systemd-container optional? Where the OS stops and 3rd party apps start?

4. int_19h ◴[] No.43553481[source]
In regular consumer land, nobody is going to care that some config files are in /etc and others are in /usr/local/etc because a regular consumer has no idea what either one is, anyway.