30 ms·
I am using freebsd since version 8 for all my server needs (was using linux, but got repelled by its chaos which I dont care about on my laptop, but it pisses m
by stiray 4y ago
I am using freebsd since version 8 for all my server needs (was using linux, but got repelled by its chaos which I dont care about on my laptop, but it pisses me off on server).
Some more points:
- bhyve, developed by netapp, they ditched all old technologies support and it works faster on my i5 server than kvm on my i7 laptop. Snapshoting using ZFS is not a feature to discard either.
- FIBs, absolute miracle routing tables that you can apply to whatever software, define the routes as fib 1 (lets say it is openvpn) and then use them as simply as `setfib 1 bash` to use them in all child processes
- backward compatibility, this is where linux is really horrible, there was an article about compiling binary on freebsd 2 and running it on freebsd 10. Try this on linux, binaries are not compatible even on minor versions.
- jails... docker? Really? Jails are 15+ years old implementation, kernel supported, that stood test of time, actually being a security feature. It runs circles around the docker in everything except how much it was adapted by community. I never understood why people rather used an inferior solution like docker.
- not to mention all the chaos in linux ecosystem, in next sub-version, the commands can have completely different switches,...
I will never understand on what technical merits people are using linux for servers except the support-ability of hardware. Due to the whole show that linux is getting we would prosper as a humanity by ditching the linux. Unfortunately, marketing is worth more than anything.
(I do understand that people will not agree due to their preference, but try to use it. I doubt you will prefer linux ever again.)
- stjohnswarts 4y agoI use Linux all day long and none of this is an issue for me, so I guess that's the counterpoint. I'm just a desktop/server user/developer though and not a guru by any stretch.
- atmosx 4y agoComparing Linux to FreeBSD is like comparing a Mercedes to a custom-made trackday car. Docker, kubernetes et all was the nail in the coffin. BSDs are amazing for universities, OS classes and some outliers in the industry here and there. The one thing FreeBSD had was network stack performance. Linux supports higher throughput for a while now.. so even that ship sailed.
- nix23 4y ago> Linux supports higher throughput for a while now Really that's new...because netflix thinks otherwise.
- rawoke083600 4y agoagreed ! Also i think throughput might be moving/dynamic values ? i.e this year Lamborghini might be faster than a Ferrari... Next year they might swap. But no one will say Lamborghini or Ferrari are slow. My humble point,unless absolute throughput (Then you looking at userland tcp-stack anyway) is your absolute goal. Things like tools,skillset, environment, community might play a bigger role. Yea i still love Freebsd but uses Linux on Desktop daily. Freebsd just kinda 'fits-in-your-head' Linux: I miss the simple days when you could edit files like /etc/resolv.conf for nameservers :) These days i see quite a few "don't edit this file manually it is auto-generated messages" :/
- Rediscover 4y agoThanks for the comment. > ... /etc/resolv.conf ... ... > ...don't edit this file manually it is auto-generated ... I have been trying not to comment on any of this discussion, but You just hit a nerve for me (in a good way!). resolv.conf: near and dear to my heart Don't edit manually...: if it is cattle (most servers and IoT) - ok, I move on. If it is a pet (any of my main laptops), whoa. Stop what I'm doing and track down the software that did this. Purge it or re-write the offending code to not mess with stuff. Track down what was relying on this behaviour and purge. Rinse, repeat. FWIW, I am running Slackware, OpenBSD, and sometimes FreeBSD on my pets (they are all installed it's just that I mostly live in the first two). Also, I find it hard to not have all the different man pages always available (no, I don't have a constant Internet connection - Security policies).
- atmosx 4y ago> Really that's new...because netflix thinks otherwise. That is true[^1]. Doesn't say much the two TCP stacks in 2022 though. Netflix has built expertise around FreeBSD for years. Not just TCP stack optimisations. There's deployment, management, maintenance, etc. I don't expect them to jump ship easily, especially if the tool is good for the job - which obviously is. However, even they reckon that FreeBSD _might_ be faster for _a specific_ workflow. Fifteen years ago there would be no comparison between the two in terms of top speed achieved on same hardware or latency, FreeBSD was far superior. The trend is what's important here. Netflix choose FreeBSD in 2012, in 2022 it is certain that they would have gone with Linux and by 2032 my guess is that they'll be serving using Linux. I hope I'm wrong, the more the merrier. [^1]: https://news.ycombinator.com/item?id=28584970 https://news.ycombinator.com/item?id=28584970
- stormbrew 4y agoSome of this may be true, though I have some disagreements about the accuracy of some (and also the issue that "Linux" is a broad target and some of these apply more or less to different distributions or os'), but freebsd definitely had its share if chaos in its history. The fbsd4-6 era was a difficult one to navigate and it's basically where I feel off the freebsd bandwagon.
- GekkePrutser 4y agoMe too, at FreeBSD 6. ZFS was also pretty new and unstable in those days. I upgraded and could no longer read my pools. But I came back to it in the last few years and it's matured a lot.
- hnlmorg 4y agoZFS wasn’t just new when FreeBSD 6 was released, ZFS wasn’t even released itself. :P FreeBSD 7 was the first release to support ZFS and even in that it was marked as experimental support. So if you were using ZFS before FreeBSD 8, and especially somehow on 6 and below, then you’re very much using ZFS at your own risk and can’t really complain if things go sideways.
- deleted 4y ago[deleted]
- jeffbee 4y ago> backward compatibility, this is where linux is really horrible, there was an article about compiling binary on freebsd 2 and running it on freebsd 10. Try this on linux, binaries are not compatible even on minor versions. What a completely bizarre claim. I have commercial linux/x86 binaries from the 90s that work perfectly well on my current PC running Linux 5.15.
- trws 4y agoI’m guessing the OP meant “where glibc is really horrible”, since bsd libc is rather more abi stable, largely because that’s where FreeBSD provides compatibility instead of the syscall layer. This is not to say you can’t use an old libc and fix up the loader paths or use a container and make it work, but it’s a different set of challenges.
- bonzini 4y ago> bsd libc is rather more abi stable I am not sure about other BSDs, but at least OpenBSDs is all but abi-stable; when they wanted to introduce 64-bit time_t to fix Y2038, they just changed the typedef and declared a flag day.
- asveikau 4y agoI had trouble trying to run libc5 era software a few years ago. This wasn't the kernel but the distro did not make it easy. I wouldn't expect them to keep maintaining libc5 packages 20+ years later either. I think if you do anything GUI-ish over the last 20 years there's been many shared library breaking changes. But that'd be true of FreeBSD too since those dependencies are just the same when they live in ports.
- bonzini 4y ago> it works faster on my i5 server than kvm on my i7 laptop. What benchmark and what processors exactly?
- ajross 4y ago> It runs circles around the docker in everything except how much it was adapted by community. ...except? Meh. People who want to engage in this argument are generally trying to argue about jails vs. the collection of linux container technologies. That's not Docker. Docker won because of Dockerfiles. Docker isn't, at its core, an interesting container technology. Docker is a simple metaphor and programming environment to leverage container technology to solve practical[1] problems. And as it happened, it was done on Linux and not jails, owing in large part to the more configurable/toolkit-style/policy-free tools available there. Jails were indeed more mature, but they were solving the wrong problem. [1] Also thorny, boring problems like configuration management of large apps developed piecewise from components and by large teams. The kind of thing that is historically not well served by the operating system, BSD included.
- intothemild 4y agoI love FreeBSD and i love Jails, but you're right. Docker won because of simplicity. Dockerfiles make it super simple. There is similar stuff for jails but you need a jails frontend that use it. A few years ago i wanted to build the Jailfile equivalent, call it Warden, and have Warden manage the jails. But honestly i doubt it would get traction outside a small community.
- Sunspark 4y agoBuild it and they will come..
- throwaway7980 4y agoCBSDfiles, reggae and bastillebsd can all build jails from a file based method
- SoftTalker 4y ago"Simple" is subjective. Have you ever looked at what Docker puts in your iptables? I challenge you to understand what's happening with your networking after that. If you want containers, lxc command line and a bit of configuration for a bridge interface is all you really need.
- stingraycharles 4y agoFrom a technological perspective, everything you say is true, and FreeBSD is better in so many regards. But, compatibility and community support is just a deal breaker. The jails vs docker argument is a good example: while technically better, Docker (or rather, cgroups and image distribution) have been standardised and have tremendous community adoption. FreeBSD cannot tap into any of this at all. Yes, jails might be better, but because they lack widespread adoption, they’re far less useful. It’s a sad state of affairs, I wish things went otherwise, but I feel Linux is sometimes a good example of the “worse is better” approach at work.
- nullify88 4y agoPerhaps VHS vs Betamax is a suitable equivalent to FreeBSD vs Linux.
- philistine 4y agoYour comment implies the old trop that Beta was much better quality than VHS, but Betamax's reputation for better quality was marketing spin and conflation with Betacam, Sony's pro version. In reality, Betamax was nearly indistinguishable from VHS.
- usefulcat 4y agoObviously it’s been quite a long time, but as someone whose first VCR was beta, this rings true. If nothing else, I definitely don’t remember a noticeable quality difference when we later switched to VHS.
- nmz 4y agoNobody ever adopts it because nobody wants to support it, ergo nobody ever adopts it and nothing ever improves. Gotta love this little cycle of mediocrity the software world has going on.
- astrobe_ 4y agoThis type of circular argument sometimes hit a nerve when it about a thing cares about, but lets remember that the literal sense of "mediocre" is "middle" or "average", so its kind of a tautology to say that in general, software is average. It takes true nerds (or "geek" in the sense it had around 2000, when it was still a bit derogatory and not yet a fashionable identity marker) to go off the beaten path.
- yjftsjthsd-h 4y ago> jails... docker? Really? Jails are 15+ years old implementation, kernel supported, that stood test of time, actually being a security feature. It runs circles around the docker in everything except how much it was adapted by community. I never understood why people rather used an inferior solution like docker. Docker has Dockerfiles, layers, and trivial push/pull of images. Compared to those workflow improvements, nobody cares if the guts suck.
- GekkePrutser 4y ago> Compared to those workflow improvements, nobody cares if the guts suck. Some people care, this is why FreeBSD is still around :) And it's not really relevant if you build your own images anyway. And in fact within the scope of FreeBSD jails offer very similar features, one of the things that's very common to do is make a base image with ZFS and then base all your jails off it. This means you just have to update your base and all your jails are updated. It's similar to pulling the latest alpine with docker. If you embrace the full ecosystem with Bastille you will have very similar capabilities. The big missing point is that you can't use images from docker hub. This is a big negative but if you already don't plan on using those it's not really a bad thing. And there is increasing resistance to pulling things made by unknown people into production (I'm sure many vulnerabilities will happen in the future as attackers start to take advantage of this). But anyway it doesn't have to be for everyone. It doesn't have to be the biggest thing around.
- heinrichhartman 4y agoI would like to be on the jails train, but the build/deployment story always felt inferior. I have never seen anyone build jail-images from CI and deploying them to fleets of FreeBSD hosts. This may be technically feasible with zfs send/recieve but in practice people I know distributed packages (not images) to 10s of FreeBSD jails/hosts. I want to deploy container images to a cluster - not install a package in a zone/jail. Is anyone doing this with FreeBSD/Solaris? (Outside of Joyent)
- nix23 4y ago
- kaba0 4y agoDocker is not a security sandbox technolgy, but a bundle all the dependency sandbox one.
- notabee 4y agoAs someone who has just been tearing my hair out over v1 and v2 cgroups and containers for testing systemd services, I think I need to spend some time in FreeBSD land.
- old-gregg 4y agoRemember, you're comparing Linux and FreeBSD in 2022 but BSD lost to Linux much earlier, many years ago. Back when I was looking into them (long time ago, excuse me for not remembering the details), BSD felt more pleasant and coherent. But at the same time it had limitations on scalability, performance and compatibility with hardware and also with userland software. In every benchmark, especially on multi-core, multi-socket systems, Linux was ahead. My theory at the time was this: GNOME won on developers' desktops, so most software was developed on Linux natively, with BSD compatibility (and performance) as an afterthought. IIRC Linus made a similar point on the mailing list that developers love servers that resemble their programming environments. TDLR: BSDs got stuck in CLI-only mode for too long. The more common explanation was that Linux got a head start by a few years by being a clean-sheet implementation, while the BSD had to spend its early years purging itself off the AT&T copyrighted code, so it was untouchable from a commercial use perspective.
- cesarb 4y ago> The more common explanation was that Linux got a head start by a few years by being a clean-sheet implementation My favorite theory for why Linux got a head start is in this (long) comment I found some time ago here: https://news.ycombinator.com/item?id=21420338 https://news.ycombinator.com/item?id=21420338 Some excerpts: "With Linux, I just booted from a Linux boot floppy with my Linux install CD in the CD-ROM drive, and ran the installation. With BSD...it could not find the drive because I had an IDE CD-ROM and it only supported SCSI." "It insisted on being given a disk upon which it could completely repartition. [...] Linux, on the other hand, was happy to come second after my existing DOS/Windows." "By the time the BSD people realized they really should be supporting IDE CD-ROM and get along with prior DOS/Windows on the same disk, Linux was way ahead."
- toyg 4y agoIDE was one of many hardware issues that just took too long to be solved. For a long time, BSDs didn't seriously try to support consumer-grade hardware - be it because of lack of manpower, conservative attitudes, or "commercial" choices. OpenBSD still doesn't support Bluetooth... On the other side, the Linux community fought hard to get everything to work, creating positive loops: the more hardware it supported, the more people could get it to work on their hobby hardware, the more they'd become familiar with it and push for adoption at work.
- nightfly 4y agoI've run into fun issues like FreeBSDs slab allocator not playing nicely with the ZFS/NFS workload on one specific server and having to drop down to having ZFS allocate memory in a different way that used about twices as much CPU to avoid random multi-second pauses on the whole system. Also had issues where kerberized NFS would get confused and something would crash so had to have random cron jobs to restart dying components, since FreeBSDs init system is so simple. Also arbitrary and short name length limits, I think in both bhyve in the past (couldn't use fqdns for VM names since that would have exceeded the limit) and something about zfs mountpoints ages ago (I think we ended up changing our naming and nested conventions to work around)
- eatbitseveryday 4y agoI’ve noticed this myself but didn’t dig into the delays I’ve seen. Interesting to learn it appears for others. How did you have ZFS change how it allocates memory?
- allanjude 4y agoThis was a bug in ZFS itself, and was resolved years ago: https://smartos.org/bugview/OS-6404 https://smartos.org/bugview/OS-6404 In FreeBSD 12.x and older, you could opt out of using UMA with: vfs.zfs.zio.use_uma=0, but that is not necessary
- eatbitseveryday 4y agoThanks. I still see multi-second pauses moving data over Samba to an encrypted ZFS pool. I’m using a 10Gbps network card, so the drives are the bottleneck (or so I thought, until seeing these delays). I’m on 13-RELEASE.
- cesarb 4y ago> it works faster on my i5 server than kvm on my i7 laptop Laptop processors are usually slower, due to lower thermal and power limits, so that's not surprising at all.
- ooneeks 4y agoHaving used BSD many years ago on desktop, I completely disagree. What are you using your computer for using BSD? I really don't spend 99% of my time just compiling lol The chaos thing is something I hear from BSD users quite a lot. I'm still not sure what it is means, maybe that's some sort of personal issue..? I suppose you don't like forking and variation, which is understandable coming from a user of an OS with a fantastically small userbase that somehow still manages to be proportionally more fragmented than any other community I can think of, but the "chaos" of Linux is grossly overstated. Most everything that is relevant today runs Debian, unless you're a poweruser running Arch or even Gentoo, but even then, who's out there being a distro purist? I'm willing to bet that most people running Arch or Gentoo are still using quite a bit of 'Debian resources'/assets. Sure, there's RedHat too and all the others that fill some corporate niche, but there really isn't this whole divide within the Linux community like people sometimes imply. I think a lot of people are stuck in a mindset that hasn't been relevant for somewhere between 10 and 20 years.
- nsajko 4y ago> I'm willing to bet that most people running Arch or Gentoo are still using quite a bit of 'Debian resources'/assets. More like the reverse, the Arch Wiki is the best so everyone uses it. Although for some topics it makes sense to take a look at Debian or Gentoo wikis, too. Not sure what other kind of 'Debian resources'/assets you had in mind.
- therealunreal 4y agoI use Arch almost exclusively on the desktop but I gave up on running it on servers that I don't want to actively maintain (think of small, non-critical web servers). Ubuntu works fine there.
- ooneeks 4y agoWhilst I don't at all doubt your testimonies, I am still sitting here wondering what programs everyone here is using, if not programs usually tailored for Debian. I feel like I've seen more software that runs natively on Debian (Ubuntu, really) and made specifically for dpkg. But I suppose a lot of applications also come with "snap" these days, but I avoid "software stores" like the plague. I personally have had very little contact with Arch, but I realise that is me that is strange, I personally dislike Arch very much and can recognise that, that might be the reason I don't see it around as much; a negative confirmation bias of sorts, if you will. 99% of the time when I have an issue and I just google it, I'll end up on the Ubuntu forum, that's no lie. But I do seem to remember using the Arch wiki years ago. I'll admit, I'm probably just a diehard fan of Debian.
- _x5tx 4y agoHonest question here about jails. I like docker because the tooling makes it super easy to get anything running in no time. How is jails tooling? Let’s say I need to get an app running, a database and a redis for the app. Is that as easy as docker compose?
- mkl 4y ago> in next sub-version, the commands can have completely different switches That claim seems crazy and doesn't match my experience at all. Please name a widely used program that changed its switches completely in a sub-version.
- dixie_land 4y agoGNU ls adding quotes and you have to actually opt out
- mkl 4y agoDo you mean displaying quotes in the output? That has been around for years (by default on many distributions) and doesn't answer my question at all. Please name a widely used program that changed its switches completely in a sub-version.
- alrlroipsp 4y agoI too find this critique a bit odd. Tho, switching between BSD and gnu versions of some tools, there is a mismatch of command line arguments. IIRC I had to look up docs using tar and sed on BSD.
- nequo 4y ago> I will never understand on what technical merits people are using linux for servers except the support-ability of hardware. System upgrades are cleaner in Linux. Debian has had pkgbase ever since I can remember and it’s still underway in the BSDs. Live kernel patching is nice, too. Just two examples.
- matheusmoreira 4y ago> backward compatibility, this is where linux is really horrible, there was an article about compiling binary on freebsd 2 and running it on freebsd 10. Try this on linux, binaries are not compatible even on minor versions. Linux userspace is considered unstable. It's not a cohesive system like the BSDs but lots of independent projects all doing their own thing. The Linux kernel is capable of running binaries compiled in the 90s. Breaking changes in the kernel-userspace binary interface makes Linus Torvalds scream at people on the mailing list. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/stable/syscalls https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
- frostwarrior 4y agoI even say that instability of the Linux desktop was a considerable contributor to the decline of Linux powered workstations. People were getting used to the old reliable Gnome2 and the Windows-esque KDE desktop. But there's always some team of developers thinking they are Apple and completely throw years of progress out the window by breaking compatibility because of some usability "feature" their own selfish conception of usability thinks is a good decision. Some of then even go to the point of rejecting Merge requests to their supposed open source software because of that kind of Whim
- Wowfunhappy 4y agoBut why does the world always go along with it? In an alternate universe, the community just said "yeah, no thanks, I'll keep using Gnome 2", which they continued maintaining under the name Elf or whatever.
- pfranz 4y agoI think that's where the fracturing comes in. For whatever reason, distros will ship with the new thing. The past 2 or 3 places I've worked adopted MATE (a continuation of GNOME 2). And, of course, there was instability at these places in figuring out which direction to go.
- teaearlgraycold 4y agoWith Linux today I can mostly use the terminal just for what is best done on the command line. With FreeBSD I always feel like I'm digging through the filesystem and terminal to get basic OS stuff done.
- jlawer 4y agobhyve (a lightweight virtualization tech) vs kvm (really kvm/qemu) isn't really a like for like fight. If your looking for something lightweight on the linux side you would go with Firecracker (AWS developed for Lambda and Fargate).
- bonzini 4y agoNot necessarily; if a VM is properly configured userspace is out of the way as much as possible and performance is dictated almost entirely by the processor and the hypervisor, not by QEMU vs. Firecracker.
- spookthesunset 4y agoDon’t forget the docs are actual documentation. Like it is an actual coherent operating system with actual documentation. No “refer to info docs” here. Actual docs. Real ones.
- 0xedd 4y agoYour point about Jails vs Containers (popularized by Docker) is a naive rose-tinted glasses view. Jails is aimed at security and stops at that. To create something like docker-compose or Kubernetes with Jails is nigh impossible. This "complete software stack" deliverables is what makes the difference today. You deliver software with greater ease. Jails isn't meant for that. Ignoring this point and claiming the same existed for 15 years is wrong.
- ornornor 4y agoI use Linux as my main OS. I’d love to switch to FreeBSD but I can’t. Most software that run on Linux may or may not run on FreeBSD. And when it doesn’t, it’s typically hard or impossible to get instructions or community support. Looking at the download page, Firefox doesn’t even seem to have a FreeBSD version or instructions. I can understand for servers although you lose community support for most software and can’t use ready to deploy docker images, as much as I loathe docker. FreeBSD is vastly superior to Linux IMHO (the handbook is a great read), but it’s unfortunately not practical for most usages.
- trasz 4y ago>Firefox doesn’t even seem to have a FreeBSD version or instructions. Erm, what? It's not Windows, that's what packages are for. Just "pkg install firefox".
- ornornor 4y agoI just checked the Firefox download page which doesn’t have any FreeBSD specific instructions (although it does for linux) Glad to hear Firefox has up to date packages in FreeBSD though!
- nix23 4y ago> I just checked the Firefox download page which doesn’t have any FreeBSD specific instructions (although it does for linux) It's a Browser, you don't need "specific" instructions for the base-os.
- hestefisk 4y agoJails was actually committed to the source tree in 1999… so almost 25 years. You should read phk’s article - Jails: Confining the omnipotent root. It’s very good.
- sph 4y agoYou can do FIBs with Linux network namespaces, can't you? `setfib` would be `ip netns exec` Aside: the thing that annoys me the most about FreeBSD is how bitter its proponents are that Linux "won". The tone of your comment a great example. It seriously turns me off. Some humility in finding out the shortcomings of BSD and ironing them out would be more beneficial in creating more competition in the OS space than complaining that all Linux users are idiots that haven't seen the light.
- nunez 4y agojails and lxc are great but Docker won out because they made those features significantly more user friendly and spent serious (VC-supported) coin on marketing that.