Live data from Hacker News

Ask HN: Can we talk about FreeBSD vs. Linux?

news.ycombinator.com

161–170 of 221 posts

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#161
post #66

Earlier quoted context omitted.

https://vultr.com/ is what I use. No complains.

You do have to fax them a copy of your driver's license and credit card in order for them to open up outbound SMTP, though.

I had no had a need for outbound SMTP, but I read on the FAQ there is a form to fill out. Did not know a driver's license was needed--they have my credit card already--seems a bit extreme.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#162
_The_ thing that brought me to FreeBSD is the base system. A full installation is about 2.5 GB including source code (which is about 900 MB for the FreeBSD sources plus about another 800 MB for the Ports tree). Installation is extremely simple. Third-party software is cleanly separated from the base system. If you're coming from Linux, FreeBSD now has great binary package management tools in the form of pkgng, which is every bit as good and easy to use as APT or yum. I love the FreeBSD documentation. There are useful manual pages even for kernel internals and device drivers. I think that PF is vastly easier to understand and configure than iptables; the same goes for FreeBSD's IPsec implementation. Everything's laid out in a very logical, consistent manner, with lots of comments in config files and whatnot.

What's kept me on FreeBSD is the Ports tree (the third-party package build infrastructure). I love how easily I can build customized packages for my computers, especially now with pkgng and tools like poudriere (refer to this great tutorial at http://www.bsdnow.tv/tutorials/poudriere). I can very easily set up my own custom package repository that either supplements or wholly replaces FreeBSD's. I've tried to do similar things with Linux, but it definitely isn't as easy. The ports tree committers are very responsive, and creating (and submitting!) one's own packages is both well documented and very easy.

I like how much of the system configuration is done in /etc/rc.conf. I like how the various system and ports tree build-time knobs are all in /etc/make.conf. I like how daily maintenance scripts/health checks both run by default and are all configured in /etc/periodic.conf. I like how understandable the base system is, kernel internals included. I'm no expert developer (and believe me, there's plenty of advanced Unix hacker wizardry in the FreeBSD sources), but things are accessible enough to even one such as me that I successfully modified the ciss driver this year to work around a weird bug in some old server gear I was experimenting with.

Don't get me wrong - I love me some Unix, but modern Linux distributions seem over-complicated in a lot of the ways I don't like about Solaris or AIX or Windows, even though there's a lot of nice stuff from the perspective of an end user. If you install Ubuntu or Fedora, a lot of stuff Just Works(tm), and that's great! I love Ubuntu and Fedora! But if anything breaks and I have to go digging, things get complicated so rapidly that it makes debugging more of an effort than it should be.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#163
post #137

Earlier quoted context omitted.

FYI, this issue exists in PC-BSD too. I tend to use Chromium anyway and Firefox as a backup, so it doesn't bite me as much when I'm in that OS. But it's definitely a big one.

Well, you can work around it (with no known downsides) by adding: export MOZ_DISABLE_IMAGE_OPTIMIZE=1 To the top of your ~/.xinitrc file. Kind of surprised PC-BSD doesn't do that for you. Probably should ask them to.

Surprisingly, PC-BSD doesn't generate a ~/.xinitrc file, I had to create one. I just put that line in mine, and restarted X. Seems to be working well, I loaded up a 4K image in Firefox with no stuttering, pausing, or other noticeable problems, and it definitely slowed the system to a crawl before making the change. Thanks!

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#164
post #93

Earlier quoted context omitted.

This is OT, but since you seem to know a fair bit about filesystem types and their trades and have an opinion on sane patching behavior, I have a question you might be able to answer: Why aren't modern filesystems based on a content-addressable-store where the content is 100% separated from the organization of the filesystem itself? It seems to me like it would make more sense to have only one copy of a file ever sav…

Zfs, to take one example, does do approximately what you want - the file system (or rather, the underlying block storage) has a tree structure, and changes to files are propagated via copy-on-write rewrites up the tree, so that earlier snapshots still get to see the original file. This does make rolling things back trivial. It doesn't give you dedupe for free, though. Think about what would have to happen: every modi…

Deleting is not a time sensitive command anyway.

But I don't think you'd have this problem. Just like we have an inode telling every block of a file, a filesystem like that would need a similar structure telling every hash of the file. When you delete a block, you look at this structure, the same way you look at an inode.

The only thing missing is that you'll need a counter at the blocks. And this counter will create some synchronization problems that may turn out more important than saving disk space.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#165
post #22

BSD is often just a little bit different. Hard to be unbiased. Some people prefer GNU make, some like bsdmake. - kqueue is a very powerful event loop similar to epoll [1] - the FreeBSD ports collection is very simple to use as far as compiling from source goes. I only really prefer Debian's apt-get and Gentoo's emerge - the FreeBSD Handbook is a very well-maintained text [2]. I freely admit OpenBSD has the best man p…

