[HN Gopher] Why I run FreeBSD for my home servers
___________________________________________________________________
Why I run FreeBSD for my home servers
Author : psxuaw
Score : 88 points
Date : 2025-03-31 12:59 UTC (10 hours ago)
(HTM) web link (aumont.fr)
(TXT) w3m dump (aumont.fr)
| briandear wrote:
| Curious what "home servers" are really for. I've gone decades
| without needing a home server -- what am I missing out on?
| Semaphor wrote:
| Controlling your data, instead of giving it to some SaaS. But
| unless you day job is sysadmin, better treat it as a hobby that
| takes some time and effort, not a free alternative.
| SteveNuts wrote:
| Plex and pihole are basically production services on my home
| network. If something goes wrong I get a Sev 1 page from my
| wife and kids :)
| pnutjam wrote:
| On mine I run calibre, jellyfin, openbooks, and Samba to share
| files out. All my other computers backup to my home server and
| it has a process to deal with incremental and offsite (btrfs
| snapshots and b2).
|
| I also use it from my other computers via ssh to access git,
| irc, keepass, and whatever else tickles my fancy.
| alabastervlog wrote:
| Serving pirated media files in a way that's similar-enough to
| Netflix for normies in your house to use it comfortably.
|
| An always-on machine to handle recurring tasks (remote backups,
| say).
|
| Maybe a VPN gateway (you can also just use an AppleTV for that,
| though, with Tailscale)
|
| Home automation if HomeKit isn't your thing, for whatever
| reason.
|
| Network-wide adblocking, custom DNS, et c.
|
| You really, _really_ don 't need one. But they can be nice.
|
| Also some people just like tinkering. Can't relate (any more)
| but I've got my thing down to requiring single-digit hours per
| year.
|
| [EDIT] Of course, part of how I avoid making it more work is
| that I don't upgrade the core OS, since it has minimal exposure
| to public networks and everything I care about comes from
| Docker so IDGAF how old the package collection is. Especially
| with ZFS in play, upgrades are... fraught. At some point
| whatever old-ass Debian I have on there will be _too_ old and I
| 'll have to, IDK, image the whole base OS disk as a backup and
| spend probably a whole weekend screwing with it when it
| inevitably breaks itself on upgrade. I may just migrate to
| FreeBSD instead, when the time comes.
| sunshine-o wrote:
| File server, Syncthing, Home Assistant, Cameras/NVR.
|
| For all those things you really shouldn't trust "the cloud"
| idatum wrote:
| I use both a home server and a cloud VM, and they work
| together. I'm thankfully able to use FreeBSD 14 on my cloud VM
| (just a preference).
|
| I push data from my home server for easy access on my cloud VM.
| For example, weather data from my weather station, images/time-
| lapses from my weather cam. I have no ports open to my home
| network. Basically just fun stuff without exposing my home
| network.
|
| I use the cloud VM as an SSH "jump box" into my home network.
| My OpenBSD box sets up a remote SSH tunnel port. I can then use
| the SSH -J option to jump through the cloud VM into that home
| OpenBSD box (as well as chain "jumps" to other home servers).
| * This way I don't need any home server to trust a cloud VM.
| * This mostly is for checking on my Home Assistant instance.
| * I've also fixed some things remotely with an SSH session.
|
| Do I need all this? Well, would be less fun without.
| 0x457 wrote:
| Piracy
| mekster wrote:
| You mean privacy.
| 0x457 wrote:
| No, I mean piracy and there is nothing wrong with it.
| rollcat wrote:
| I've thrown "home server workloads" at my Mac mini. It stays on
| 24/7 anyway, because idle power draw is negligible.
|
| Syncthing is a great use case. Wherever I take my laptop, the
| files stay in sync between the two devices; I don't need a
| third device to act as a server, or iCloud, or any other cloud.
|
| Miniflux. I read my RSS feeds from three devices, so I want to
| track read status and save bookmarks. It provides a Google
| Reader-compatible API (yes it lives on), so I can plug
| NetNewsWire into it.
|
| It's an exit node for Tailscale. Did I mention Tailscale? It's
| like still being on the same LAN anywhere you go. It doesn't
| matter if your home server doesn't have a public IP.
|
| Grafana is cool for anything you can plot, as long as you can
| mash it into something vaguely resembling a time series. Sensor
| readings, data pulled from some API, CSV export from your bank,
| your chess ELO, etc. It's often combined with Prometheus. So
| you can also scrape anything that speaks enough HTTP (which
| is... many things, these days).
|
| I want to explore something like Navidrome or Jellyfin; for now
| I use Syncthing for my music library, but even if I could run
| it on iPhone, the whole collection wouldn't fit. Unfortunately
| it seems there are no decent apps.
|
| You're also free to explore uncharted territory. Rubenerd is
| hosting a "house-wide" SQL database: <https://rubenerd.com/our-
| personal-database/>
| mekster wrote:
| You're leaking all the domain you're accessing? Are all your
| data in clouds that are scanned for AI training etc? All your
| email are belongs to the big corps? By now they know about
| yourself more than you do. You're not the one missing, you're
| just giving it away.
| philjohn wrote:
| Mine is running, in no particular order:
|
| * UrBackup for all of the host systems in the home to backup to
|
| * Plex for home movies
|
| * HomeAssistant
|
| * OpenThread Border Router
|
| * Zigbee2MQTT
|
| * Matter Server
|
| * PostgreSQL (for HA)
|
| * InfluxDB (for long term statistics from HA)
|
| * EMHASS (linear optimizer to maximise profit on my Solar PV +
| Battery system)
|
| * Minecraft server for the kids
|
| * Mosquitto MQTT broker
|
| * TeslaMate for car data
|
| In my case, the heaviest use is HomeAssistant - every light in
| the house has smarts, either directly, or through smart relays.
| Telling my energy provider how much charge to add to the EV's
| so they schedule it and I only pay 7p per kWh during the
| dispatching windows. Managing energy flow in the house (charge
| battery? discharge battery? only charge battery from solar that
| would otherwise be curtailed due to a 5kW export limit) etc.
| etc.
|
| It's running in a short depth 2U rackmount chassis inside my
| network rack, with 6 4TB drives running in RaidZ2 and offsite
| backups which are aided by a 1Gbps symmetric FTTP connection.
| dharmab wrote:
| On mine I run:
|
| - Kavita and Jellyfin to self-host my books, comics, movies and
| TV. Self hosting is particularly important for non-
| Hollywood/non-US-centric media which routinely disappears from
| the internet.
|
| - A custom webapp to self-host my photos (if I did it again
| today I'd use Immich)
|
| - Gitea to self-host a few Git repos
|
| - A GPU so I can use it remotely to offload AI/ML workloads
| from my laptop
|
| It is networked with my ither devices via Tailscale so me, my
| friends and family can access it from everywhere. It is like
| having a private Netflix, Kindle, Google Photos and
| Comixology/MangaReader that allows any media to be downloaded
| to read offline.
|
| I also have second Windows server used for hosting dedicated
| servers for video games.
| whalesalad wrote:
| I notice FreeBSD admins tend to follow a 'pets not cattle'
| approach, carefully nurturing individual systems. Linux admins
| like myself typically prefer the 'cattle not pets' mindset--using
| infrastructure-as-code where if a server dies, no problem, just
| spin up another one. Leverage containers. Statelessness.
|
| I don't want to spend time meticulously configuring things beyond
| the core infrastructure my services run on. I should probably
| explore FreeBSD more, but honestly, with containers being
| everywhere now, I'm not seeing a compelling reason to bother. I
| realize jails are a valid analogue, but broadly speaking the UX
| is not the same.
|
| All this being said, I have this romantic draw to FreeBSD and
| want to play around with it more. But every time I set up a basic
| box I feel teleported back to 2007.
|
| Are there any fun lab projects, posts, educational series
| targeted at FreeBSD?
| yabones wrote:
| The only thing I currently run on FreeBSD is my storage box.
| ZFS is absolutely amazing, and FreeBSD supports it fully and
| without any of the "jank" you'd get running ZFS on Linux. It
| Just Works (tm), bottom to top. Anything else, I want what I'm
| familiar with on Linux, like containers and systemd services. I
| know some people really love pf, but I've been using iptables
| for so long it would be annoying to switch at this point. So
| really, it comes down to what you're familiar and comfortable
| with, and using the right tool for the job.
| MisterTea wrote:
| > ZFS is absolutely amazing, and FreeBSD supports it fully
| and without any of the "jank" you'd get running ZFS on Linux.
|
| This is why I use FreeBSD as well for my home server, first
| class ZFS support out of the box. Void Linux musl on my
| desktop.
|
| I had an old 2TB ZFS array that was part of a trunas setup
| kicking around for years. I needed to recover some files from
| it so I hooked all the disks to a motherboard and booted
| FreeBSD live. I didn't have to do anything, the array was
| already up and running when I logged in. ezpz.
| E39M5S62 wrote:
| ZFS is a first-class citizen on Void Linux, too. There's a
| lot of care and consideration put into the kernel packages
| to ensure compatibility with ZFS. ZFSBootMenu is 'native'
| to Void as well, and the features it provides are quite far
| ahead of what FreeBSD's bootloader has.
| MisterTea wrote:
| I prefer OS variety and have a mix of Plan 9, Linux,
| FreeBSD and OpenBSD running my personal stuff.
| lunarlull wrote:
| > without any of the "jank" you'd get running ZFS on Linux.
|
| What jank? Compile it in the kernel of load the module,
| install the zfs utils, then it's done. Very simple, no
| complications, where is the jank?
| whalesalad wrote:
| Ostensibly DKMS can be interpreted as jank, for situations
| where you upgrade your kernel, zfs integration fails or
| blocks that, and now you are in limbo. At least, I can
| imagine this being a complaint from someone.
| aborsy wrote:
| ZFS works on Ubuntu top to the bottom too. It's installed
| with a command.
| sunshine-o wrote:
| > Are there any fun lab projects, posts, educational series
| targeted at FreeBSD?
|
| Klara Systems [0], Vermaden [1] and IT Notes [2] seems to be
| the most active and popular.
|
| - [0] https://klarasystems.com/articles/
|
| - [1] https://vermaden.wordpress.com/posts/
|
| - [2] https://it-notes.dragas.net/categories/freebsd/
| graemep wrote:
| > But every time I set up a basic box I feel teleported back to
| 2007.
|
| You sat that as though its a bad thing! The author values
| simplicity.
|
| > I notice FreeBSD admins tend to follow a 'pets not cattle'
| approach, carefully nurturing individual systems. Linux admins
| like myself typically prefer the 'cattle not pets' mindset--
| using infrastructure-as-code where if a server dies, no
| problem, just spin up another one. Leverage containers.
| Statelessness.
|
| Is it less work to write that code and manage "pet"? Are there
| other advantages?
|
| I think you probably are right about the preferred approach -
| but what are the advantages of each?
|
| > Statelessness
|
| What about data storage?
| toast0 wrote:
| > I notice FreeBSD admins tend to follow a 'pets not cattle'
| approach, carefully nurturing individual systems. Linux admins
| like myself typically prefer the 'cattle not pets' mindset--
| using infrastructure-as-code where if a server dies, no
| problem, just spin up another one.
|
| I've worked at 'pets not cattle' and 'cattle not pets', and I
| vastly prefer pets. Yes, you should be able to easily bring up
| a new pet when you need to; yes, it must be ok if pet1 goes
| away, never to be seen again. But no, it's not really ok when
| your servers have an average lifetime of 30 days. It's very
| hard to offer a stable service on an unstable substrate.
| Automatic recovery makes sense in some cases, but if the system
| stops working, there's a problem that needs to be addressed
| when possible.
|
| > All this being said, I have this romantic draw to FreeBSD and
| want to play around with it more. But every time I set up a
| basic box I feel teleported back to 2007.
|
| Like another poster mentioned; this is actually a good thing.
| FreeBSD respects your investment in knowledge; everything you
| learned in 2007 still works, and most likely will continue to
| work. You won't need to learn a new firewall tool every decade,
| whichever of the three firewalls you like will keep working.
| You don't need to learn a new tool to configure interfaces,
| ifconfig will keep working. You don't need to learn a new tool
| to get network statistics, netstat will keep working. Etc.
| tick_tock_tick wrote:
| > But no, it's not really ok when your servers have an
| average lifetime of 30 days. It's very hard to offer a stable
| service on an unstable substrate.
|
| The whole cattle mindset because at the end of the day
| everything is a "unstable substrate" your building a stable
| service on unstable blocks pets don't solve the issue that
| each pet is fundamentally unstable and your just pretending
| it's not.
| toast0 wrote:
| > The whole cattle mindset because at the end of the day
| everything is a "unstable substrate" your building a stable
| service on unstable blocks pets don't solve the issue that
| each pet is fundamentally unstable and your just pretending
| it's not.
|
| That's not the way the world has to be. You can have a
| network that is rock solid. You can have power that is rock
| solid. You can have hardware that is rock solid.
|
| Sure, if you have a couple thousand machines, a few of them
| will have hardware problems every year. Yes, once in a
| while an automatic transfer switch will fail and you'll
| have a large data center outage. Backhoes exist. Urgent
| kernel fixes happen. You _have_ to acknowledge failures
| happen and plan for them, but you should also work to
| minimize failures, which I honestly haven 't seen at the
| 'cattle not pets' workplaces. Cattle take about two years
| to get to market [1] (1.5 years before these people receive
| them, then 180 days before sending them to market); I'd be
| fine with expecting my servers to run for two years before
| replacement (and you know, rotating in new servers
| throughout, maybe swapping out 1/8th of the servers every
| quarter, etc), but after running for 30 days at 'cattle not
| pets', I started getting complaints that my systems were
| running for too long.
|
| [1] https://cultivateconnections.org/how-do-you-determine-
| when-t...
| unethical_ban wrote:
| I agree on the "knowledge stability" front. I feel like I
| have to relearn Linux server networking config every three
| years because I switched distro or a distro switched their
| network management middleware.
|
| But.
|
| Having tried to move a machine from rhel 5 to rhel 7, where
| 12 people had used the server over the past 8 years for any
| scripting/log analysis/automation, for hosting a bespoke
| python web request site and a team-specific dokuwiki... The
| idea of having all that in source control and CICD is
| alluring.
| toast0 wrote:
| You can certainly keep information on your pets and how to
| rebuild them in source control along with all the
| procedures used to update them. It's probably a good idea.
|
| Nobody says you can't do CI/CD with pets too. You do have
| to keep the pets well groomed, of course.
| dangus wrote:
| Just another "I don't like systemd and refuse to understand it"
| rant.
|
| I can't think of any change that has improved my Linux sysadmin
| experience more than the move to systemd.
|
| Is it complicated? Perhaps it is. But this FUD about it being
| resource intensive or unreliable or difficult to use is complete
| nonsense.
|
| And on top of that systemd isn't even "Linux." Plenty of popular
| production-ready distros like Alpine Linux don't even use it.
|
| And of course I'm not saying FreeBSD is bad, but I'm not the one
| writing and publishing an article bashing a system I don't
| understand.
| whalesalad wrote:
| systemd is indeed awesome. i'd rather kms than go back to
| maintaining init.d scripts.
| throw0101d wrote:
| > _systemd is indeed awesome. i 'd rather kms than go back to
| maintaining init.d scripts._
|
| systemd-as-init-replacement was probably fine. systemd-as-
| kitchen-sink can get annoying.
| webstrand wrote:
| But where does the init system end and the kitchen-sink
| begin? For instance do you consider networking to be part
| of init or is it something else. For me, I bring network up
| in initramfs, so it's definitely part of my init.
|
| The only truly bad systemd-* I've worked with is systemd-
| journald. Which often fails to contain log entries that
| should be present or simply just corrupts itself.
| throw0101d wrote:
| > _But where does the init system end and the kitchen-
| sink begin?_
|
| resolved, timesyncd, homed, journald, networkd (was very
| happy with Debian's _interfaces(5)_ ). Never thought of
| mounting file systems as process control, so also add
| mounting and taking over _fstab_. Given the ever-growing
| number of 'sub-systems', I'm sure new ones have been
| created that I'm not aware of. (I'm personally most
| regularly annoyed by resolved, especially as a server
| sysadmin where I need DNS to be deterministic, and not
| clever: I've gotten to the point of doing a _chattr +i
| /etc/resolv.conf_.)
|
| I'm waiting for a systemd-mail so Zawinski's Law can be
| fulfilled:
|
| * https://en.wikipedia.org/wiki/Jamie_Zawinski#Zawinski's
| _Law
|
| > _For me, I bring network up in initramfs, so it 's
| definitely part of my init._
|
| I've run Solaris, IRIX, BSD, and 1990s Linux, and I've
| never thought of networking as related to process control
| ( _init_ ).
| alabastervlog wrote:
| I'm only still on Linux for my server because Docker saves me
| from having to interact with systemd at all. Or, indeed, from
| caring very much what distro I'm even on.
| andreldm wrote:
| If you ever consider switching to Podman, you'll be surprised
| to see how it kinda pushes you back to systemd.
| alabastervlog wrote:
| I try never to mess with my stack unless something breaks
| so badly that changing it is necessary. This hasn't
| happened yet in... six years, for my current server? This
| is the first time I've had a "home server" that's more
| value than the cost of maintaining it, and frankly it's
| because I neglect the hell out of it and resist any urge to
| go make things "better" just-because. And because of the
| isolation of Docker images from the awful mixed-together
| system-and-userspace distro package manager--I can upgrade
| any daemon I care about with a tiny edit to a shell script
| and a couple commands, works every time, _never_ fucks up
| my base system or other unrelated daemons due to any stupid
| crap like sometimes happens when you try to get newer
| packages on an older version of a Linux distro.
|
| Docker's just a package manager and process manager, the
| way I use it, and has performed flawlessly in that role.
| ohgr wrote:
| I do understand systemd well. It's not great. But less terrible
| than the pile of crap it replaced. And that's probably good
| enough.
| johnklos wrote:
| FUD? No. There are plenty of people on plenty of sites asking,
| "How do I do this very simple thing using systemd?", along with
| plenty of answers which depend on which distro it is, how
| recent it is, et cetera.
|
| For instance, DNS handling and NTP keep coming up over and
| over, and it's almost becoming a meme. Why? Because it's the
| Microsoft mentality - we (the systemd people) know better than
| you (you're just the machine's owner and administrator), and
| we'll take care of this. You want to? Not without a fight.
|
| So no, it's not FUD when reasonable people can't give
| reasonable answers for how to do something that's otherwise
| reasonably simple.
| asveikau wrote:
| ZFS is probably the biggest reason for me. I have a machine with
| a zfs pool running samba and nfsd.
|
| Philosophically I tend to prefer *BSDs over Linux. I have a few
| FreeBSD machines, one OpenBSD, and one Linux.
| 0x457 wrote:
| > ZFS is probably the biggest reason for me.
|
| Maybe in the past there was an argument for that, but ever
| since FreeBSD started using OpenZFS implementation...what's the
| difference?
|
| My ideal OS would be something like NixOS, but on FreeBSD and
| with better language than Nix.
| agapon wrote:
| ZFS is part of the OS on FreeBSD. Integrated more tightly in
| every respect.
| bluGill wrote:
| ZFS is a first class part of FreeBSD. you can use it on
| linux, but it will always have some rough edges. How rough it
| open to question though, for some it works well.
| free652 wrote:
| Well since FreeBSD is pulling ZFS source from Linux, I am
| not certain what are the rough edges. And I have ran ZFS
| for 7+ years on Linux with zero issues.
| tomxor wrote:
| Used ZFS on Debian in production for 8 years, yet to
| experience rough edges but always interested to learn.
| turtledragonfly wrote:
| Do you use ZFS for root, on Debian? (enabling "boot
| environments")
|
| I've recently switched my FreeBSD setups to use that
| scheme, and it's been nice. Would be interested to hear
| if it's similarly straightforward on Debian (my second-
| favorite OS :)
|
| Obviously requires support in the bootcode; I'm not sure
| of the state of that for Linux.
| Numerlor wrote:
| I've been running zfs on root on my Debian home server,
| only the install was a tiny bit more involved but it was
| done in maybe half an hour going off of the guide and
| trying to understand everything it was doing with 0
| experience (... And then did it again after I broke
| networking after an hour lol)
| mekster wrote:
| Ubuntu can have zfs with an install of a package.
|
| BSD's inability to utilize docker ecosystem had me decided to
| stick with Ubuntu for a decade, unless things change and BSD
| gets clear advantages over Linux.
| asveikau wrote:
| Here's where I'll show my age. If you got into a unix-like OS
| in the '90s, the *BSD ergonomics will make more sense.
|
| I remember when Ubuntu and docker each entered the scene and
| my initial impressions of both were pretty negative.
| aaronbaugher wrote:
| Ubuntu _can_ have ZFS. FreeBSD just does, as long as you
| select "ZFS on root" for your disk layout when you install.
| It just works, and then you automatically get things like
| snapshots and easy rollback during upgrades.
| fragmede wrote:
| when do you use samba and when do you use nfsd? any iscsi?
| nine_k wrote:
| If systemd is the reason, there are several good distros without
| systemd (I run Void Linux in particular).
|
| If "kubesomething" is the reason, there's no requirement to use
| it. I think most people don't run it on their home servers.
|
| If containers are the reason, then again, they are not a
| requirement. But they are pretty similar to BSD's jails. I don't
| think they are particularly complex.
|
| FreeBSD has a number of strong suits: ZFS, a different kernel and
| network stack, a cohesive system from a small(ish) team of
| authors, the handbook, etc. But the usual Linux hobgoblins listed
| above are a red herring here, to my mind.
| csdvrx wrote:
| > But the usual Linux hobgoblins listed above are a red herring
| here, to my mind.
|
| Absolutely
|
| > If containers are the reason, then again, they are not a
| requirement. But they are pretty similar to BSD's jails. I
| don't think they are particularly complex.
|
| The only point I agree with the author is that many things are
| shipped to be used with docker when they don't need to be,
| which creates a needless dependency.
| n3storm wrote:
| I have "reversed engineered" dockerfiles in order to avoid
| containers. Any software should be installable without
| docker, it just takes more knowledge and time. Also sometimes
| it doesn't, there is a binary (like with go and rust and
| .net) or other times the long route is pip or apt and some
| conf fiddling. Databases are the worse part maybe but once
| you get it is more control for you and what you want to do
| with your setup. Moving database server to other dir o
| server? no prob. Sometimes dockerfile deploys postgresql when
| you can configure it for home a simple sqlite. If you end up
| modifying the dockerfile you understand what are the
| application requirements are and you can install raw.
| fragmede wrote:
| that is absolutely fascinating. why do you want to avoid
| containers?
| csdvrx wrote:
| The main complain of the author seems to be that linux use
| systemd.
|
| In my experience, systemd is far better and more reliable than
| anything else, especially if you need complex logic (ex: when
| this and that happen, start doing this, except when such and such
| are present)
|
| Most of the problems I've seen come from trying to duplicate
| systemd functions: in the author example, why bother with rsyslog
| or network-manager?
|
| I have also seen many people refusing to learn modern tools,
| instead trying to make it work with the tools they know, by
| disabling what works better, often with poor results.
|
| It's like trying to keep using ifconfig and route instead of ip:
| you can make it work, but for say managing multiple ip on the
| same interface forces you to go with eth0:0 eth0:1 etc (and let's
| not even talk about network namespaces).
|
| I like the various BSD and distributions like postmarket OS, but
| I wish they had access to modern tools instead of having to "roll
| my own" with scripts or make do with what they depend on
| graemep wrote:
| > In my experience, systemd is far better and more reliable
| than anything else, especially if you need complex logic
|
| The author is talking about home servers that do not need the
| complex logic.
| Klonoar wrote:
| Basic systemd is really not that complex.
| watermelon0 wrote:
| I think the author's point is that systemd by itself is
| complex, and it doesn't matter if you use it in a simple
| configuration, or in a more complex one.
| Klonoar wrote:
| And I'm saying that's a somewhat ridiculous premise,
| because a simple systemd configuration will "just work"
| 99% of the time. That complexity is not something the
| generic case needs to care about.
| yjftsjthsd-h wrote:
| > I like the various BSD and distributions like postmarket OS,
| but I wish they had access to modern tools instead of having to
| "roll my own" with scripts or make do with what they depend on
|
| It sounds like you wish they used systemd. "Modern" is rarely a
| good description, and at 15 years old I don't think systemd
| qualifies as such anyways.
| csdvrx wrote:
| > It sounds like you wish they used systemd
|
| I do.
|
| > "Modern" is rarely a good description
|
| Then call it reliable and dependable.
|
| Modern doesn't always win for me: I prefer vim to neovim, or
| bash to zsh. Having a solid set of features and a good
| integration does.
|
| If you are curious, see
| https://marcelofern.com/posts/linux/goodbye_zsh/index.html
| which mirrors my reasons to prefer bash
| Klonoar wrote:
| Postmarket actually wound up porting systemd somewhat
| recently.
|
| https://postmarketos.org/blog/2024/03/05/adding-systemd/
| MisterTea wrote:
| Not by choice.
|
| > This is of course not an easy task, one of the main
| blockers we found as we collaborate more closely with KDE
| and GNOME developers is that they have a hard time with
| our OpenRC-based stack. In order to get KDE Plasma and
| GNOME working at all, we use a lot of systemd polyfills
| on top of OpenRC.
| Klonoar wrote:
| I don't particularly care about those details. I was
| mostly pointing out to the parent commenter that it does
| exist there now.
| csdvrx wrote:
| postmarket OS with systemd is far from ready at least for
| the device I'm working with. I even have to prepare a
| serial cable to figure what's happening.
|
| But I know that once it's fixed, it will work well, so
| it's motivating me to give a hand
| hylaride wrote:
| 99% of my issues with systemd are that it is a kitchen sink
| mentality. If it just dealt with process and service
| management, it'd mostly be minor quibbles - it was time to
| replace init with something.
|
| But instead it also does NTP, DHCP/networking, logging, etc.
| There were some very annoying teething issues with a lot of
| these components. It became more difficult to isolate problems
| buried within the systemd stack. It also became a pain to do
| some common, basic tasks. When the first distros starting
| supporting it, getting the systemd/journald logs for all the
| services into a central logging service was extremely painful.
| With (r)syslog it is just one line in a config. Heck, even the
| config files for systemd are littered all over the place.
|
| It didn't help that the systemd head (Lennart Poettering) was
| extremely intransigent with any complaints, often outright
| refusing to deal with various historical edge cases for long-
| established norms.
|
| And yes, by doing all this it the broke the long-held UNIX
| philosophy of "do one thing really well" and that continues to
| ruffle a lot of feathers. I've mainly accepted the fact that it
| won out, but it's helped by the fact that I'm now mostly using
| it to start a docker orchestrator and that all the networking
| is now handled by cloud-computing resources.
| csdvrx wrote:
| > There were some very annoying teething issues with a lot of
| these components
|
| Currently, I don't have any issue at all, and I'm not aware
| of any either.
|
| I like how it's very reliable and integrated: the "kitchen
| sink mentality" can have positive effects
|
| > It didn't help that the systemd head (Lennart Poettering)
| was extremely intransigent with any complaints, often
| outright refusing to deal with various historical edge cases
| for long-established norms.
|
| In retrospect, given how well it all works, maybe he was
| right to refuse to compromise.
| johnklos wrote:
| > I have also seen many people refusing to learn modern tools
|
| One of the reasons I prefer NetBSD (and the BSDs in general) is
| that they don't change gratuitously. The ifconfig / ip example
| you use is good: Why? If we look at the reasoning given, it was
| that they didn't want to make big changes to ifconfig, so they
| made a whole new set of commands, even though the BSDs have
| extended ifconfig many times.
|
| So that ends up meaning that how-tos just don't work any more.
| Imagine if you want to write a how-to these days where you're
| telling people how to do something using standard ifconfig and
| now also need to add ip. This is how you do DNS on standard
| Unix(like) systems, and now you have to explain multiple
| iterations of systemd. This is how you add software, but now
| you need to have separate instructions for apt, yum, dpkg.
|
| Having administered Ubuntu for others, even going from version
| 18 to 20 or 22 means that how-tos no longer work, scripts need
| to be modified, systemd handling has to be updated, et cetera.
|
| This is why I will always choose a BSD if given a chance.
| Pointing to a less messy Linux (like Void because it doesn't
| use systemd) isn't good enough when clean, well thought out
| systems already exist.
| csdvrx wrote:
| > One of the reasons I prefer NetBSD (and the BSDs in
| general) is that they don't change gratuitously.
|
| I like BSDs for the integration and the performance.
|
| > So that ends up meaning that how-tos just don't work any
| more
|
| Complexity (or change) doesn't come out of nowhere:
| sometimes, new tools must be learned.
|
| > isn't good enough when clean, well thought out systems
| already exist.
|
| I also love well thought out systems, but I think systemd is
| one of these "well thought out" systems.
| toast0 wrote:
| > It's like trying to keep using ifconfig and route instead of
| ip: you can make it work, but for say managing multiple ip on
| the same interface forces you to go with eth0:0 eth0:1 etc (and
| let's not even talk about network namespaces).
|
| On FreeBSD, ifconfig works fine for having multiple addresses
| on the same interface (and has since like forever?? I had
| multiple addresses on the same interface in 2004, and it's
| documented in the FreeBSD 1.0 man page) and it also manages
| configuration for wireless interfaces too. There's no need for
| new tools when there is already an appropriate tool that can be
| updated to do the job. Keeping the existing tools working means
| you don't need to retrain users and you don't need to update
| documentation that doesn't touch the new use cases.
| rollcat wrote:
| 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.
| yjftsjthsd-h wrote:
| > the split between /usr/local/etc and /etc constantly leaves
| you guessing where to find a particular config file;
|
| Isn't it just that /etc is the base OS and /usr/local is all
| packages added on top?
| cf100clunk wrote:
| Symbolic links can be made, but test test test and make sure
| anyone else administering that host knows exactly what has
| been linked and why. Purists might scream, but its none of
| their business if it doesn't get in anyone else's way.
| mekster wrote:
| I have had BSD as my router for a few years in the past and
| used Linux for a few decades but I never got this "BSD is
| cleaner" argument. Linux has man pages and Google gives you
| plenty more practical resources when in doubt and nothing felt
| unstable compared to "BSD is more tightly integrated"
| statement.
|
| Lack of community resource such as documents, blogs,
| StackOverflow answers and docker ecosystem just drove me away
| from BSD as I lose nothing by using Linux. The only thing I
| miss could be OpenBSD's pf.
| QuercusMax wrote:
| Maybe "cleaner" really means "more uniform", compared to the
| wide variety of Linux distros and their incompatibilities? Or
| like the word "intuitive", really just means "what I'm used
| to".
| cosmic_cheese wrote:
| More uniform most likely. With FreeBSD can google some
| issue you're encountering and the solutions you find are
| likely to be applicable, even with differing hardware, OS
| version, etc.
|
| With Linux there's been many times I'll google some problem
| and the only solution that turns up is for distro Y which
| is mostly or entirely irrelevant to distro X that I'm
| running at the moment. This happens even with the big
| mainstream distros like Ubuntu and Fedora, but of course
| it's worse with more niche ones.
| citrin_ru wrote:
| > 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.
| lstodd wrote:
| > I think it's nice that you can trace the lineage all the way
| back to 6.x
|
| It's 4.0 actually - March 2000. For jails and kqueue.
| znpy wrote:
| > ZFS is more efficient on FreeBSD (Insert Source)
|
| FreeBSD and Linux share the same ZFS codebase, openzfs.
|
| FreeBSD had its own zfs implementation but they had to drop it
| becayse they couldn't keep up with openzfs.
| assimpleaspossi wrote:
| They merged with openzfs to maintain a common base so Linux
| didn't venture off on its own, not because they couldn't keep
| up.
| craftkiller wrote:
| While they do share the same code base, personally (and
| therefore anecdotally) I have noticed an issue where on Linux
| with ZFS my programs will get OOM killed whereas they won't on
| FreeBSD+ZFS or on Linux+ext4. My theory was that the ARC pages
| on Linux weren't available for clearing under memory pressure
| whereas maybe they were in FreeBSD but that's just a guess.
| Hopefully someone knows more, but at least anecdotally even
| with the "same" ZFS code base, they can perform differently in
| situ.
| badgersnake wrote:
| But Linux makes it a faff because the license is incompatible
| so you have to run it as a 3rd party module and the kernel devs
| regularly break it. With FreeBSD it's already there and you
| know it will work.
| mekster wrote:
| My zfs never broke under Ubuntu and installation is easy by
| installing 1 package.
| badgersnake wrote:
| Lucky you
| lunarlull wrote:
| Alpine, Void, Devuan or Artix all would have allowed author to
| use Linux while addressing his points of concern. I don't think
| the BSD's have real advantages anymore since so much core
| performance stuff is in Linux first. When most of the software is
| available on all these platforms, it mostly comes down to user
| preference.
| cf100clunk wrote:
| To add to your list, Debian can be configured at installation
| to not use systemd (this option pretty well mooted Devuan) and
| MX Linux uses an optional shim to run their Debian spinoff
| without it if chosen at the Grub menu on bootup.
| quesera wrote:
| I run Linux, macOS, FreeBSD, and SmartOS/illumos in various
| capacities personal and professional.
|
| Each has its own strengths, but I choose FreeBSD for home
| servers (shared file/media server. and network gateway), for a
| few specific reasons: - ZFS (on root, fully
| integrated tooling for jails, etc) - More
| consistency/less churn in base system (great for set-and-forget
| systems) - Ports/pkg (still better than any Linux pkg
| manager)
| E39M5S62 wrote:
| Can you enumerate why ports/pkg is better than any package
| manager on Linux?
| avhception wrote:
| The first two are the exact reason I run FreeBSD on my home
| servers, too.
| aeblyve wrote:
| Cheap Complexity.
|
| https://www.schneier.com/blog/archives/2022/08/security-and-...
|
| The article is directly talking about mass-produced electronic
| commodities. The same is even more so for bits where the cost of
| copying is not merely "low" as in microcontrollers, but
| essentially free.
|
| In my opinion, systemd does solve a lot of problems, at a cost of
| somewhat more complexity and resource utilization. But it is the
| nature of material culture to complexify with time as more
| physical resources become available, i.e., "progress". More
| advanced commodities don't come out of a thin air of "better
| processes", but processes that interweave with other parts of the
| economy more intimately given the previously produced
| commodities. Something similar can be true inside the computer.
| carlhjerpe wrote:
| I started reading but stopped as soon as it was a systemd rant.
| systemd, while not for everyone is a good for _most people_.
| cf100clunk wrote:
| I kept on reading because I use OSes that have different init
| systems, one of which is systemd. Choice is great. Of course,
| your comment could be accused of being a rant too.
| carlhjerpe wrote:
| Choice is great, but I don't think we can expect everyone to
| maintain "unit files" for every init system. If you can and
| can afford to run systemd it's probably worth it, it's a
| "nice to have" most of the time.
|
| If you wanna run your own init solution you can but it might
| be a bit of effort, embedded people often do this while a
| system like a desktop with dbus and display servers and IPC
| left and right might standardize on systemd
| npodbielski wrote:
| Thought I agree with points of an author saying that it is
| wasteful to run 10 SQLs to run ten applications, I am not SYS
| admin and I do not want to spend few hours every week upgrading
| my software. With docker you do 'docker compose pull; docker
| compose up' and you done. You can do that via cron in every dir
| with your compose file and you are done.
|
| In fact I think even that thing is still to complicated. We need
| one-click deploys, automatic updaters for Linux or FreeBsd or
| similar for regular people to be able to self host and own their
| data.
|
| Having local pizzeria hosting its menu on Facebook is not a good
| thing. Having an online only calendar app as an only way to
| schedule haircut locally is not good thing. Having all your files
| stored on OneDrive or GoogleDrive is not a good thing.
|
| If author thinks FreeBsd is better - cool. Then work on a
| solution for ordinary people to host file storage server using
| FreeBsd in a simple way.
|
| Create simple wizard to install Nextcloud or Owncloud or mail
| sever on FreeBsd.
|
| This post is true but it is just a rant that do not solves any
| real problems. One if them is that people do not want to manage
| servers. For better or worse - is beside the point.
| doublerabbit wrote:
| Linus is too in-bed with Microsoft.
|
| RedHat the main powerhouse behind Linux ans is now owned by IBM.
| And Ubuntu is just corporate Debian who pushes their own
| proprietary (Flatpak) software which is cobbled together and just
| generally sucks.
|
| Systemd is bloated in wanting to do everything at once. I have
| never had a linux systemd distribution that just shutdowns
| without prompting me "waiting x/2minutes - x/y retries".
|
| FreeBSD is my daily driver and will always be my primary. Once
| you get over the "eww it's bsd" linux snobbery you start to
| realise how solid it actually is.
|
| Wifi works, graphics work. Wine and Proton works. Ports is
| fantastic and kernel compiling is easy. It even works on my MSI
| 2024 laptop. [1]
|
| Linux is lost in a communistic maze of leap frog.
|
| [1] https://bsd-hardware.info/?probe=b7f27b9528
| Klonoar wrote:
| Wifi? You mean the thing where people often resort to running a
| Linux VM to handle it?
| doublerabbit wrote:
| I have had no issue with Wifi on multiple occasions. Works
| just fine nowadays without any Linux compatibility add-on.
|
| Wifi not being available isn't the fault of FreeBSD. If
| vendors actually gave open sourced drivers to their products
| and not locked behind a proprietary binary blob then we would
| be in a completely different world.
|
| I can recall when WiFi on Linux was pretty much non-existent
| until deals were made back in 2018.
|
| So stop throwing that this is FreeBSDs fault, it's 100% down
| to the vendors locking down hardware.
| Klonoar wrote:
| > Wifi not being available isn't the fault of FreeBSD.
|
| No. Just because it's _available_ doesn 't mean it's
| _good_. Until FreeBSD supports modern Wifi (4 /5, i.e
| 802.11n/ac) then you're just ticking the box to say you've
| got it, but Linux _actually_ supports these modern network
| setups and FreeBSD does not. There is no debating this at
| this point in time.
|
| And to be clear, I'm referencing wifibox
| (https://github.com/pgj/freebsd-wifibox) which has been
| written about extensively and exists to work around
| FreeBSDs well known poor wifi support.
|
| > So stop throwing that this is FreeBSDs fault
|
| Nope, it's on FreeBSD if they want it. They appear to have
| finally prioritized it but it's not there yet.
|
| https://freebsdfoundation.org/blog/january-2025-laptop-
| suppo...
| E39M5S62 wrote:
| Nobody said it was the fault of FreeBSD.
| hyperbrainer wrote:
| For some reason the silverbullet link in the website is broken if
| I copy it or just click it. But typing the exact same thing
| works.
| tiffanyh wrote:
| The article link is wrong.
|
| https://siliverbullet.md/
|
| It should be below (without the extra "i"):
|
| https://silverbullet.md/
| horsawlarway wrote:
| Look, as someone running a mix of bsd and linux machines...
|
| The only salient point in this entire article is that BSD
| typically is less convoluted as a system (and as a consequence...
| usually less capable and less supported).
|
| I find absolutely all of the other points to be "easy cop outs".
| They're there to provide him a mental justification for doing the
| thing he wants to do anyways, without actually justifying his
| logic or challenging any assumptions.
|
| ---
|
| Case in point - I used to point all (most of) my hosted services
| at a single database. It genuinely sucked. It's a larger backup,
| it's a larger restore, if it goes down _everything_ is down, and
| you better hope all the software you 're hosting supports your
| preferred DB (hah - they won't, half will use postgres, half will
| use mysql, and half of the mysql half will actually be using
| mariadb, and I'm ignoring the annoying group that won't properly
| support a networked db at all and don't understand why I'm
| frustrated they only support sqlite).
|
| You know the only thing it was actually doing for me? Marginally
| simplifying deployment, usually at first time setup.
|
| You know what else the author of this post is trashing? Some
| pretty good tools for simplifying deployments.
|
| Turns out... if spinning up a database is 3-10 lines in a config
| file, and automatic backups are super simple to configure with
| your deployment tool (see - all those k8s things he's bashing)...
| You don't even feel this pain at all.
|
| ---
|
| Basically - This is a lazy argument.
|
| Perfectly fine personal preference (I also sometimes enjoy the
| simplicity of my freeBSD machines, and I run opnsense for a
| reason).
|
| But a trash argument against the things he's railing against.
|
| Switching to k3s and running kubernetes was a a pretty giant time
| sink to get online (think maybe 25 hours) - but since it's come
| online... I've never had an easier time managing my home
| services.
|
| Deployment is SO fucking simple, no one machine going down takes
| _any_ service down, I get automatic backups, easy storage
| monitoring (longhorn and NAS), I can configure easy policies to
| reboot services, or manage their lifecycles, I can provision
| another machine for the cluster in under 10 minutes, and then it
| just works (including GPU accelerated workloads).
|
| These days... It's been so long since I've ssh'd into some of my
| machines that I occasionally have to think for a minute before I
| remember the hostname.
|
| I don't think about most of them _AT ALL_ - they just fucking
| work (tm).
|
| I remember the before times - personally, I don't want to go
| back. It's never been easier to run your own cloud - I currently
| have 112 online pods across 37 services. I don't restart jack
| shit on my own - the system runs itself.
|
| Everything from video streaming to LLM inference to simple wikis
| and bookstack.
| tracker1 wrote:
| For me, it's about friction vs total understanding. I accept that
| I don't know and won't know/understand everything.
|
| I can install a relatively minimal Linux server (usually Ubuntu
| Server), disable snaps, install Docker community, copy my app
| directories (with docker-compose.yaml files in each) and `docker
| compose up -d` in each directory and be (back) up in moments.
| When I was trying a couple different hosts for mail delivery, the
| DNS changes took longer than server setup and copy/migration. It
| was pretty great.
|
| It's also lead me to a point where I'm pretty happy or unhappy
| with given applications by how hard or easy a compose file for
| the app and it's dependencies are. Even if, like my mail server,
| the whole host is effectively for a single stack.
|
| No, I'm not running more complex setups like Kubernetes or even
| Swarm... I'm just running apps mostly at home and on my hosted
| server. It's been pretty great for personal use.
|
| For work, yeah, apps will be deployed via k8s. The main projects
| I'm on are slated for migration from deployed windows apps,
| mostly under IIS or Windows Services, to Linux/Docker.
| caycep wrote:
| granted I'm sort of doing it via TrueNAS I suppose.
| vermaden wrote:
| ... and if someone looks for more reasons 'why' FreeBSD then here
| they are:
|
| - https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
| efortis wrote:
| If you are curious about a two-server infra with FreeBSD VNET
| jails:
|
| https://blog.uxtly.com/freebsd-jails-network-setup
| mycall wrote:
| > Overall system reliability is therefore the product of the
| individual reliability of each component.
|
| Is that true? All you need is one bad mosfet and all the other
| components fine, zero reliability. Doesn't a M x N matrix with
| only one extreme value average out from many samples over time?
| johnea wrote:
| > TLDR : the main problem is SYSTEMD
|
| I couldn't agree more.
|
| Its a testament that this s/w is _still_ NOT LIKED by so many
| people.
|
| I've been a linux on the desktop, FreeBSD for the server
| user/admin for over 20 years.
|
| It's a great combination...
| exiguus wrote:
| Docker is an excellent tool, especially when used with SELinux
| enabled. It offers process isolation, resource restrictions, and
| reproducibility. While similar isolation can be achieved with
| chroot or jails, these methods lack reproducibility.
| Additionally, managing updates in chroot and jails can be quite
| challenging compared to Docker or Portainer. Jails and chroot is
| a big no-no for CI/CD, in my opinion also the reason no one use
| it.
| jcgrillo wrote:
| Just this past weekend I gave up trying to install OpenSUSE on a
| new laptop. I couldn't figure out which magic combination of
| overlapping Xorg, Wayland, and who knows what else settings were
| required to make ctrl:nocaps work both in the console and in KDE.
| I had FreeBSD running with a X11 Mate desktop, with all my files
| and software , ready to rock in less than an hour. Only thing
| remaining is to figure out suspend/hibernate and make the
| brightness keys work. What a breath of fresh air.
| steeleduncan wrote:
| > Complicated stuff = high probably of failure
|
| This is a myth. The 787 has about 60 million miles of wiring in
| it. It is vastly more complicated than an airliner from the
| 1940s, and it also much, much safer. Poorly engineered technology
| fails, not necessarily complex technology
|
| > secondary problem is the stacking of abstraction layers docker
| / kubersomething
|
| Then don't use Kubernetes or Docker? They aren't mandatory
___________________________________________________________________
(page generated 2025-03-31 23:01 UTC)