Advertisement

Recommend Distro..

Started by December 28, 2009 05:34 PM
10 comments, last by xibo 14 years, 10 months ago
Well, I have a Western Digital Velociraptor (10k rpm) sitting on my desk (the original raptor was replaced). I'm debating on what I want to do, I do indeed want to dual boot my PC. I want to start using Linux (I have experience, need to start development). I've used: Redhat, Fedora, Ubuntu, Suse, and Solaris. But I'm not sure what I want to use now. I downloaded Ubuntu x64, partially because it's widely used. But it seems like OpenSuSe has really progressed well since I used it. So, I'm mainly doing MONO development. What do you guys recommend? My Windows experience stretches from Win95 to Win 7, and Win00 to Win08 (server). This would physically be the first time I used a linux distro on my desktop PC though =). Eventually, I want to get a dedicated system for it.
After many years of using RedHat and Fedora, I switched to Gentoo a couple of years ago, I am not looking back:

The pros:


  • The portage system though criticized, has pretty much any package you may want to install, I am yet to manually compile anything myself

  • No politics crap in the way of excluding a package because of its license

  • No Versioned distros coming out every 6 months (per se, there are updated ISO images per year, but once you've installed it, you're set) which never properly upgrade the system unless you reinstall



The cons:


  • Compiling each package does take time, though less so on recent enough rigs

  • Compiled object files can take quite a lot of disk space, so you have to constantly clean them up and keep enough free space to compile packages

  • Each time the kernel is updated you have to (de)select the modules you want/don't want included and compile it, though genkernel automates most of the compilation and installation process



There is a binary package system so, you don't really have to compile everything, also, some say compiling optimizes packages for your system making it faster, this is debatable, the reason I like compiling the packages is being able to add or remove functionality from the packages without going to external repositories, rebuilding rpms and so on.

Of course, Gentoo is not for Linux beginners, though you say you have previous Linux experience, so you should be able to deal with it.
Advertisement
Thanks. I'm going to look into it because Ubuntu's installer is screwed up. The partition manager was really messed up. I had to maximize and then restore it to get it to update the menus.. then I couldn't click the "forward" button because my screen was stuck in 640x480 (on a 22" lcd) that is just huge.

So now I'll research Gentoo and OpenSUSE.
There's also Arch Linux, which is sort of similar to Gentoo in that it is targeted at the intermediate to advanced user. Like Gentoo, it offers a great deal of control to the user. It is rather well documented through the wiki. With that said, the best thing about Arch is of course that the package manager is called pacman. :)
Quote: Original post by Kwizatz
Each time the kernel is updated you have to (de)select the modules you want/don't want included and compile it, though genkernel automates most of the compilation and installation process


Copy the .config file from your current kernel source directory to the new one and type "make oldconfig".

This way you only need to set those configs that are new since the last kernel version.

@OT: I have used both Gentoo and Ubuntu. Both have flaws but work fine. The problem with all Linux distros is, that many of the GUI utilities are often not very well tested, because very few people actually use them.

Once you're comfortable with the command line and a search engine, you can do almost everything on every distro.
Quote: Original post by Windryder
There's also Arch Linux, which is sort of similar to Gentoo in that it is targeted at the intermediate to advanced user. Like Gentoo, it offers a great deal of control to the user. It is rather well documented through the wiki. With that said, the best thing about Arch is of course that the package manager is called pacman. :)


Large +1 for Arch. It's especially great for Mono and/or graphics development because it gives you access to the latest versions/drivers without you having to do anything (other than update regularly). Good documentation, small, fast, great package manager and great community all around. On the downside, you have to keep an eye out for potentially unstable updates. It's not very common, but it might happen e.g. during xorg/kernel updates which might break your video drivers (fortunately, it's very easy to downgrade). This is the distro I use on VMs for testing.

Ubuntu is a good, low(er)-maintenance alternative, but you won't get the latest versions of Mono/MonoDevelop unless you compile them yourself (rather tedious and the latest versions really do make a difference while developing). On the plus side, it boots fast, offers a great out-of-the-box experience and it has very good support (simply because it's the largest distro of the lot). On the minus side, you only get "real" updates once every 6 months (e.g. the current version runs Mono 2.4.3, while the latest is 2.6.1). This is my distro of choice, simply because I don't have the time to maintain Arch manually anymore.

OpenSUSE is also an ok-ish choice, but it really isn't as well put together as e.g. Ubuntu is. On the plus side, you can upgrade Mono by downloading from the Mono website. On the minus side, the package manager can be shaky, especially in distro upgrades, the UI is meh and the distro in general boots and runs slow (too slow in a VM for example). It really is a step down from the rest.

I'd also avoid Fedora (too unstable), Debian stable (too old software) and Debian unstable (use Ubuntu instead). Finally, Gentoo is a bad choice if what you just want to develop software: Gentoo is a full-time hobby, not a means to an end!

[OpenTK: C# OpenGL 4.4, OpenGL ES 3.0 and OpenAL 1.1. Now with Linux/KMS support!]

Advertisement
Well, what do you want from it?

Personally I have used mostly OpenSuse and Fedora, but am on Mandriva atm which I really like too. From all the distros I tried, I like Fedora the best although mandriva is very nice, perhaps the smoothest of all. (more so than ubuntu). Latest Fedora did not work with fglrx drivers, that's why I switched.

OpenSuse for me was quite stable, but sometimes a bitch when it does break or you need to do some modifications. Fedora is much closer to upstream, which I prefer. I do think OpenSuse has lots of goodies for developers though, perhaps it also has closer ties and better packages to Mono upstream, not sure if that matters for you.
Now a question asking what distro won't help you too much so many out there so many opinions. From experience there are 3 out there that are always rock solid in my opinion. Slackware, Gentoo, and Ubuntu. Ubuntu if you want a easy to use desktop. Slackware and or Gentoo if you want to actually learn linux and why it is so amazing. As for Mono Opensuse will have the best overall support because Novell owns the project last I checked.
Quote: Original post by Windryder
There's also Arch Linux...


Another definite +1 for Arch. It's lightweight, highly configurable, and has a nice package manager with a well maintained repo that lets you choose binary install or automated source builds. It's easily my favorite distro and I've tried pretty much every major one.

Also, if you prefer KDE (like I do), The Charkra Project/KDEmod is a fantastic tweaked version of KDE for Arch.
I use gentoo's pms and I'm quite happy with it ( though i'm a bad gentoo user since i have vanilla in my use flags )

Quote: Original post by Rattenhirn
Quote: Original post by Kwizatz
Each time the kernel is updated you have to (de)select the modules you want/don't want included and compile it, though genkernel automates most of the compilation and installation process

Copy the .config file from your current kernel source directory to the new one and type "make oldconfig".

Alternaly you can also "zcat /proc/config.gz > /usr/src/linux/.config" ( requires running kernel to be built with CONFIG_IKCONFIG ) if you don't have the current kernel's config around any more.

This topic is closed to new replies.

Advertisement