Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am quite new to linux. I have to install Mono on a linux machine from souce code. I know the general method: read-instructions, install-dependencies, ./configure, make, make install. However this approach doesn't fit into the general Ubuntu package management routine. Other programs I install from .debs won't be able to notice the version of Mono. Also I can't remove Mono using standard Ubuntu package management tools.

Is there an easy solution? I have seen that Ubuntu actually has several separate packages for the Mono project. Should I build packages from Mono? How can I follow the same conventions as the ubuntu packagers? Where should I look for info on packaging? Can you give step by step instructions?


share|improve this question
up vote 2 down vote accepted

You want to use the personal package archives on - there are very up to date versions of lots of different software packages in different PPAs.

If you want the really bleeding edge mono, then there is a mono-testing PPA with mono 2.4 at

To install packages from a PPA, and get updates for them, follow these instructions. Once you have done that you should just be able to do

$ sudo aptitude update
$ sudo aptitude upgrade
share|improve this answer

The mono-cli team hasn't packaged the latest 2.6 version yet. So there are no packages to install. Further bad news is it's not coming in 10.04 (Lucid) either. So you will have to install from source, or package it yourself. Do not attempt the later, it's not beginner stuff at all. Mono packaging is one of the most complex collection of packages in debian/ubuntu. So install from source in a parallel environment and you will not break your distro supplied mono. You can then pick and choose which mono to use to run/build your apps. Get the script from my blog to do it all for you...

chmod +x

Then, for example, you can do this...

mono-2.6 banshee-1
mono-2.6 mono -V
mono-2.6 your-app
share|improve this answer

The closest solution to easy is to build a new package. apt-get source the source and replace the old upstream tarball with a checkout. bump the version as appropriate, then rebuild, install, and hope you didn't mess anything else up. Note that anything that needed a specific library version will be hosed, and usually replacing something like mono requires rebuilding everything it depends on.

share|improve this answer

Is there an easy solution?

Before you spend too much time building something yourself look around and check the packages in Debian SID, and Launchpad. Check out to see if the mono project already has the scripts in their repository for building a .deb package. It is possible that there is already a development version someone is working on that is newer.

If the version you want isn't available already check with the Debian/Ubuntu maintainers for that package and see if they are working on building it. Try and find a way for you to help the current maintainers. If you help them, then you might be able to avoid having to always maintain your package.

If the version you need is already available in the unstable branch of Debian or Ubuntu, then you may be able to simply download the source package recompile it for version of the distribution you are currently running.

How can I follow the same conventions as the Ubuntu packagers?

If you are interested in this you probably should start with the Debian New Maintainers' Guide.

Download the source package for mono to get an idea about how the package is currently built.

Can you give step by step instructions?

Not really, each program is different, and I have no experience with mono.

share|improve this answer

The easy solution to install packages in ubuntu & as well as debian is

1.apt-get install ( Installation Of Packages)

2.apt-cache search (Search for package)

  1. apt-cache policy ( To search installed package)

Try using this..:)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.