I think the kqueue API is worse than the epoll API. They make it try to do too much by dealing directly with all kind of events. epoll on the other hand simply deals with file descriptors and there are other APIs to get file descriptors for events (timerfd, signalfd, eventfd, inotify, etc.). That makes epoll a lot more flexible. It's more of a "do one thing and do it right" approach and it adopts the "everything is a file" mantra to "everything is a file descriptor".

One way where the problem with this is showing, is the filesystem notification API of kqueue. It is a ridiculously bad API. E.g., you can't properly watch a directory with it. Replacing it with something saner would require changes to kqueue. If it had been designed like epoll then it would only require adding a different API to create a filesystem notification file descriptor.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#166
Voxer is a really interesting case, as they have run a similar production load on Linux, then switched to SmartOS (Solaris), and now switched to FreeBSD.

Their staff are technically savvy, and I don't know of anyone else who has tested the options in this way, in production. They have a popular mobile app which turns your phone into a walkie talkie and more, and have millions of users.

I saw them interviewed about their move to FreeBSD recently: http://youtu.be/NGT3jpilYfE?t=15m

I like FreeBSD, but I have yet to run the same stack on multiple operating systems in production. That's a LOT of work!

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#167

Earlier quoted context omitted.

Full end to end checksumming. ZFS can find and correct errors on the fly, and can ensure data integrity. Even on a single disk ZFS can notify the user what files have been damaged and should be restored from backup. That is the most important thing for me, I want to make sure that my data is safe.

This is only guaranteed with ECC RAM, right?

Without ECC RAM it is entirely possible that upon reading a file may be marked as damaged when it is not, and it is entirely possible ZFS may write a file that has a bit flipped to disk (this one is silent and unrecoverable). While there is a chance, it is unlikely. In my case my zpool's have always given me early warning when one of my hard drives was having issues, even before SMART or anything else started showing warnings. Due to having multiple backups (desktop machine backs up to 2 different networked machines, and it is checksummed end to end) I haven't found any silent data corruption while writing data on any of my zpool's even without ECC RAM.

There is no file system that can protect against corruption if a bit is flipped in memory while reading from/writing to disk, at least with ZFS it can warn me and re-read the data from disk and give the upper layers a valid file.

Even without ECC RAM ZFS's end-to-end checksumming can help save your data and give you piece of mind that it is not silently being corrupted once it's on disk.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#168
post #34
post #27

Like others have said, being unbiased is difficult, but I'll try. First, Linux v FreeBSD is really tough, so I will instead approach this from Debian v FreeBSD. I really like how easy Debian on the desktop is: install it, apt-get install xfce, and I have a nice desktop. It's very easy to add Adobe Flash, Steam, Skype, etc. The FreeBSD desktop isn't as nice. You can add things like Flash and Skype on FreeBSD, but you…

I may be confused since I'm only now moving some servers to FreeBSD, but it sounds like you're suggesting freebsd-update brings in bleeding age, incompatible version if you want to get security fixes. Is that actually the case? I've got zero interest in running it as a desktop so I'm guessing that'll hit me less, but it's worrisome to hear. As a side note, I'd love to have something like "freebsd-update rollback" for…

For having the easy rollbacks, take a look at FreeBSD with ZFS on root with boot environments:

https://forums.freebsd.org/threads/howto-freebsd-zfs-madness...

https://github.com/vermaden/beadm/

http://wiki.pcbsd.org/index.php/Multiple_Boot_Environments

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#169
I'd really like to hear from someone about the network stack. I often see jabs at Linux's networking features in regards to FreeBSD, but Linux has a crazy comprehensive stack. Many network appliances are based on Linux kernels and I've personally worked on Linux routers. I also recall doing brief investigation into FreeBSD's networking features and came away with the impression that Linux is out ahead; is this not the case?

How does the storage stack compare? I really love ZFS and have used ZoL quite extensively in the past for a VPS/baremetal backup system and of course FreeBSD has rock solid ZFS support. But Linux has bomber RAID, LVM, dm(which lets you write you're own targets and do all kinds of awesome mapping) etc.

And then of course there are "containers". I'm aware of jails and they are much tested but I saw the other day that they don't have cgroup type features to allow controlling RAM and CPU usage? Namespaces? Is it the case that Linux containers are overtaking jails on the features front?

I really like the idea of FreeBSD and I have bought "The Design and Implementation of the FreeBSD Operating System"(which I ought to start reading) but I'll admit to not knowing a whole lot about it. Most of the topics that come up in comparison discussions seem a bit more superficial than what I'm interested in.

Re: Ask HN: Can we talk about FreeBSD vs. Linux?

#170
post #31

I started using FreeBSD (version 4.8 at the time) in 2003 and I began a switch to Ubuntu in around 2011. Disclaimer: the following is all very opinionated and 8.1 is the last version of FreeBSD I actively used. Actually, it's still running without any problems on a colocated machine, but it's a bit a "don't touch it" situation, because upgrading even a single piece of software would probably cause a cataclysm of stru…

" I just wouldn't advise rolling it out to lots of servers, unless you have a very specific reason to do so."

You mean like Netflix And Whatsap do?

Post reply on HN