23 ms·
Why I run FreeBSD for my home servers (2024)
- hyperbrainer 2y agoFor 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 2y agoThe article link is wrong. https://siliverbullet.md/ https://siliverbullet.md/ It should be below (without the extra “i”): https://silverbullet.md/ https://silverbullet.md/
- hyperbrainer 2y agoOh, I didn't see the typo. Thanks!
- horsawlarway 2y agoLook, 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 2y agoFor 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 2y agogranted I'm sort of doing it via TrueNAS I suppose.
- vermaden 2y ago... and if someone looks for more reasons 'why' FreeBSD then here they are: - https://vermaden.wordpress.com/2020/09/07/quare-freebsd/ https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
- efortis 2y agoIf you are curious about a two-server infra with FreeBSD VNET jails: https://blog.uxtly.com/freebsd-jails-network-setup https://blog.uxtly.com/freebsd-jails-network-setup
- avhception 2y agoA really nice blog post! I bet some of the tricks in there will be useful to me in the future :)
- mycall 2y ago> 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 2y ago> 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 2y agoDocker 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 2y agoJust 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 2y ago> 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
- gaadd33 2y agoIs any open source software or Linux distribution engineered to the level of the 787?
- Rediscover 2y agoYes. Boeing Onboard Network System (ONS) running on the Network File Server (NFS)? It and its 787 sibling are highly customized Linux distros. Aircraft include the 747-8, 787, some 737, ... http://www.b737.org.uk/flightinstsmax-maint.htm http://www.b737.org.uk/flightinstsmax-maint.htm https://www.teledynecontrols.com/en-us/Product%20Brochures/Teledyne%20NFS%20Brochure.pdf https://www.teledynecontrols.com/en-us/Product%20Brochures/T...
- Torpenn 2y agoNo this is a common rule in industry in particular. The more components you add a component into to a defined system (excepted for redundancy purpose), the higher the probability of failure. This is exactly why Toyota provides tier A car in term of reliabily and majority of European / US car full of failures by adding a lot of useless gadget.
- solid_fuel 2y agoI use FreeBSD for my home server and I have for years. For me, the biggest reason is just the stability from a user perspective. I don't mean system stability, although it has been rock solid, I mean the stability in terms of administration - the tools don't change frequently. `ifconfig` just works, like it has worked for 20 years. On my linux servers, it's all swallowed into `ip addr` now. I don't mind that, I certainly understand why these things change, but when I update an Ubuntu server I always worry that next time I log in a tool I am used to will be broken or removed. I simply don't have those concerns on FreeBSD.
- mistrial9 2y ago> like it has worked for 20 years .. almost forty years
- red-iron-pine 2y agoman you're making me feel old. those kids on my lawn are pissing me off tho...
- avhception 2y agoThis is one of the reasons I run FreeBSD as well, I wanted to get away from the ever-changing Docker, docker-compose, docker compose and all that stuff. The jail system has it's warts and at times can seem a little unpolished, but alt least I know that the workarounds and automation I have set up for my home server is mostly "done".
- fulafel 2y agoLinux still has ifconfig, it doesn't support all the new features but maybe this use case doesn't need them. (Also the "ip" command from iproute2 came around in the last millenium, no?)
- solid_fuel 2y agoIt "still has" ifconfig in the sense that you can install the 'net-tools' package which contains it and then use it, yes. However ifconfig is not included in base ubuntu installs and hasn't been since 18.04. It's marked as deprecated now. There isn't anything specific that ifconfig can do that "ip" doesn't -- except I have 20 years of muscle memory for ifconfig and zero for "ip". That's my frustration. When I'm at home, just trying to set up Plex or debug a networking issue, and all I need to do is get my current IP address, the last thing I want to do is spend time learning a new interface that isn't necessary. Again, this isn't really a complaint about the tools - I'm sure that "ip" is great and has more features and etc. But hosting on Linux feels like this about everything. Logs, services, networking, user configuration - the management tools for all these things have been changing quite fast, and in ways that can be hard to follow. I'm not on the Kernel or Debian mailing lists and I don't think I should need to be to understand how to configure the network on ubuntu 20.04 vs 18.04. When I need to look up user management on BSD, I just look at the handbook. It's up-to-date and informative. Meanwhile in the Linux world these things change so fast that wiki articles from 2 years ago are often useless.
- giantrobot 2y agoI have tried several times to run FreeBSD on my home servers and every single time it fails to boot let alone run. Each happily runs Linux (with ZFS) all day long with no issues. I know the project is smaller in scope and has less funding than Linux (distros and subprojects included) but it's kind of ridiculous. It's incredibly frustrating to set aside the time to set up a machine only to have the kernel panic half way through booting the install media. From there it's an annoying and exhausting yak shaving exercise just trying to get the machine to start. Eventually I just give up and put the latest Ubuntu LTS which boots and installs with no problems. I import my ZFS pool and everything just hum along. I cut my Unix teeth on FreeBSD 3 and 4. I want to use modern FreeBSD but it never seems to run on hardware I actually own. That's why I don't run FreeBSD on my home servers.
- nisa 2y agoI've also found hardware support lacking. In my case SATA controller threw errors on FreeBSD and worked fine in Linux. It's something that's impossible for FreeBSD through because Linux has much more drivers, testers and eyes for exotic hardware. However there exist hardware compatibility lists and most common hardware is supported very well.
- indemnity 2y agoI really wanted to run FreeBSD for my home NUC firewall/router as I like the pf syntax, but had to give up in the end because it couldn’t drive the USB Ethernet adapter at 1 full Gbps speeds, whereas Linux had no problem with the same devices, so NixOS it is. With the switch of TrueNAS to Linux, I have no more BSD at home, unfortunately.
- int_19h 2y agoI have a machine which cannot boot neither Ubuntu nor Fedora, and nobody online seems to know why. Hardware support can be like that.
- okanat 2y agoTL;DR "the major component that is primarily made to make managing servers and services easier and providing good journalling on Linux, systemd, makes me uncomfortable." which is quite the litmus test for stubborn sysadmin that didn't deploy anything remotely complex. I'm on the opposite camp. If FreeBSD can provide a systemd-like service and device management software, then I would switch to it.
- LargoLasskhyfv 2y agoWould https://jdebp.uk/Softwares/nosh/ https://jdebp.uk/Softwares/nosh/ suffice?
- flas9sd 2y agocome for the reminder to try FreeBSD some time again, read light systemd bashing (can't be harmed at that point), stay for managing Jails backup through.. NocoDB :) Stunning travel photography btw!
- deleted 2y ago[deleted]
- Torpenn 2y agoWow OP there, I didn't think anyone would pass by my random blog and post the link here .... I'm surprised at the number of comments for a post that was originally there just to feed my blog with a first page and provide a bit of content. Especially for an article that I feel is barely finished and needs a lot of updating.
- mzs 2y agoThanks for https://aumont.fr/posts/Jails-backup-nocodb/ https://aumont.fr/posts/Jails-backup-nocodb/ too
- xiaoyu2006 2y agoIt's a fun write-up. After reading it I am feeling spinning up a FreeBSD for run now.
- deleted 2y ago[deleted]
- KronisLV 2y ago> The biggest issue with FreeBSD : The very bad habbit of developper to deploy OpenSource software only with Docker Holy smokes, that's quite biased! Good on the author for having strong beliefs, but in my eyes containers avoid entire categories of problems, like: https://blog.kronis.dev/user/pages/blog/oracle-jdk-and-openjdk-compatibility-is-broken/jdk-testing-comparison.jpg https://blog.kronis.dev/user/pages/blog/oracle-jdk-and-openj... (request processing times for a random system at work ages ago under load tests, it ran passably in OpenJDK, whereas running with the Oracle JDK resulted in an order of magnitude worse performance, this was before containers were introduced in the project; guess which vendor's version was installed in prod without telling us about it) It was an old post, but sometimes there's configurations that do break in mysterious ways when the dependencies and the runtime environments aren't matched exactly to what was developed/tested against; see the whole reproducible software movement, can have good install scripts and other tools to help even without containers, but good luck managing the support matrix of a bunch of separate *nix distros and OSes, as well as having testing environments for those. Not even that much of an enterprise concern. We shouldn't need containers for everything, but there aren't that many other good options for packaging software. > There is a new fashion on the OpenSource world. Developpers think Docker is the new de-facto standard and only propose to install the tools with Docker. It shouldn't be the only way, but I'll take Docker over random shell scripts and the ability to easily launch software and then later tear it down without messing up my host OS or having to mess around with VMs. Tbh, I do kind of wish that Vagrant had caught on more. > Most of the time they do no provide any DOCUMENTATION to install their software in a baremetal way. > At best, they offer an .rpm or .deb package for installation on a non-docker OS. But most of the time it's a docker file. The Dockerfile is more or less living documentation, which is better than having a source code repo with nothing but obviously worse than someone taking the time of the day to write some guides or docs. Then again, if it's FOSS devs, then I'll take anything over nothing, given how much time they (don't) have. > Even worse, modern applications often deploy the code and database needed to run the code directly in the docker compose file. Deploying DBs or even multiple separate apps within a single container is pretty much an anti-pattern (anyone who has needed to decipher what happens inside of a GitLab Omnibus image, or update the Sonatype Nexus image from the embedded OrientDB to PostgreSQL probably understands the pain) and should be avoided, maybe save for rare cases like a web server with PHP-FPM (maybe with supervisord) if you really need to, or for the lazy/testing setups that will ultimately be a mess to maintain. Edit: however if the complaint is literally just about having a Docker Compose file which contains a self-contained DB container, then it's up to you to decide whether you want or don't want to use it, or reference another DB running on the host or elsewhere (e.g. host.docker.internal or equivalent). It doesn't take much work to comment out a block. > At what point did these people think it was relevant to run 10 different databases when I'm hosting 10 applications ? You don't have to. You could have a single PostgreSQL or MariaDB/MySQL instance that just has multiple users and DBs/schemas. I honestly prefer the more distributed setup because I now can move software across servers trivially and can update the versions as I please and when something misbehaves, the impact is limited (because you can set CPU/RAM limits, easier than with cgroups). Good for the author for enjoying FreeBSD, it's a pretty cool OS and feels more like it's "designed" instead of the more organic feel of how Linux distros work. But I reject the motionally charged language and stance.
- briandear 2y agoCurious what “home servers” are really for. I’ve gone decades without needing a home server — what am I missing out on?
- philjohn 2y agoMine 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 2y agoOn 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.
- indemnity 2y agoI have a few use cases and a few servers for them: My router/firewall is a NUC PC plugged straight into the fibre ONT. It also runs DHCP and DNS (both my home zone and acting as a caching resolver with a huge cache for the wider internet which means really snappy DNS lookups compared to using ISP servers). My NAS is an eight core server with 64GB ECC ram running a ZFS pool with 8 12TB WD Red Pro drives for storing my collection of curated Linux ISOs, running TrueNAS SCALE, running always-on services inside containers: - PostgreSQL for a bunch of personal project databases - TeslaMate collecting data from our EVs into the PostgreSQL database - Plex for serving up media to the Apple TV - Tailscale exit node so I can access my home network on the go - Step CA for managing my personal certificate authority used to issue everything I want to have TLS for with a certificate easily (LetsEncrypt doesn’t work for private network servers) - Tarsnap for periodically backing up all data, documents and configuration I really do not want to lose - UniFi controller managing my UniFi APs (four of them) I’m sure I will have more use cases in the future, but it’s really handy to have always running infrastructure and storage at home you can rely on! And I don’t spend much time tinkering with it now that it’s set up, it’s just maintenance mode. From time to time I adjust a few configs or upgrade a hardware component here and there but it’s been stable like this for years (apart from the TrueNAS CORE to SCALE migration which was a bit of a shitshow due to moving from FreeBSD to Linux, had to rebuild all jails into Docker containers).
- whalesalad 2y agoI 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?
- toast0 2y ago> 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 2y ago
- dangus 2y agoJust 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 2y agosystemd is indeed awesome. i'd rather kms than go back to maintaining init.d scripts.
- PhilipRoman 2y agoThe classic init.d scripts with start/stop functions and pidfiles are awful indeed. I cannot comprehend why they didn't use the openrc approach, which actually looks a lot like systemd, except it's a bunch of shell variables. The root problem is programs that insist on daemonizing themselves. Systemd solves this with the brute force of cgroups. The way I see it, other init systems had 20 years to come up with a reliable model, but they didn't, and as is usual in FOSS, whoever actually writes the damn thing, decides how it looks.
- throw0101d 2y ago> 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 2y agoBut 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.
- asveikau 2y agoZFS 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.
- fragmede 2y agowhen do you use samba and when do you use nfsd? any iscsi?
- asveikau 2y agoI mainly use NFS. SMB I typically use from Windows or Android. (The latter with the app "andsmb") iSCSI is block layer so I don't find it very useful.
- commandersaki 2y agoGot sick of doing ZFS on Arch Linux and lagging behind on new kernel releases. Switched to bcachefs (only for my laptop) which has the trifecta of data and metadata checksumming, compression, and encryption. It's also just simpler to use.
- 0x457 2y ago> 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.
- nine_k 2y agoIf 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.
- m463 2y agoTo me arch linux is the middle ground between a too-much-complexity "fat" distribution like ubuntu or debian and a-minimal-but-eclectic-freebsd. the arch wiki is VERY comprehensive, linux has a huge community, and arch forced you to understand much just by stepping through the installation process.
- osn9363739 2y agoarch (or any rolling release) on a home server doesn't sound like a good idea?
- packetlost 2y agoif you actually run updates regularly (which you should anyways) it's fine. I did it for years until I switched to NixOS.
- twelvedogs 2y agoyeah, this was my main annoyance with it, i don't log into my server for months at a time so i wanted something without constant updates but other than that it was fine.
- wltr 2y agoI update one of my servers once a year or even longer, and it’s still doing fine with Arch.
- csdvrx 2y agoThe 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
- toast0 2y ago> 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.
- braincat31415 2y agoI went back to Devuan and sysvinit for a peace of mind. Systemd works until it does not. The final straw for me were randomly missing NFS mounts after booting to multiuser. I was not able to find the fix, and the good folks on debian forums, while acknowledging the problem, could not help either.
- Gud 2y agoWhat tools are missing from FreeBSD? Regarding your example with "eth0:0" Is not how you do things in FreeBSD. There is no "eth0" at all. You use ifconfig xy0 alias. https://man.freebsd.org/cgi/man.cgi?query=ifconfig&apropos=0&sektion=8&manpath=FreeBSD+14.2-RELEASE&arch=default&format=html https://man.freebsd.org/cgi/man.cgi?query=ifconfig&apropos=0...
- rollcat 2y agoI 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.
- lstodd 2y ago> 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.
- throwaway2037 2y ago> actual man pages What is wrong with Linux man pages?
- 2y ago
- znpy 2y ago> 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 2y agoThey merged with openzfs to maintain a common base so Linux didn't venture off on its own, not because they couldn't keep up.
- badgersnake 2y agoBut 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.
- znpy 2y agoThat's only partially true. The license is "compatible" enough to be shipped by distributions rather than kernel. AFAIK, the thing is: no one has seriously decided to test the license compatibility (as in, test it in court) and everybody's essentially scared of Oracle dragging them through endless legal litigation. Oracle owns most/all the IP that came from Sun Microsystems and while ZFS/OpenZFS is CDDL licensed... Who wants to spend millions in legal fees to find out? Canonical did (still does?) ship OpenZFS with Ubuntu but maybe they're not big enough for Oracle to go after them (who knows? the lawnmower works in misterious ways).
- mekster 2y agoMy zfs never broke under Ubuntu and installation is easy by installing 1 package.
- badgersnake 2y agoLucky you
- 2y ago
- lunarlull 2y agoAlpine, 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.
- deleted 2y ago[deleted]
- cf100clunk 2y agoTo 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 2y agoI 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 2y agoCan you enumerate why ports/pkg is better than any package manager on Linux?
- avhception 2y agoThe first two are the exact reason I run FreeBSD on my home servers, too.
- aeblyve 2y agoCheap Complexity. https://www.schneier.com/blog/archives/2022/08/security-and-cheap-complexity.html 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.
- lillecarl 2y agoI started reading but stopped as soon as it was a systemd rant. systemd, while not for everyone is a good for most people.
- danpalmer 2y agoVery well put. I can see how if you learnt Linux before systemd, it may feel like a regression in some ways, but for anyone learning Linux after systemd it's somewhat impenetrable to use anything else. Systemd successfully "productised" and canonicalised what appears to have only really been a bunch of loose conventions beforehand (e.g. sysvinit, not sure I've never seen scripts from different authors work completely the same).
- M95D 2y ago> systemd, while not for everyone is a good for most people Are you really sure? systemd is a tool that automates system configuration with no interaction from the user, and it does it in such a way that the user doesn't have to know how the system works, then the user doesn't want to know, and then no longer actually knows. When that happens, the user can't make any political decisions about his/her system, the "system" account gets to have higher privileges than "Administrator", the user is no longer the owner of the OS, can't control what the system does, not even what it does with his/her personal data, and finally we all turn into uneducated mindless drones. Oh, wait, we're already there. How did that happen? Great for company computers ; very bad for users.
- lillecarl 2y agoI'm 100% certain, you're regurgitating the typical anti-systemd shill that hates into a future where we might be so lucky that Linux users don't need to know anything about their init system. That day is a good day for Linux users if it happens. I don't think not knowing all of what systemd does will turn Linux users into mindless drones and it's quite dismissive to take that stance, these are users that chose another OS for their out of their own free will.
- M95D 2y ago
- npodbielski 2y agoThought 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.
- Gud 2y agoWhat makes you think you have to spend "a few hours every week" to keep a FreeBSD setup up and running? I have pretty much every server running from web server to mail server and I don't spend "a few hours" per YEAR to keep it running. about once a week I run a pkg update, pkg upgrade and service x reload in each jail to update the software and 99.9% of the time it works smoothly.It really doesn't get much simpler than that. This could also be done with cron like in your example, but I don't think automating updates is such a great idea. I think updates should be monitored. I have a lot of confidence in the nginx/postfix/dovecot/etc developers ability to develop professional software. FWIW I am also not a sysadmin.
- npodbielski 2y agoI think you reading to much into my comment. I did not meant that specifically FreeBsd needs an extra attention. What I meant is that dockerizing your applications (which author of article seems to have a problem with) is easier from that point of view. There is no need to provide a package for each distribution or OS you want to support. You can bundle all the necessary dependencies if there are any (like i.e. databases which author provide as an example of unnecessary redundancy). There are solutions for web managing docker containers and stacks like Portainer, Taisun, Yacht and probably more I am not aware of. You have Watchtower and Diun for update notifications. So it is simpler for developers and partially for an user. Maybe there are similar solutions for FreeBsd package manager, but this is only for FreeBsd. With docker it should work on every environment that can run docker. So again it is simpler. You can run your services without docker and sometimes it is easier without it (i.e. running DLNA server) still, I would not want to run my email server as nginx/postfix/dovecot/sogo/mysql as separate services that I need to separately install, configure and update. There are dockerized solutions for that that exists already that you can start and run with docker + some DNS config. It is just easier. If you are fine with your stack on FreeBsd it is totally fine, but there is a reason why less, or non-technical people are running commercial NAS devices like Synology. Because it is easier. And there is a reason why non-technical people are using Google Drive and iCloud for their needs like files sync, backups and email instead of running their own mail server and NAS: because it is easier. So I do not have anything against FreeBsd and their native packages. But you wrote yourself: > about once a week I run a pkg update, pkg upgrade and service x reload in each jail to update the software and 99.9% of the time it works smoothly. It really doesn't get much simpler than that. Yes it does: web or phone app management. Why you have an app for every silly smart devices people are buying (like i.e. smart fridge or smart dishwasher)? Because it is easier for ordinary people. Samsung and LG do not make CLI for those to manage those devices via SSH. Maybe it would be even easier, once you are familiar with that, but people are not. Try to explain your hairdresser or plumber what is FreeBsd, pkg, jails and services. > This could also be done with cron like in your example, but I don't think automating updates is such a great idea. I think updates should be monitored. Which is exactly why I wrote that I, personally, do not want to spend few hours every week to upgrade and monitor upgrade process of all my devices. Especially since those are used by my family and I do not want to update them during a day, because they will be complaining that they can't use something. And I do not want to do that at night because I want to sleep. I you have nice solution for running 10 or 20 applications on FreeBsd, with very easy and quick update and backup process for them, please write about it. My solution takes about 2 hours every day for 4 devices and about 6 hours of update and backup - every day. But sending about of 2TB of data backups (even incremental) must take some time. So, again, I agree with an author with few points but in an essence, I do not agree. I does not matter if you use FreeBsd, or Ubuntu or Debian or UnRaid for your self hosting needs. We need simpler solutions for self hosting for ordinary people.
- doublerabbit 2y agoLinus 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 https://bsd-hardware.info/?probe=b7f27b9528
- MattTheRealOne 2y agoUbuntu pushes Snap. Flatpak is the open platform that nearly every other distribution uses.
- Klonoar 2y agoWifi? You mean the thing where people often resort to running a Linux VM to handle it?
- doublerabbit 2y agoI 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 2y ago> 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 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-support-and-usability-project-update/ https://freebsdfoundation.org/blog/january-2025-laptop-suppo...
- DrNosferatu 2y agoDoes it support GPU computing?
- waynesonfire 2y agoSwitched to FreeBSD at home as well and it was such a wonderful decision. As a long time Linux user, what was unexpected and eye-opening was seeing how FreeBSD does things. Somethings better and somethings worse. The better things are WAAYY better. And, for many of those things that felt better, in summary it's really the culmination of the entire ecosystem. The whole package is just better to me. The cohesive system is really a killer app. Oh, and pf is great too. I havn't given up on linux; it's just running as a VM in bhyve now. I also run Freebsd on a Thinkpad T490 laptop. Works great.