Best Linux distro to use as a precursor to FreeBSD? reddit / freebsd ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 09:25 I just got into FreeBSD and am in the process of reading the Handbook and testing it out on VirtualBox. My college says I'll need a Linux distro to learn programming in C. Can someone recommend a distro that has the best overlap with the way FreeBSD works and/or you like for any reason? I'll probably need to use it even after I complete college until I can get my hardware to work with FreeBSD. Slackware, Gentoo and Void are the names I've seen thrown around as the most BSD-like. Which distro do you recommend (even outside of these three)? Edit: I know FreeBSD is great for programming. I don't want to use Linux but it's not up to me. I'm from India and we can't afford to disobey our profs here. For instance, a cousin of mine was failed in his last two semesters because he didn't suck up to his professor. I'll post an update here if my prof accepts FreeBSD as an alternative but till then, Linux is the way to go... The score till now: Void - 1 Gentoo - 3/4 (?) ---------------------------------------------------------------------- vermaden · 2020-10-19 09:40 FreeBSD is great for learning programming in C. Use one of these: * GhostBSD * NomadBSD * FuryBSD ---------------------------------------------------------------------- unhappy-ending · 2020-10-19 09:44 ... seriously? Why on earth wouldn't you be able to learn how to program in C using FreeBSD? It's only compiled by clang the "c"lang(uage) compiler that also handles c++. FreeBSD has all the tools required to program in C. If you are required to use Linux, then Void is probably the most BSD like because it offers both binary and source. Gentoo is source only, so it's not quite BSD like but it used to have a FreeBSD kernel based spin, which is no longer active. Gentoo is more flexible than Void, requires some knowledge of how compilers work and will have all the necessary tools by default because of its source nature to start working in C. ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 09:58 From the few Zoom meetings I've had with my Professor, he didn't seem like he was interested (at all) or that knowledgeable in his subject. Convincing him of my using another distro instead of his mandated Ubuntu may itself take some time and work. I wouldn't be surprised if on inquiring him, he were to ask me what FreeBSD is... ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 10:04 Yeah but I doubt my professor would allow it... I'll ask him for the sake of it. If he accepts, great. If not, I'll have to work with Linux for now... ---------------------------------------------------------------------- ngc-bg · 2020-10-19 10:15 Oh come on.... seriously?! Just out of curiosity , how old seems to be your professor? I have a challenge for you :) work as required (say it is ubuntu) after that spend 20 min per day and try the same things you already did but with freebsd. Analyze the results, your personal affiliations and even feelings. Publish a blog post with pros and cons ;) On the subject - this is ridiculous! C could be studied on virtually every Unix posix system. ---------------------------------------------------------------------- L3TH4L_BR · 2020-10-19 10:34 Well screw your professor. For coding in C, there's no reason not to use FreeBSD if that's what you want ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 10:34 He looks about 50. The thing is, I'm from India and here it's common to have unsupportive and (not entirely) unknowledgeable professors. It's a very different environment from what I understand of the first world education systems. (As a side note, you could ask r/india or r/Indian_Academia for a better understanding :)) From what I've read/experienced, FreeBSD could surely outperform Ubuntu at the very least. But ultimately it's not up to me... ---------------------------------------------------------------------- [deleted] · 2020-10-19 10:41 [deleted] ---------------------------------------------------------------------- ngc-bg · 2020-10-19 10:44 I can relate to this since I am from south-east Europe so the issues with the education system are not so foreign o me :) ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 10:49 Haha nice... 👍 ---------------------------------------------------------------------- [deleted] · 2020-10-19 11:00 Technically it doesn't matter but if you run into issues or he needs to test your code, using one distro for the whole class makes sense because it reduces uncertainty. So, use what he says to use, get your good grade, and learn BSD separately on your time. This is no different than using the tools your company mandates for your job, but using what you want while not on the job. ---------------------------------------------------------------------- Xerxero · 2020-10-19 11:00 Maybe he has some exercises that need some specific Linux library. Who knows. But for 99% of the exercise FreeBSD will work just fine. ---------------------------------------------------------------------- L3TH4L_BR · 2020-10-19 11:04 That's true, lack of support for certain applications are the very only reason I don't use FreeBSD as my main OS also. However, I can't imagine this to be applicable for OPs situation. ---------------------------------------------------------------------- crest_ · 2020-10-19 11:08 I've used FreeBSD in university. All the common C development tools are available as ports, but you will probably be on your should you run into problem. You don't have to learn on C on a physical machine. You could install some of the usual suspects in a bhyve virtual machine to run their examples and test your solutions. ---------------------------------------------------------------------- nahnah2017 · 2020-10-19 11:15 I thought I heard Debian was supposed to be the closest to FreeBSD-- not that I would know. ---------------------------------------------------------------------- ModParticularity · 2020-10-19 11:20 gentoo is nice and all but can be timeconsuming to setup.Unless you need the entire system to be bleeding edge its probably just easier to pick a mainstream distribution and add any additional libraries as needed for your development. ---------------------------------------------------------------------- Striking_Ad_7465 · 2020-10-19 11:35 Thanks! I'll try Void and and if it doesn't work, I'll go back to Ubuntu... ---------------------------------------------------------------------- vermaden · 2020-10-19 11:49 When I have to work with Linux on the desktop, I make sure that I do not have to cope with anything Linux related. This means that I have used either UBUNTU MATE (with Cupertino layout) for 'general' desktop or TAILS for temporary/disposable out-of-the-box automated TOR BROWSER. UBUNTU MATE with Cupertino layout looks like that: https://i.imgur.com/xO2zUmm.jpg ---------------------------------------------------------------------- unhappy-ending · 2020-10-19 11:54 If you follow the handbook to the letter and don't mess around with use flags, then Gentoo is a very easy distro to setup and get to a prompt. Especially now with the distribution kernels being a thing. A stage 3 install should take no more than an hour at most. ---------------------------------------------------------------------- drupol · 2020-10-19 12:04 Gentoo and/or Funtoo. I use Freebsd and Gentoo since a decade and there are a lot of Freebsd concepts in Gentoo. I love both of them. ---------------------------------------------------------------------- xMrIs · 2020-10-19 12:06 as an alternative, Linux under FreeBSD's Linuxulator ? you can fire-up a Linux vbox guest anyway ... ---------------------------------------------------------------------- zilti · 2020-10-19 12:15 I'd take anything over Ubuntu... ---------------------------------------------------------------------- SigmaX · 2020-10-19 12:28 One dimension of similarity is FreeBSD's philosophy of keeping things "simple" (from an experienced user's perspective), and having a do-it- yourself flavor (in the sense of having to manually choose, install, and configure a GUI, among other many other things). Of the 5 main families of Linux distro (Debian, Slack, Redhat, Arch, and Gentoo), **Arch** and **Gentoo** both take the DIY approach. Personally I flip back and forth between Arch and FreeBSD, and quite enjoy both. The legendary Arch wiki is a nice parallel to the FreeBSD Handbook. ---------------------------------------------------------------------- gumnos · 2020-10-19 16:00 I'd say it largely depends on what you're trying to accomplish. - If I wanted a system that felt like a BSD, I find that Slackware feels the most like using a BSD system. - If I wanted one that felt most like the build-from-source aspects of the BSD ports-systems, then I'd likely go with Gentoo or maybe Arch - If I wanted to make this teacher happy, I'd just install Ubuntu because that's what you say they demand. Maybe dual-boot or install it in a VM - If I didn't care about the above, I'd just use a BSD and compile there. For C development, Clang works well, most of the same libraries are available. Particularly over on OpenBSD, Otto has done some amazing work on `malloc()` that makes it a lot easier to track down memory leaks/bugs. And you don't have to go all-in. You can do more than one of those, syncing your project via something like `git`, so you can build/test on your favorite BSD, push it up to your git repo, then pull it down in a Linux VM and rebuild/test it there. The diversity of platforms helps write better C code. Also, I've found it helpful to build on multiple CPU platforms if you have the option—amd64, i386, arm32, arm64, ppc, etc. I don't know how many of those you have accessible, but I've caught bugs where 32-bit- vs-64-bit or little-endian-vs-big-endian differences cause issues. ---------------------------------------------------------------------- [deleted] · 2020-10-19 16:57 [removed] ---------------------------------------------------------------------- ModParticularity · 2020-10-19 17:12 i'd expect that the bar for very easy is a little bit lower in r/freebsd since it just doesnt have the same userbase as say ubuntu, but reading the manual and spending an hour following the configuration settings is not something i call quick and easy. ---------------------------------------------------------------------- beowuff · 2020-10-19 17:47 1) I’d keep everything simple and use what the professor says you should use. Spend the time learning C, not a new OS. If you have any issues, the professor won’t help you otherwise. 2) Core C is pretty standard everywhere. Most of what you would learn on Linux or even Windows will be useful. Quit distracting yourself with OS concerns at this point. 3) I’d say Arch is the closest to FreeBSD. Build up from a super simple core system. Default to pkg installs with the option of compiling. ---------------------------------------------------------------------- craftkiller · 2020-10-19 18:42 Tbh I wouldn't bother. FreeBSD is a great OS but in school you should be aiming to be as compatible with the class as possible. Every time you have a problem you don't want to have to think "did I do something wrong or is this a freebsd-specific issue?" because that will eat away your time and add to the cognitive load of school. Certainly play around with FreeBSD in your spare time when not actively working on school though! ---------------------------------------------------------------------- [deleted] · 2020-10-19 18:51 [removed] ---------------------------------------------------------------------- Hamilcar98 · 2020-10-19 21:09 Find a Linux distribution which allows you to use an init system other than 'systemd'. There aren't many options, but you can find a list at https://nosystemd.org . I would use Devuan personally, but Gentoo is the most widely-used distribution on that list. It really doesn't matter, though. My day-to-day use of Linux and FreeBSD is about the same. Differences come into play when I manage the system or need to troubleshoot something. Edit: I'm not against systemd in general, but it is very different from FreeBSD's init system. ---------------------------------------------------------------------- meatmechdriver · 2020-10-19 21:20 And your professor's attitude adequately exemplifies how the Linux community is a toxic wasteland. ---------------------------------------------------------------------- ryze_cotch · 2020-10-19 23:10 Admittedly, freebsd is very linux-like. ---------------------------------------------------------------------- TrenItaglia · 2020-10-19 23:49 go for Slackware ---------------------------------------------------------------------- sreelinux · 2020-10-27 22:42 I use Void Linux as my "linux of choice", and I think I can recommend it. Otherwise if you're learning C I don't see the issue with just running FreeBSD, since C compilers/editors/etc. are available for FreeBSD anyways. ---------------------------------------------------------------------- [deleted] · 2020-11-08 18:16 [removed] ---------------------------------------------------------------------- reddit_original · 2021-04-10 18:48 What "school" is this? "John's School of Computers and Stuff"?