It’s clear to me that the author really likes FreeBSD but this comes across as preaching to the choir. There isn’t anything in the article that makes me want to switch to it.
How is it rock solid if you have to RTFM and fiddle a bunch of setting to get an FTP server to not need a reboot every 3 days?
Why are ports and pkg better than apt?
How are jails different than docker or chroots?
There were parts of the article that I found interesting like installing 3rd party packages to /use/local and the service handling through rc.conf but overall, I get the impression that running this OS requires reading a lot of documentation which is even more of a burden.
For me the vast documentation is actually a plus. With Linux, I often find answers for my questions at stackoverflow, whereas questions about FreeBSD can often be answered by reading the handbook. I’m not saying one is better than the other, but for me learning about FreeBSD by reading the handbook was an interesting experience. I’m only using it on my home server, though.
How often do you find yourself googling “ Linux”? That’s a problem you get far less on OpenBSD and FreeBSD because of the quality of the documentation on these projects.
Maybe, but >90% of the documentation I read has nothing to do with the OS itself, but more what I use/deploy on top of an OS. So, unless you are working in a domain (e.g. routers) where the OS suffices, you are mostly reading third-party documentation anyway. And for third-party software it is often much easier to find support for Linux.
That said, every Linux user should envy BSD man pages, especially OpenBSD man pages.
What is the usability tradeoff between Docker and Jails?
In what ways (if at all) can users contribute their own ports and make them available to other users?
How is BSD for gaming these days?
These are genuine questions because I have pretty little clue about the BSD world. Would be cool if somebody with experience could share some insight. :)
In what ways (if at all) can users contribute their own ports and make them available to other users?
There’s not terribly good tooling for unofficial ports. They can be done, and have been done, but generally this will take the form of a whole alternate ports tree with a couple of changes.
How is BSD for gaming these days?
The main person working on this is myfreeweb (actually, I think he uses lobsters, so maybe he can say better than I can)–see here. The answer is ‘not great’, but also close to ‘quite good’. There is excellent driver support for nvidia and AMD GPUs. You can run most emulators natively. However, if you want to use wine, you will probably have to compile it yourself, because the versions in ports come in 32-bit-only and 64-bit-only varieties (no, they can’t co-exist), and you almost certainly want the version that can run both 32-bit and 64-bit apps. There is a linux emulator, but it can’t run steam (I did some work to try to get it running a while back, but it needs some work on the kernel side, which is too much commitment so I gave up on it), limiting its usefulness.
Thanks! Do you know if there’s an easier way to contribute to the handbook than to write suggestions to the mailing list? Do you know if small user-to-user tips (for instance for rather specific hardware fixes) are allowed on the handbook? If not, where would those end up?
@myfreeweb tags them with an email notification. If you’re replying to that person, leave off the @ so they don’t get hit with two emails for reply and @ mention notifications.
I’m not really working on gaming all that much, the last really “gaming” thing I did was a RetroArch update (that still didn’t land in upstream ports…) For gaming, I usually just reboot into Windows.
I’d say the biggest effort is being undertaken by the openbsd_gaming community. A good starting point is
the subreddit,
then you can follow the most active members on Twitter or Mastodon to get more updates
I’ve found building packages for the ports that I want, the way that I want and then installing/upgrading them with pkg is a much smoother experience than trying to install directly from ports and then upgrade using one of the ports management tools.
Thanks for the answer. You seem quite knowledgeable. How do people share build scripts for software that may not be shipped in binary form but that you can build yourself locally if you have the data? I’m thinking about some NVIDIA projects (like OptiX) or some games. Basically, is there an AUR for FreeBSD anywhere? I checked your links and obviously ports can be shared amongst users but I’m just curious whether there’s an index for those user-contributed ports anywhere.
I don’t know of anything similar in the BSD world. At the least-automatically-shared end, people write software that works on the BSD’s and distribute it with instructions on what it needs. At the most-automatically-shared end, people contribute “ports” to the FreeBSD Ports tree. Automation oriented folks like me end up with their own collection of ports that explicitly rely on the FreeBSD Ports tree. I don’t know of anything that formalizes either the discovery of, or dependence on, other people’s personal ports. It hasn’t ever been an issue for me.
I ran into a thing just yesterday - jails (can) get an IP of their own, which seems to be automatically added to the host’s interface, but they do not (and afaik cannot) get their own MAC. This is FreeNAS for me (with iocage) and this is a little annoying because my fritzbox router seems to have a problem with port forwards now. But maybe I’m wrong and just haven’t solved in properly.
In this case with docker at least would be possible to just use PORTS/EXPOSE and use the host’s main ip.
Apart from that I’ve never encountered problems with jails and found them really smooth to work with.
You can give a jail a whole virtual network interface (epair/vnet) and then bridge it or whatever. You can also just use the host’s networking if you don’t need to isolate networking at all for that jail.
thanks, that’s a good term to search for. I’m just a little surprised it (suddenly) doesn’t work anymore in my setup. My research so far has proven inconclusive with a lot of people saying that it can’t be done (in version X)
Nice overview of FreeBSD. I ran it on both server and desktop for most of the early 2000’s. We used jails to host a bunch of websites and mail servers. Jails were not easy to implement at the time and came with a few caveats. (I would have much rather seen FreeBSD, with its significant UNIX heritage, lead the recent containerization movement.)
But in spite of how neat I think FreeBSD is, Linux just became easier to manage thanks to wider vendor and hardware support so it’s what I’ve been working with for at least the last 15 years. Linux then, and even moreso now, also has the advantage of an extremely wide community: it was almost impossible for you to run into a problem that no one else has found first and then blogged about it. With FreeBSD, the only real place to ask a question was on one of the mailing lists. While there were a lot of people willing to help, there were also a few grouches there with a distinct RTFM-and-don’t-bother-me attitude. Hopefully things are better these days.
FreeBSD sets the kernel and the base system apart from third party packages. This is unique to FreeBSD and none of the other BSDs do that. I have always loved this about FreeBSD, but unfortunately (in my humble opinion) this has been changing since 2016.
I haven’t been paying much attention, can anyone summarize exactly what this is all about? Back when I used it, you just had the base system (kernel, userland, and a few third-party deps like gcc) and ports. What’s been changing?
EDIT: I read some of the author’s other posts and like a lot of people in the BSD community, unfortunately, there’s more than a little anti-Linux sentiment. “Linux is fragmented, Torvalds is a jerk, etc.” This holier-than-thou attitude is one of the things that turned me away from the FreeBSD community. FreeBSD isn’t “better” than Linux. They just have different cultures and different strengths and weaknesses.
Over the years I have tried 3 times to install FreeBSD on different ThinkPads via CD or USB stick. It never even booted. On the same hardware, every Linux distro I ever tried worked pretty much out of the box.
Some ThinkPads are known problematic due to a bios bug causing problems with booting GPT-formatted disks, there exists a fix for this which I know that NomadBSD includes out of the box (and it’s USB bootable).
https://nomadbsd.org/- “The GPT layout has been changed to MBR. This prevents problems with Lenovo systems that refuse to boot from GPT if “lenovofix” is not set, and systems that hang on boot if “lenovofix” is set.”
Weird. I certainly don’t share that experience, especially not on Thinkpad’s. Every BSD (or Linux) distribution I throw at it just works, provided I formatted the USB drive correctly (using the instructions from their installation pages).
It’s clear to me that the author really likes FreeBSD but this comes across as preaching to the choir. There isn’t anything in the article that makes me want to switch to it.
There were parts of the article that I found interesting like installing 3rd party packages to /use/local and the service handling through rc.conf but overall, I get the impression that running this OS requires reading a lot of documentation which is even more of a burden.
For me the vast documentation is actually a plus. With Linux, I often find answers for my questions at stackoverflow, whereas questions about FreeBSD can often be answered by reading the handbook. I’m not saying one is better than the other, but for me learning about FreeBSD by reading the handbook was an interesting experience. I’m only using it on my home server, though.
How often do you find yourself googling “ Linux”? That’s a problem you get far less on OpenBSD and FreeBSD because of the quality of the documentation on these projects.
Maybe, but >90% of the documentation I read has nothing to do with the OS itself, but more what I use/deploy on top of an OS. So, unless you are working in a domain (e.g. routers) where the OS suffices, you are mostly reading third-party documentation anyway. And for third-party software it is often much easier to find support for Linux.
That said, every Linux user should envy BSD man pages, especially OpenBSD man pages.
This might be a good place to ask:
These are genuine questions because I have pretty little clue about the BSD world. Would be cool if somebody with experience could share some insight. :)
The handbook (which, incidentally, is very good).
There’s not terribly good tooling for unofficial ports. They can be done, and have been done, but generally this will take the form of a whole alternate ports tree with a couple of changes.
The main person working on this is myfreeweb (actually, I think he uses lobsters, so maybe he can say better than I can)–see here. The answer is ‘not great’, but also close to ‘quite good’. There is excellent driver support for nvidia and AMD GPUs. You can run most emulators natively. However, if you want to use wine, you will probably have to compile it yourself, because the versions in ports come in 32-bit-only and 64-bit-only varieties (no, they can’t co-exist), and you almost certainly want the version that can run both 32-bit and 64-bit apps. There is a linux emulator, but it can’t run steam (I did some work to try to get it running a while back, but it needs some work on the kernel side, which is too much commitment so I gave up on it), limiting its usefulness.
Thanks! Do you know if there’s an easier way to contribute to the handbook than to write suggestions to the mailing list? Do you know if small user-to-user tips (for instance for rather specific hardware fixes) are allowed on the handbook? If not, where would those end up?
@myfreeweb tags them with an email notification. If you’re replying to that person, leave off the @ so they don’t get hit with two emails for reply and @ mention notifications.
I’m not really working on gaming all that much, the last really “gaming” thing I did was a RetroArch update (that still didn’t land in upstream ports…) For gaming, I usually just reboot into Windows.
I’d say the biggest effort is being undertaken by the
openbsd_gaming
community. A good starting point is the subreddit, then you can follow the most active members on Twitter or Mastodon to get more updatesI’ve found building packages for the ports that I want, the way that I want and then installing/upgrading them with
pkg
is a much smoother experience than trying to install directly from ports and then upgrade using one of the ports management tools.Thanks for the answer. You seem quite knowledgeable. How do people share build scripts for software that may not be shipped in binary form but that you can build yourself locally if you have the data? I’m thinking about some NVIDIA projects (like OptiX) or some games. Basically, is there an AUR for FreeBSD anywhere? I checked your links and obviously ports can be shared amongst users but I’m just curious whether there’s an index for those user-contributed ports anywhere.
Sorry for the delay, missed your reply/question.
I’m not familiar with AUR, but assume you mean the Archlinux User Repository.
I don’t know of anything similar in the BSD world. At the least-automatically-shared end, people write software that works on the BSD’s and distribute it with instructions on what it needs. At the most-automatically-shared end, people contribute “ports” to the FreeBSD Ports tree. Automation oriented folks like me end up with their own collection of ports that explicitly rely on the FreeBSD Ports tree. I don’t know of anything that formalizes either the discovery of, or dependence on, other people’s personal ports. It hasn’t ever been an issue for me.
Alright, makes sense. Thanks
I ran into a thing just yesterday - jails (can) get an IP of their own, which seems to be automatically added to the host’s interface, but they do not (and afaik cannot) get their own MAC. This is FreeNAS for me (with iocage) and this is a little annoying because my fritzbox router seems to have a problem with port forwards now. But maybe I’m wrong and just haven’t solved in properly.
In this case with docker at least would be possible to just use
PORTS
/EXPOSE
and use the host’s main ip.Apart from that I’ve never encountered problems with jails and found them really smooth to work with.
You can give a jail a whole virtual network interface (epair/vnet) and then bridge it or whatever. You can also just use the host’s networking if you don’t need to isolate networking at all for that jail.
thanks, that’s a good term to search for. I’m just a little surprised it (suddenly) doesn’t work anymore in my setup. My research so far has proven inconclusive with a lot of people saying that it can’t be done (in version X)
Nice overview of FreeBSD. I ran it on both server and desktop for most of the early 2000’s. We used jails to host a bunch of websites and mail servers. Jails were not easy to implement at the time and came with a few caveats. (I would have much rather seen FreeBSD, with its significant UNIX heritage, lead the recent containerization movement.)
But in spite of how neat I think FreeBSD is, Linux just became easier to manage thanks to wider vendor and hardware support so it’s what I’ve been working with for at least the last 15 years. Linux then, and even moreso now, also has the advantage of an extremely wide community: it was almost impossible for you to run into a problem that no one else has found first and then blogged about it. With FreeBSD, the only real place to ask a question was on one of the mailing lists. While there were a lot of people willing to help, there were also a few grouches there with a distinct RTFM-and-don’t-bother-me attitude. Hopefully things are better these days.
I haven’t been paying much attention, can anyone summarize exactly what this is all about? Back when I used it, you just had the base system (kernel, userland, and a few third-party deps like gcc) and ports. What’s been changing?
EDIT: I read some of the author’s other posts and like a lot of people in the BSD community, unfortunately, there’s more than a little anti-Linux sentiment. “Linux is fragmented, Torvalds is a jerk, etc.” This holier-than-thou attitude is one of the things that turned me away from the FreeBSD community. FreeBSD isn’t “better” than Linux. They just have different cultures and different strengths and weaknesses.
Over the years I have tried 3 times to install FreeBSD on different ThinkPads via CD or USB stick. It never even booted. On the same hardware, every Linux distro I ever tried worked pretty much out of the box.
Some ThinkPads are known problematic due to a bios bug causing problems with booting GPT-formatted disks, there exists a fix for this which I know that NomadBSD includes out of the box (and it’s USB bootable).
https://nomadbsd.org/ - “The GPT layout has been changed to MBR. This prevents problems with Lenovo systems that refuse to boot from GPT if “lenovofix” is not set, and systems that hang on boot if “lenovofix” is set.”
Weird. I certainly don’t share that experience, especially not on Thinkpad’s. Every BSD (or Linux) distribution I throw at it just works, provided I formatted the USB drive correctly (using the instructions from their installation pages).
Word is bond
Couldn’t agree more.