considering switching from linux to bsd reddit / BSD ---------------------------------------------------------------------- jan_Willow · 2023-09-01 17:51 ive been using linux for about a year now, and i was wondering about the bsd operating systems. what are some of the pros and cons with using bsd over linux? thank you for any information yall provide ---------------------------------------------------------------------- whattteva · 2023-09-01 19:04 * Sane directory hierarchy and clear distinction of base vs third- party. All your base tools are in /bin /etc /sbin etc. while your third-party stuff are all in /usr/local/bin /usr/local/sbin /usr/local/etc * You don't have to constantly relearn stuff cause the wheels aren't constantly being reinvented (ie. ifconfig -> ip, netstat -> ss, systemd, pulseaudio, etc.) * Choice of 3 different firewalls depending on which BSD you decide on (IPF, IPFilter, pf). My personal choice is pf and the syntax is a lot saner than iptables IMO. * Depending on the BSD you choose, they have different focuses. * NetBSD: Focus on running on as many architectures as possible. Want to run on a toaster? You can probably do it. * OpenBSD: Secure by default. Security-centric and creator of a lot of security-focused software like SSH, libreSSL, doas, etc. Heavy focus on code-correctness. * FreeBSD: Kinda' like the generalist and the highest install base. It's the one I personally use due to having the biggest selection of packages in the ports tree. I also love the jails feature (FreeBSD's container technology long before the term container was even coined). Has probably the best TCP/IP stack out of all the OS's I know of and heavily used by Netflix for this reason. First-class citizen support for ZFS (unlike in Linux) and as such has niceties like Boot environments for virtually risk-free upgrades. Also has superior memory allocator for ZFS ARC allowing full use of your RAM. * Great documentation. FreeBSD has the handbooks while OpenBSD has probably the best-maintained man pages. Not sure about NetBSD. Those are the ones I can think off the top of my head. Obviously, this is skewed towards FreeBSD as that's the one I have the most experience with. You can refer to this [link](https://vermaden.wordpress.com/2020/09/07/quare-freebsd/) for more on FreeBSD. ---------------------------------------------------------------------- well_shoothed · 2023-09-01 19:36 The biggest difference you'll notice with OpenBSD are: - everything in the base system just works - documentation is complete and is meaningful - base config files are sane, standardized, and all in one place - useful tools like ```traceroute``` are included by default Imagine all the shit you hate about Linux. Dump that. Now make everything consistent and functional. Welcome to OpenBSD. ---------------------------------------------------------------------- gumnos · 2023-09-01 20:04 definitely all of the above. Especially the reinventing item. In addition: - I like the simplicity of jails vs. the morass of LXC, containers, cgroups, chroots, docker images, flatpacks/snaps/appimages, and other virtualization/containerization stuff going on in the Linux world - once you've experienced ZFS and boot-environments, it's hard to go back to a lesser filesystem. Instant snapshots & cloning, transparent compression and encryption, checksumming and self-healing, send/receive (far more efficient than `rsync`), no need to deal with partition-resizing, quotas and reservations…all much easier (and faster) than any other file-system I've used. Over on the OpenBSD side (which I run on several laptops and a VPS), I like the integrated feel and out-of-the-box nature and the security- mindset, making it easy to do the Right Thing™. /u/whattteva mentioned `pf` and its readable config. I find that OpenSMTPD has a similar cut-through-the-cruft of other MTAs, providing what I need with an exceptionally clean syntax. And the integration of `httpd`, `relayd`, and `acme-client` (all available out-of-the-box) makes it much easier to get HTTPS up and running (their config syntax is similarly pleasant, too). Having X available with a pre-installed window-manager that suits most of my needs (`cwm`) is just an added bonus (yeah, I get that most Linuxen give you a pre-installed desktop/GUI, but my tastes don't usually align as much). ---------------------------------------------------------------------- xevz · 2023-09-01 20:33 > You don't have to constantly relearn stuff cause the wheels aren't constantly being reinvented (ie. ifconfig -> ip, netstat -> ss, systemd, pulseaudio, etc.) While I do agree with it in some part (except `iproute2` being way older than most people know), FreeBSD kinda did go that very same route when they introduced [pw](https://man.freebsd.org/cgi/man.cgi?pw(8)) over the `user*` and `group*` commands. No such issues with OpenBSD though. :) ---------------------------------------------------------------------- eliasgriffin · 2023-09-01 21:04 I've been discovering all the BSD's myself lately since I've discovered that Linux is a $100 Billion dollar Eco-System driven by a Global Mega-Corp Consortium. https://www.reddit.com/r/openbsd/comments/164dl2y/comment/jy9etds/?utm _source=share&utm_medium=web2x&context=3 Here are the advantages of BSD over Linux: * Community Driven, you have a voice to be heard. * You are in control of everything about your system. * Linux is currently at [34 million LOC](https://www.phoronix.com/news/AMD-5-Million-Lines) and unwieldy for someone who wants to know what exactly is going on with their entire system, understanding all component function and component interactions, with a base default of no non-free software. * For almost any task, BSD is straight forward, single minded, purpose driven, lightweight dependencies, less "overhead", and is extremely stable. [That Old NetBSD Server, Running Since 2010](https://it- notes.dragas.net/2023/08/27/that-old-netbsd-server-running- since-2010/) * Kernel Security you can easily manage yourself. I write security scripts and change a fundamental part of kernel security is as simple as adding to /boot/loader.conf `kern.securelevel=1` or `kern.elf64.allow_wx=0` as well as the availability of HardenedBSD.org * Speedy on older hardware I'd also like to show some love to [GhostBSD](https://www.ghostbsd.org/) and [DragonFly BSD](https://www.dragonflybsd.org/). Although each are based on FreeBSD they each bring unique incredible value to the BSD Eco-System. The Desktop oriented GhostBSD installer was amazingly fast and accurate, a Linux Mint like experience, except more elegant. It recognized everything on my Thinkpad T495 I picked up for $250. Everything was ready to use when I logged in, no configuration needed, and fast. DragonFly is by far and away the fastest BSD. In my testing it compiled some things in half the time of FreeBSD, a quarter of the time of OpenBSD (the slowest of BSDs). DragonFly with the HAMMER2 filesystem copies from my USB drive faster than my Macbook Pro! It would make a fantastic developer workstation. It's just as fast and capable coding in [Spacemacs](https://www.spacemacs.org/) on DF as it is on my MBP with VScode, even being $2000 cheaper. ---------------------------------------------------------------------- jan_Willow · 2023-09-01 21:39 my biggest worry is loosing access to some things, such as gaming, and my art stuff. gaming on linux isnt great but it suits my use cases. also my drawing tablet is a huion and i have a couple art programs i use. so i guess my question is: how is game compatibility, and how well do things like wine run ---------------------------------------------------------------------- whattteva · 2023-09-01 21:49 Well, I suppose I'd have to agree with pw, but not sure why you mention the firewalls. All 3 are supported equally and merely coexist to give you options. That being said, that is still far less disruptive vs what Linux likes to do with things like systemd and pulseaudio. ---------------------------------------------------------------------- swhizzle · 2023-09-01 22:35 Gaming on Linux will be a lot simpler with a huge amount of supported games (I never thought I’d be saying this in my life). “DXVK” and custom proton versions of wine are to thank for this. The handbook has this to say: > The dxvk project, which is an attempt to implement DirectX using the FreeBSD-compatible Vulkan graphics sub-system, is one such. Although its primary target is WINE on Linux, some FreeBSD users report compiling and using dxvk. > In addition, work is under way on a wine-proton port. This will bring the work of Valve, developer of the Steam gaming platform, to FreeBSD. Proton is a distribution of WINE designed to allow many Windows® games to run on other operating systems with minimal setup. https://docs.freebsd.org/en/books/handbook/wine/#wine-on-os-faq So you might have some luck. It won’t be as easy as Linux, but things might catch up soon. ---------------------------------------------------------------------- Tall_Requirement7724 · 2023-09-02 01:08 Have a look at GhostBSD. It's built on FreeBSD and does a pretty good job, if you're interested in seeing what BSD can offer you it's a good place to start. I personally use openBSD, but have tried GhostBSD in the past and will say I enjoyed it. ---------------------------------------------------------------------- agrajag9 · 2023-09-02 05:51 Gaming on FreeBSD works _almost_ as well as Linux, but can take some tinkering. https://www.freshports.org/games/linux-steam-utils/ https://www.freshports.org/games/suyimazu/ The developers of both are very active in the #gaming channel of the FreeBSD Discord: https://wiki.freebsd.org/Discord For your art stuff, the Linuxulator feature is pretty spectacular, letting us run Linux binaries on top of FreeBSD - the linux-steam- utils port above uses this to run the Linux-native Steam client. It's also used by many to run Linux-native Chromium builds since Google refuses to port their WideVine DRM to FreeBSD and that's the only way to watch Netflix for us (the irony is not lost on any of us or even Netflix's own developers who hang out in the Discord as well) ---------------------------------------------------------------------- looneybooms · 2023-09-02 06:12 as ppl have said, download the isos for dragonfly, ghost bsd, maybe NomadBSD [https://nomadbsd.org/](https://nomadbsd.org/) for good measure (this one seems to have your particular wants in mind more than the others). You can write them all to a multiboot usb with yumi from pretty much any os. see if they boot, and see if they can make use of your peripherals. Those that boot but don't support your stuff doesn't mean they won't, it'll just be more work. I can't say I've ever had a drawpad to test. I have run fairly specialized software but I was always careful about selection of the chipsets they were built upon for maximum compatibility. the crucial thing for your video performance in wine, imho, will be what graphics card you have and if its driver can be well integrated into the kernel. many will disagree and say development is beyond that now. i doubt that; the differences between the aforementioned distributions are firstly the kernel and secondarily the included packages. once you compile your own kernel, the packages you compile yourself via the portstree will be optimized AF for you and your system, but all that is down the line. yumi your way to a few different bootable live isos is a good place to start without any commitments. ---------------------------------------------------------------------- sehnsuchtbsd · 2023-09-02 06:16 > NetBSD: Focus on running on as many architectures as possible. Want to run on a toaster? You can probably do it. This is not really NetBSD's project goal; at least it hasn't since the 90s. The belief somehow managed to survive to date fueling a common misconception among those who aren't familiar with it. While the project values abstraction, portability, and MD/MI code separation *a lot*, it's definitely not just about that. From https://www.netbsd.org/ ``` NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices. ``` As you can see being 'free, fast and secure' are equal if not more important than being 'highly portable'. Security in particular is kept quite in high regard and covers a significant amount of the work done developing and maintaining NetBSD. ---------------------------------------------------------------------- looneybooms · 2023-09-02 06:31 p.s. the mentions of good linux support involve simply adding LINUX\_COMPAT to your kernel, and/or newer methods described here [htt ps://docs.freebsd.org/en/books/handbook/linuxemu/](https://docs.freebs d.org/en/books/handbook/linuxemu/) ---------------------------------------------------------------------- whattteva · 2023-09-02 13:35 >This is not really NetBSD's project main goal; at least it hasn't been since the 90s. The belief of somehow managed to survive to date fueling a common misconception among those who aren't familiar with NetBSD. While the project values abstraction, portability, and MD/MI code separation a lot, it's definitely not just about that. While this may be true, I do think that the goal of portability is somewhat of a contradiction to one of the other goals and primarily the principle reason why OpenBSD split off from NetBSD. Portable code has a tendency to generate more code and more code is potential for more bugs (ie. exploits). I'm certainly not saying that a project can't have all 3 goals, but you do have to make tradeoffs at some point. Again, this disagreement led to OpenBSD splitting off from the NetBSD project. >httpd(8) isn't based on Apache. NetBSD has its own built-in httpd(8) too which I run on my personal web server. Thanks for this correction. ---------------------------------------------------------------------- jmcunx · 2023-09-02 17:14 > ortable code has a tendency to generate more code and more code is potential for more bugs (ie. exploits). For NetBSD I do not know how true this is. IIRC, NetBSD uses a hardware abstraction layer which makes porting very "easy". So if I understand that, it means there would not be a great deal of extra code. But the OP did not seem to start the use case, so it is hard to make help them to pick one. So, best for them to try all of them :) ---------------------------------------------------------------------- whattteva · 2023-09-02 18:45 >But the OP did not seem to state the use case, so it is hard to make help them to pick one. So, best for them to try all of them :) Haha, amen to that. I myself want to eventually get off my lazy butt to try NetBSD and Dragonfly. ---------------------------------------------------------------------- Plenty_Carpenter_114 · 2023-09-04 14:09 BSD is awesome as it was but Linux has come a long way. Much more ppl using Linux vs BSD. Prepare to feel hopeless and helpless a long the journey of BSD because of much smaller community and many often ask u to r fm GitHub projects don’t support BSD at all and u still need Linux. ---------------------------------------------------------------------- Playful-Hat3710 · 2023-09-09 18:10 NetBSD still has a way to go in documentation imo. But it's a much smaller project so I understand it's not as easy to provide documentation. Also smaller community and user base means there's less 3rd party resources that provide howto's or helpful tips for new users (think Vermaden for FreeBSD). ---------------------------------------------------------------------- delowan · 2023-09-13 23:31 After all that being said. If you want to stay on Linux, I would look at Slackware. It's the most "bsd-like" Linux distro (and the oldest). For my personal taste, I use Fedora, Slackware and FreeBSD. And the best book to learn BSD: https://nostarch.com/absfreebsd3 ---------------------------------------------------------------------- sehnsuchtbsd · 2023-09-19 06:28 Not seldom will [new] BSD users praise man pages (especially OpenBSD's) for being exhaustive and self-explanatory, and for allegedly representing their primary source of information. My experience suggests, however, that practically speaking most of these people would appreciate something like the Arch Linux wiki better; they will hardly look up man pages, but will search for blog posts and how-tos covering their problem, and start a thread on a forum if they find none. NetBSD documentation (wiki, guide) has been changing steadily in recent years, and there's ongoing work to bring everything in par with the latest changes. The docs are not really hand-holding and assume some background knowledge. Sometimes they're meant only as an introduction to a topic which is better covered elsewhere (in man pages). I learned my way through NetBSD years ago using man pages, and then started writing blog posts to show how to do this or that on NetBSD, because otherwise most people would have simply kept asking the same questions on the mailing lists. That said, some docs (the pkgsrc guide for example, and several wiki entries) are pretty good, providing an in-depth overview of the topic. ---------------------------------------------------------------------- Playful-Hat3710 · 2023-09-19 16:28 I agree with all of this really. A wiki or step by step tutorials on how to do certain things would be more helpful to people. FreeBSD handbook is good, but even then it's not perfect. FreeBSD foundation has tutorials but at times they're outdated. OpenBSD has great man pages imo, but I wonder how many people sit and read man pages in great detail. ---------------------------------------------------------------------- kkaos84 · 2023-10-24 03:42 I can second that. I was using FreeBSD on my desktop for a while before I decided I wanted to use Linux again. Went with Slackware because I found it to be like BSD, and SlackBuilds remind me of ports. Still using FreeBSD and pf on for my firewall server at home. Also running two jails on that server: an HTTP proxy and a small DNS service via unbound.