14 ms·
Migrate from Linux to FreeBSD
- yrgulation 4y agoModern software development is driven by fashion and trends. All you need is a few tech “influencers” to switch to freebsd then crowds will follow. FreeBSD was and remains my first love, but not being fashionable there is nowhere i can use it.
- quadrifoliate 4y ago> All you need is a few tech “influencers” to switch to freebsd then crowds will follow. As someone who would like to switch to FreeBSD but cannot, let me give you a few counterpoints. I also loosely follow actual fashion trends in clothing. I actually think that FreeBSD is already fashionable. It scaled up WhatsApp and Netflix, two of the most impressive startups! Tarsnap uses it. It seems pretty stable, and I would be perfectly fine adopting it. Where would I adopt FreeBSD? In two places – on the desktop/laptop, and on the server. On the desktop/laptop: I need perfect screen resolution on my laptop and external monitor, Bluetooth and Wi-Fi, and a way to correctly use my plugged-in microphone and headphones. Ubuntu delivers all of this with some grumbling, and MacOS and Windows do it flawlessly. What does FreeBSD do? Reports seem to say that Wi-Fi and Bluetooth are problematic. On the server: I need a compelling way to manage thousands of servers if needed, and something like Ansible won't cut it. For whatever reason, distributed systems on top of FreeBSD seems to be something that the community refuses to build on. I'm not sure what kinds of frameworks WhatsApp and Netflix built to manage their servers, but none of it seems to be public. So, I kind of disagree; I think FreeBSD is fashionable but fails to be utilitarian enough. Fix the problems on the desktop/laptop; or deliver a way of showing how to scale up quickly with FreeBSD, and you'll get your adoption.
- kqr 4y agocfengine3 and puppet both work on FreeBSD, at least. Looks like people are using chef with it too. And, as you point out, Ansible treats it as any other Unix-like system. I'm not sure what you've tried that does not work!
- nine_k 4y agoAnsible and Chef are inadequate tools for the job that cloud server boxes do. What is needed but is sort of missing: - A way to run containers. I see that *BSD may have had container-like features (e.g. jails) long before Linux containers existed. The truth us that the prevailing format is Linux-style containers. Ideally one should be able to run ready-made containers in Linux compatibility mode. An ability to build a native container from a Dockerfile is as important. - An orchestration engine based around containers. Ideally a port of a subset of k8s, but smaller tools the class of Nomad or Docker Swarm would be a good start. - A good replacement for Docker / Podman / Containerd, preferably with a modicum of compatibility / convertibility from those. You want an easy local development environment. I bet bits and pieces of it sort of kind of exist, and the kernel is capable enough. Now someone should put (quite) some effort in building that for real, releasing under a reasonable open license, and maintaining it for years. This is to say nothing of (desktop /laptop) hardware compatibility yet.
- chillfox 4y agoYeah, what Docker (and the ecosystem around it) got right is the user experience, it's just second to none. It just doesn't matter that Illumos zones or BSD jails might be technically better when the user experience of Docker is so much better. On the smaller end of the scale, docker-compose is fantastic for managing apps if you only have a few systems.
- nine_k 4y agoI remember that there of course were efforts to adorn jails / zones with an easy Docker-like UX. I hope this effort continues and will result (or has resulted without me knowing!) in a great and simple developer experience.
- chillfox 4y agoI think there are 3? different projects for it, but iocage is probably the front runner.
- smashed 4y agoHardware support. I have no idea why the hardware/software industry all focused on the linux kernel as the common base for so many hardware support. The amount of chips supported in the linux kernel is mind boggling. I worked with FreeBSD in my early career. How do I miss the `make world`. So easy, all-in-one, clean and elegant system.
- nine_k 4y agoBecause everybody runs Linux for last like 20 years. Data centers, network appliances, storage appliances, smaller devices of all kinds. It's in the open, the mindshare is colossal, expertise working with kernel and writing drivers is relatively easy to come by. Everybody runs Linux because it's free, there is no danger of closed private forks gaining any traction, there is no danger of it playing MongoDB. So everyone can safely pick it and invest into it. The pace of progress is very high because of that, and anything broken would be fixed very-very soon. Because of that ability to rely on Linux being a common thing that nobody can privatize, huge companies like Red Hat and Canonical could form, and entities like IBM, Oracle, Intel, Google, etc could keep investing in the development. All the above is sort of problematic with FreeBSD. It's too cathedral on one side, and has too few strings attached to hold to it on the other side. So it remains the choice of connoisseurs who need its particular technical brilliance (e.g. the network stack) or its very permissive license (see PlayStation).
- charcircuit 4y ago>there is no danger of closed private forks gaining any traction grsec is a counter example to this claim
- nine_k 4y agoFrom Grsecurity FAQ: > Grsecurity fully complies with the license of the Linux kernel, the GPLv2. Since grsecurity is delivered as a source code patch, it is not possible under the terms of the GPL to offer a free version under an actual restriction that it be used only for evaluation purposes. Any customer receiving a grsecurity patch receives all the GPL-granted rights and responsibilities, including the right to redistribute patches in their possession or even to sell them to others. Forks are completely fine. A lot of hardware, often not even esoteric, is supported by non-mainline kernel versions.
- inferiorhuman 4y agoThe problem of FreeBSD adoption is not really for the FreeBSD folks to solve. Fashionable, popular packages have made the explicit decision to avoid BSD support. Over the years I've run into issues with things like Node, Elixir, Visual Studio Code (or any electron app really), Python (Conda) being lax or hostile to supporting anything other than Linux/Mac/Windows. For config management all of the usual suspects should work and all will be painful to scale in non-FreeBSD specific ways. The Opscode related nightmares finally subsided sometime during the pandemic. Was there a specific package you had trouble with?
- Sirened 4y agoVSCode remote not supporting FreeBSD is still so annoying. It's available only as a binary and there's no real, practical reason why it couldn't work beyond Microsoft just not wanting to do so...
- bigpeopleareold 4y agoHave you tried it in the Linux emulation on FreeBSD? My experience is limited to just my laptop, but significant software builds for Linux (like Chrome) run fine for me. I imagine this could be the case for other things not requiring systemd.
- Sirened 4y agothe actual server itself probably works under emulation but the issue is then that when it ssh's in it still uses shell commands to detect the host type, which I can't so easily hack to make it look like Linux without breaking everything else.
- inferiorhuman 4y agoThe problem isn't in getting a random Linux binary to run. The problem is that you're running a software suite that's designed to not run on FreeBSD. If memory serves uname(3) should return Linux when you're running a Linux binary, but then you're back to running a hostile program and working around anything that may arise once you have to break out of the Linux userland.
- lmm 4y ago> Reports seem to say that Wi-Fi and Bluetooth are problematic. They've always been fine for me, and sound is more reliable than Linux. What went wrong for you?
- CoolCold 4y agoI hardly can take this as valid answer until https://github.com/pgj/freebsd-wifibox https://github.com/pgj/freebsd-wifibox exists and in active use by FreeBSD users.
- Gud 4y agoI disagree. I’ve been using FreeBSD almost exclusively for 20 years; WiFi sucks and Bluetooth sucks even more. Still I wouldn’t trade it for Linux.
- yrgulation 4y agoIs there a specific (new) laptop you would recommend using with freebsd? One that is as compatible as you say with wifi and bluetooth drivers. I really want to use it even if just for nostalgia. I love how organised and logical the os is.
- hsbauauvhabzb 4y ago‘ Fundamentally, sudo adds significant attack surface because it is a powerful tool with many features like support for security policies defined in LDAP, so the system is likely more secure without it. ’ This is uncontexualized hype clearly written by someone with no real world experience, hoping to gaslight users into thinking their current system is insecure. Then I scroll up and noticed the article is written by a company who sell presumably consulting services in unix. Go figure. Failing that, there’s limited reasons to use BSD systems instead of Linux unless you have highly specialised requirements. Under many cases I’d imagine it would be more expensive in terms of effort required to hire/train skilled staff.
- lmm 4y ago> Failing that, there’s limited reasons to use BSD systems instead of Linux unless you have highly specialised requirements. Under many cases I’d imagine it would be more expensive in terms of effort required to hire/train skilled staff. I'd expect you'd need more training for Linux, since it changes more often.
- nightfly 4y agoLinux systems hasn't changed a lot in the last 4 years or os. We mostly run Ubuntu LTS at my work and the 18.04 -> 20.04 -> 22.04 deltas have been really low on the server side, and not that significant on the desktop side either During this time frame we've also migrated our last FreeBSD servers to Ubuntu
- johnklos 4y agoMy goodness. How can you possibly say that Ubuntu hasn't changed much from 18 -> 22? There are whole how-tos that are completely useless from those changes. All sorts of things are different. That's ridiculous.
- CoolCold 4y agoNetplan happened on 20.04 AFAIR. Doesn't matter much for your cloud vps you never change networking on, but still. From my perspective, it's not changed much too - I was using apt-get install nginx - I keep using it. Was using systemctl - keep using it. Cannot say I've adjusted my habits during that moves. Ah, home dirs are property secured now.
- DeathArrow 4y agoRather than telling the difference between how command line utilities take arguments and how the file structure is differently laid out, I expected the article to present FreeBSD advantages and to tell me which software works on FreeBSD. I don't use *Nix for the desktop but I would love to find out that FreeBSD allows me to run Kubernetes, Elastic Search, Redis. That I can achieve more throughput with FreeBSD, that Postgres and MongoDB are more performant than on Linux and that the system is more reliable than Linux. How ls and grep works on FreeBSD is no concern of mine. But running Docker is.
- mnd999 4y agoI think you know that Docker is built on cgroups, which is a Linux kernel feature and that as a result it will work as badly as it does on other things that are not Linux.
- fulafel 4y agoDocker Desktop should be possible to port to FreeBSD, it runs virtualized on the 3 other platforms.
- DeathArrow 4y agoI think you know Docker runs on Windows and macOS.
- sam_bristow 4y agoThe article is more balanced than I expected given the comments TBH. I find it interesting that the Linux programs lspci, lsusb etc have ended up with arguably more consistent naming than the BSD equivalents pciconf and usbconfig.
- vermaden 4y agoYou can use both lspci and lsusb on FreeBSD: # lspci 00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4) 00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4) 00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4) 00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b4) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller (rev 04) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04) 03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 3e) 0d:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 08) 0e:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04) # lsusb Bus /dev/usb Device /dev/ugen0.3: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus /dev/usb Device /dev/ugen0.4: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP) Bus /dev/usb Device /dev/ugen2.2: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus /dev/usb Device /dev/ugen0.2: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus /dev/usb Device /dev/ugen0.1: ID 0000:0000 Bus /dev/usb Device /dev/ugen2.1: ID 0000:0000 Bus /dev/usb Device /dev/ugen1.1: ID 0000:0000 # uname -v FreeBSD 13.1-RELEASE-p3 GENERIC
- skibz 4y agoHow did the group name “wheel” come about?
- egberts1 4y agoThe term wheel was first applied to computer user privilege levels after the introduction of the TENEX operating system, later distributed under the name TOPS-20 in the 1960s and early 1970s. The term was derived from the slang phrase big wheel, referring to a person with great power or influence. Source: Wikipedia https://en.m.wikipedia.org/wiki/Wheel_(computing)#Origins https://en.m.wikipedia.org/wiki/Wheel_(computing)#Origins
- rawoke083600 4y agoCan I give the most stupidest and shameful reason I have not yet moved to FreeBSD from Linux (been using Linux as my daily driver for last 15'ish years). Google Chrome Passwords. For some reason you can't install Google Chrome on FreeBSD, you can install Chromium but all my saved passwords are stored in Google-Chrome, and you can't (it seems) port it ! So now I'm stucked with, Ok do I spend a day and move everything (manually) to Firefox/Chromium or do I just suck it up and stay where I am. Yes yes I know there are many "solutions" how to store passwords, that is not the problem, the problem is PORTING my 100+ passwords/logins Ive gathered over the years to a new shiny solution.
- niux 4y agoYou can export your Chrome passwords quite easily: https://bitwarden.com/help/import-from-chrome/ https://bitwarden.com/help/import-from-chrome/
- rawoke083600 4y agoLol how did i miss this ! Thank you sir ! :)
- deleted 4y ago[deleted]
- vermaden 4y agoYou can also install and use Google Chrome on FreeBSD pretty easy with this: - https://github.com/mrclksr/linux-browser-installer https://github.com/mrclksr/linux-browser-installer It will just use FreeBSD Linux Binary Compatibility layer (not emulation). FreeBSD supports most Linux syscalls with it so it can run unmodified Linux binaries 'just like that'. More here: - https://docs.freebsd.org/en/books/handbook/linuxemu/ https://docs.freebsd.org/en/books/handbook/linuxemu/ Regards.
- dig1 4y agoThese guys are selling FreeBSD consultancy, so I don't know how this article can be unbiased. > On Linux systems, it is very common to use sudo for operations that require root permissions Not common unless authors used Ubuntu desktop, which pushed sudo usage to the extremes. I don't even have it installed. However, frequent sudo usage usually indicates something is wrong with how you use the system, maybe account permissions or lack of knowledge of how to use it properly.
- hansel_der 4y agoidk openbsd has 'doas', windows has 'runas', 'su' is also very popular. whats wrong with it in your opinion?
- dig1 4y agoHonestly, I don't have any issues with "sudo" it is an excellent tool for the job - it temporarily executes a command as a different user. But Ubuntu moved that to the next level, and in documentation, you'd frequently find shell samples with multiple successive sudo calls, executed as a root user. That should be replaced with a single "su". On the other hand, I have seen excessive sudo usage only in Ubuntu and some Debian/Arch docs. Maybe, this is the reasoning behind their comment that sudo is frequently used. <joke> Also, you can easily spot Ubuntu users: they'll type almost any command with sudo :D </joke>
- hansel_der 4y agosu asks for the root pw thou, which most ubuntu users don't know.
- yjftsjthsd-h 4y ago> Not common unless authors used Ubuntu desktop, which pushed sudo usage to the extremes. Ubuntu, and Fedora and RHEL et al., and SUSE. Most of the big players prefer sudo.
- deleted 4y ago[deleted]
- crooksey 4y agoAs someone who has used FreeBSD exclusively on bare-metal corporate production servers for the last 10 years, I still wouldn't use it on desktops/workstations. It's built as a server OS and my opinion is that it does this very well, I have tried a few times over the years to use it as a destkop OS, I spent more time configuring my machine than I did actually using it. I can install Ubuntu and 30mins later be using it for work with no issues. If you run your own servers, especially ones that you physically have to maintain the hardware on, FreeBSD is a very reliable choice and the upgrade paths on it are fantastic. I now run some services in Azure and use docker, but all my "on prem" stuff, is still freeBSD powered.
- upofadown 4y agoOpenBSD is often considered the desktop BSD. You install it and it works or it doesn't. The only real hangup tends to be configuring the sound if you want to do something different but once you get it configured that configuration is forever and solid.
- crooksey 4y agoYea, I have tried OpenBSD a few times, but sadly I just don't have enough time to invest in my OS to get the most out of it. I use my machines until they fail, then replace them with a new one/part. A fresh install of ubuntu and they are ready for work in 30mins. I used NixOS for a small period of time for this reason, but even this became more of a headache than it was worth.
- olavgg 4y agoI have used FreeBSD for a over a decade now. ZFS was the new cool thing I feel in love with. Today its a different story. FreeBSD is cool, and you will learn more about Linux by learning FreeBSD and it works really well. However I am currently moving my last system away from FreeBSD. It is just that, Linux/Centos is better, and easier to maintain. Especially third-party packages. There are other things like Linux has support for NVMe-oF which I use together with ZFS on Linux. Applications, especially databases has often 1x-2x better performance. Virtualization is better and more performant. Better NUMA.
- vermaden 4y agoI am still waiting for ANY Linux distribution to actually install ZFS on root with installer AND support ZFS Boot Environments out of the box ...
- E39M5S62 4y agoVoid Linux is probably as close as you'll get to that. OpenZFS is supported across every packaged kernel, and it has native packages for ZFSBootMenu. You can't just click-through to a root-on-ZFS setup like you can with FreeBSD - but Voids' installer is rarely used to begin with. Boot environments aren't as deeply integrated into Void as they are into FreeBSD. That's more a lack of desire/will than a technical matter. Edit: I forgot about Project Trident. They migrated away from FreeBSD to Void Linux with ZFSBootMenu. They did actually support root-on-ZFS through their installer. They gave up after about 18 months, they weren't able to differentiate enough after they stopped being based on FreeBSD.
- vermaden 4y agoThanks for at least a partial solution. Installation can be scripted. I remember the disappointment after PC-BSD died and Project Trident invested their 'time' into Void Linux instead of FreeBSD ... then I thought that it actually my be a good move - so finally some Linux would have some ZFS and ZFS Boot Environments love - especially as these people used ZFS Boot Environments on FreeBSD earlier ... and then it all died. A lot of potential killed/lost there. First - PC-BSD introduced PBI packages - something that is today known on Linux as SNAP for example - some application packed together with libraries and dependencies in one 'package' - then for some reason they killed this idea - while Linux 'reinvented' it as SNAP (and others) and 'The World' was (and sometimes still) is fascinated by it. Sick. Same with Docker that was introduced in 2013. The so called 'World' went crazy with 'containers everywhere' ideology while FreeBSD Jails were available 13 years later since 2000. Sometimes I just got the idea that Linux people do not see any other innovations other then that happened with Linux system. Like FreeBSD Jails or Solaris Zones or IBM WPARs or HP-UX nPars never existed ...
- waynesonfire 4y agoI've made the switch and don't regret it one bit. My home server and projects all in freebsd now. SystemD and k8s catalyzed my decision. I dont want k8s to be my OS. And SystemD is not the linux I remember falling in love with.
- Beltalowda 4y agoIt's not like you need to use systemd on Linux if you don't want to, and you certainly don't need to use k8s if you don't want to.
- hulitu 4y ago> The base system includes all necessary core functionality, and is updated as a single unit. Additional optional software is installed from ports or packages and managed separately. For a desktop X is core functionality.
- merpkz 4y agoI am currently in the process of migrating my own servers to FreeBSD. So far it's a slow process to learn these new tools, instead of what I am used to, i.e ip addr/route show, iptables, nft list ruleset and different default directories for many things. Can anyone report how is Wireguard support? Since I am using it heavily, there is no way without it. So far it looks like only thing I am going to miss is qemu and will probably skip VMs at all and try to utilize jails for everything. Apart from that I am really looking forward to utilize ZFS.
- GekkePrutser 4y agoWireguard has kernel support now. It was originally a botched implementation that almost made it into the kernel but it was rescued by Jason Donenfeld himself at the last minute. But in the end the rewrite was better for everyone. Ars has a good writeup: https://arstechnica.com/gadgets/2021/03/buffer-overruns-license-violations-and-bad-code-freebsd-13s-close-call/ https://arstechnica.com/gadgets/2021/03/buffer-overruns-lice... As far as I know it's been merged back into the mainline kernel now.
- sirsparkythesad 4y agoI don't get it!!! What's the point of migrating to FreeBSD??? Maybe it's OK, if you're red-eyed admin :-)
- GekkePrutser 4y agoFor me it's more control over my system. Also a stable OS but rolling packages is a great combo for me. Most Linux distros have everything rolling or fixed.
- stefantalpalaru 4y ago
- jasoneckert 4y agoFor servers, I use FreeBSD whenever I can because of its speed and simplicity (and ZFS boot environments). However, on a laptop and used as a graphical workstation, it can be painful. I'd love to see a hardware vendor (e.g., like System76) bring out a pre-packaged FreeBSD laptop. I think a lot of people in the *nix community would jump on that, myself included.
- Ericson2314 4y agoI started working on https://github.com/NixOS/nixpkgs/pull/82131 https://github.com/NixOS/nixpkgs/pull/82131 because the idea that different kernel => reshuffled userland is a stupid an a massive source of unneeded switching costs. I am not mad at Linux, but monoliths at the 10M LoC order always need competition. Otherwise we have a major source of unchecked complexity growth with no escape.
- cyfex 4y agoIs hibernation (is it called suspend-to-disk nowadays?) working with *BSD yet? For me, it is a prerequisite for using *BSD as a desktop OS, and what stopped me from migrating from Linux to *BSD last time. Edit: Formatting