3 ms·
I could do FreeBSD on my laptop I think. I don't play games, and I've been wanting to play around with kqueue. Is it sort of like OpenBSD? I liked their manpag
by LAC-Tech 1y ago
I could do FreeBSD on my laptop I think. I don't play games, and I've been wanting to play around with kqueue.
Is it sort of like OpenBSD? I liked their manpages and their built in server thing (httpd). or is it completely different...
- rootnod3 1y agoMan pages are close enough to OpenBSD. Httpd is there, but renamed to obhttpd. There are some differences between PF and relayd for example, but not too difficult to switch.
- nosioptar 1y agoOne big difference is OpenBSD is easier. For example, I installed FreeBSD on an old laptop and had to fiddle with building Xorg to get a GUI. Same laptop on OpenBSD just worked after running the installer.
- cnst 1y agoYup, that's because X is part of OpenBSD base system, called xenocara, whereas in FreeBSD, you have to use the Ports tree to install Xorg. Ports tree in general is a great way to install third-party software, but not necessarily for Xorg. You still install KDE or GNOME through ports/packages on both systems, but X being more tightly integrated with the base system has benefits in reducing complexity for the rest of the components.
- LAC-Tech 1y agois FreeBSD any worse than a minimalist linux distro like Arch in this regard?
- grahamjperrin 1y agohttps://wiki.archlinux.org/title/Arch_compared_to_other_distributions#The_BSDs https://wiki.archlinux.org/title/Arch_compared_to_other_dist... exists, but probably does not answer your question. For Arch users of KDE Plasma and applications, are essential packages ever missing? <https://wiki.archlinux.org/title/KDE#Installation https://wiki.archlinux.org/title/KDE#Installation> From https://gist.github.com/grahamperrin/307b8cdef5d4dcd30f5fdc4cdea03c72 https://gist.github.com/grahamperrin/307b8cdef5d4dcd30f5fdc4... for FreeBSD: > It's not unusual for a Tier 1 platform to have no package for a wanted desktop environment. Two platforms are at this tier: … For example, kde for FreeBSD 15.0-CURRENT was recently missing for a few days for AMD64; is still missing for aarch64 (64-bit ARMv8). This is not to criticise the maintainers of packages or repos. I do understand the constraints. The absence of an essential meta package is, inescapably, an impedance when aiming to test installers and upgrades, especially with pkgbase.
- cnst 1y agoTraditionally, most FreeBSD developers would actually run OS X on their laptops, whereas most OpenBSD developers would still use OpenBSD even on laptops. This was especially notable at BSD-wide events like BSDCan, AsiaBSDCon, EuroBSDCon etc. OpenBSD supports suspend to disk, whereas FreeBSD does not. (Is this being changed as part of this laptop project?) OpenBSD has always supported graphics, sound and other desktop things in the default kernel, without having to tinker with kernel config or loadable kernel modules. FreeBSD? http://cr.yp.to/unix/feedme.html http://cr.yp.to/unix/feedme.html Also, on OpenBSD, the basic X is part of the base system, in the xenocara repository, and it basically just works, straight from the default installer: https://xenocara.org/ https://xenocara.org/ https://en.wikipedia.org/wiki/Xenocara https://en.wikipedia.org/wiki/Xenocara OpenBSD actually does NOT support loadable kernel modules at all, and you're strongly discouraged from running a customer kernel, too. This has a side effect that both graphics and sound works out of the box, since deviation from defaults is discouraged, and if it didn't work by default, it'd not be recommended in the first place. On FreeBSD, even the most basic X stuff is part of the Ports tree, which basically implies that most installations wouldn't have it, and it's often far less integrated, and requires way more tinkering, than xenocara on OpenBSD. For example, when you know most of your installations wouldn't have X, would you have graphics and sound support in the default kernel, or would that require further tinkering of the kernel config and/or LKM? (On both systems, you still install KDE and GNOME from ports/packages, if needed, it's only the lightweight basic X and WM stuff that's part of OpenBSD base xenocara.) So, even though FreeBSD is faster and more popular in many ways, to most people's surprise, OpenBSD actually has better laptop support.
- spauldo 1y agoFreeBSD cares about POSIX and traditional BSD compatibility more than OpenBSD does, so it'll run more software than OpenBSD can. That can be an upside or a downside depending on your point of view - when OpenBSD breaks POSIX they do it for a reason. Man pages are just as good, and the Manual is a bit more comprehensive.
- rollcat 1y agoCan you name specific instances where OpenBSD broke POSIX? Whichever man page I read, they always cite specific standards. They also tend to follow the de facto standards, judging by the breadth of software in their ports tree (which more often than not, is actually full of Linuxisms).
- spauldo 1y agoIt's not horribly common. If POSIX mandates something insecure, OpenBSD will often break POSIX in favor of security. The simplest example is gets(3) doesn't exist in libc. rand(3) and family aren't deterministic (srand_deterministic(3) gives you that, but it's OpenBSD-specific). There are others, but it's not something I think about a lot so I can't think of them off the top of my head. If you're genuinely interested I'd recommend asking over at DaemonForums. I'm sure someone has compiled a list somewhere.
- rollcat 1y agoYou're correct. However those sound like perfectly reasonable changes to me. gets(3) is a horrible API. As defined by POSIX.1-2001: > If a read error occurs, the error indicator for the stream shall be set, gets() shall return a null pointer, and set errno to indicate the error. IMHO the least-unreasonable thing to do is to behave exactly as if a read error occurred, but programs that do use gets(3) are unlikely to check for errno anyway. > The rand() function shall return the next pseudo-random number in the sequence. <https://pubs.opengroup.org/onlinepubs/007904875/download/ https://pubs.opengroup.org/onlinepubs/007904875/download/> susv3/functions/rand.html The spec does not say what the sequence should look like, other than it's pseudorandom, so the exact sequence is implementation-dependent. You can't use it to e.g. seed a test run, a terrain generator, etc - and expect repeatable results across platforms, releases. (And I honestly can't think of another reasonable use case for deterministic output.) IMHO at that point you should define your own PRNG, it's about 8 lines of C. But you're obviously correct, these are deviations.