I’m a .Net developer and would like to investigate building and running our framework on Mono.
If the initial project is successful I will happily invest in an OS learning curve, but right now I want to focus on getting things up and running and seeing the code working.
What would be the best distribution to start with, assuming that I know very little about Linux, but am an experienced developer? How quickly (hours/days/weeks?) can I expect to achieve this?
Some Feedback so far (Thanks for the answers, guys):
Decided on CentOS, but this was also because this fits in with a particular implementation of the .Net code that I want to port to Mono.The only issue was that I needed to go to version 4 for an out-the-box install of Mono
With some assistance I have been able to get this to a point where I am able to run compiles and start addressing the porting issues. This took a few hours – biggest learning curve is around driving Linux.
20081231: Found the following article for running mono on ubuntu: http://www.ddj.com/windows/212201484
I work for Novell, so I am going to recommend OpenSUSE as the distribution to use for Mono of course.
When you use OpenSUSE, not only you get Mono, but there are hundreds of open source libraries and .NET based applications that we have ported and make available through our update system.
Additionally, many of the preview features are available as packages that are ready to install on OpenSUSE. Other distributions tend to lag behind in both of the above areas.
Besides, the more OpenSUSE out there, the more funds that we get to continue to improve Mono.
The Mono download page gives a fairly big hint as to their preferred distros:
There’s also a page for ‘Unsupported distros’:
Probably Novell (SuSE), since they fund the mono project and pay the core developers, odds are they’re using Novell workstations for their initial coding.
It really shouldn’t matter much, though.
To get started as quickly as possible, there is a VMWare image available on Mono’s Download page. It comes with Mono and all its tools pre-installed, including a running ASP.Net server. You can start with this, and then migrate to whichever distro you choose if you go forward.
If you are a linux beginner I would start with Ubuntu Linux Server;
I installed Mono on a Gentoo server a couple of weeks ago, just to find out that it can’t run precompiled ASP.net sites :’) You be warned, Linux ain’t made for .NET. You should be able to set up the server in a day or 2, configuring Mono to work might take some time…
Use Linux MINT – one of the most complete distros. Also, it has great package management and great startup configuration.
It’s integrated well with suse. But also works great on Ubuntu and ubuntu seems to appeal more to linux newcomers.
Like others have said, Novell has direct ties to Mono, but I wouldn’t think the mono experience would vary a great deal amongst the bigger names (Suse, Ubuntu, Redhat…).
Are you more interested in getting something that’s easy to get up and running or is there a plan to deploy this in production at some point down the road? If it’s the former, my personal preference would be Ubuntu, but if it’s the latter, then that’s more of a question for you and which one will integrate better with your existing infrastructure, and provide the kind of support you’re looking for, etc.
If you want to avoid the OS-learning curve go for one of the desktop-oriented distributions like Ubuntu or Fedora. Any one of the “big” ones does have mono packages. If you want to try out specific (especially development-) versions, you’ll have to do a manual install anyways.
Also avoid running it on real hardware 🙂 VirtualBox is a great and free virtualisation solution and can really take the hassle out of testing software, if you don’t care about dual boot, master boot records and hardware failures.
I’ve been using Ubuntu for Mono development for a while now, and I’ve found it perfectly satisfactory, execept that it’s a little tough to set up Apache with mod_xsp to get the web portion working. The GTK# in MonoDevelop with a Stetic UI is fine though.
As far for running mono, in my case for ASP.NET, I’ve a preference over arch linux (very popular rolling release distro, the one I use on my desktops) for development test server and ubuntu (or fedora) for production.
I’ve started using linux on Set/2010 as my main desktop solution and as senior .NET developer right know I’ feeling very comfortable on it, I’me not an expert but I already manage the majority of the required tasks to do the job using my own skills (and a lot of Googling :D).
At the same time, concerning development, i still use a Windows 7 VM to run the best ever IDE for it VS2010. MonoDevelop is getting cooler but is very unstable an lack a lot of features for web development.
Learning about a new OS is good. I should use what best fit to do the job: linux, windows, etc.