How to remove Mono from Ubuntu 9.10 Karmic Koala [Updated]

AkhenatenI’ve been mildly intrigued as to why the volume of background noise and character assassination that has surrounded Mono has been on the wane over the last few months. Consequently, I started wondering if there were any obvious reasons for this outbreak of pacifism in what has sometimes seemed like a debating chamber for differing groups of religious fundamentalists.

Some of it is surely to do with Microsoft’s Community Promise made back in July 2009, but I doubt that is really the only reason for the attenuation. I do wonder if Mono might just simply be losing some of its lustre. In August Blackduck reported how the amount of code being written for FOSS projects using C# was pretty negligible at just 1.33% and that growth in C# usage over a 12 month period was virtually zero.

There were also some rather nasty and personal attacks which did nothing to help our community at large nor the reputation of the individuals’ concerned so maybe people have consciously, or subconsciously, decided to just shut-up for a while?

Quite recently Microsoft, along with Intel, announced that they will ship Silverlight on Linux as opposed to using the Microsoft/Novell sponsored Mono project called Moonlight. OK, admittedly this announcement was only for Moblin Linux, but hey, since when has Microsoft ever been transparent about it’s long term objectives or plans? Perhaps, Mono and Moonlight were just too heavyweight for Moblin devices (netbooks and smart-phones typically), or maybe there is more to it. It could be a very good start to a typical Microsoft "Embrace, Extend & Extinguish" strategy. Who knows? But it certainly isn’t exactly a ringing endorsement of Mono and Moonlight is it?

The awkward question: If it’s that easy to port Microsoft Silverlight to Linux, why does the Moonlight project exist at all?

“I’m really clear about our commitment to Moonlight. I see the work we’re doing with Miguel and Moonlight as core to our strategy for delivering implementations for Linux,” says Goldfarb, protesting, perhaps, a little too much. ®

Anyhow, my personal opinion of Mono hasn’t changed much. There are no Mono applications in Ubuntu that make me go weak at the knees and get all excited; far from it in fact:

  • I’ve never really had any need for Tomboy at all and since discovering Getting Things Gnome my jotted notes and todos all go in this great little Python task keeping application anyway. If you have used, or ever wanted to use Tomboy in the past however there is now a clone written in C++ called Gnote. This is in the Karmic “universe” repository and can be installed either from Synaptic, the new Ubuntu Software Centre (now spelt correctly if you use an en_GB locale) or by typing sudo apt-get install gnote.
  • When I last used F-Spot, which was probably back in Gutsy or Hardy days I reckon, it annoyed me that the application wouldn’t automatically delete the pictures off my camera after importing. GThumb did and always has; so no big deal there then. There is also a new kid on the block called Solang that is in the Karmic repos too. I haven’t tried it in anger myself yet but I’ve heard good things from others.
  • Media Players/Managers? “Banshee!” I hear you cry. Well, I’ve never tried it because I don’t have Mono on my Ubuntu desktop or laptops so I can’t say if I like or not as an application. On my Ubuntu machines, the only music player I have tried and actually really liked, is Songbird. There are still a few features missing, but the forthcoming 1.4 release is looking like it will plug some of these gaps. Songbird looks, feels and works fine for my needs.

On the 15th October a very important figure in our community penned his own contribution to this discussion. Jeremy Allison, of Samba fame, wrote a well considered letter essentially calling on the major GNU/Linux distributions to move Mono outside of their default and core repositories. It’s something others, including myself, have discussed before, but likely with a lot less weight than Jeremy’s comments will surely carry.

… I think it is time for the Mono implementation and applications that use it to be moved into the “risky” category, until the patent situation around it is deemed to be truly safe to use by default in Free Software.

Microsoft isn’t playing games any more by merely threatening to assert patents. Real lawsuits have now occurred and the gloves are off against Free Software. Moving Mono and its applications to the “restricted” repositories is now just plain common sense.

Anyway, back to the reason for this post.

In the latest, shiniest, bestest, release of Ubuntu to date, and it really is a cracking release, the desktop version of Karmic Koala (version 9.10) contains two Mono dependent applications in the default install along with the Mono VM and associated libraries etc.

Now, this time, we have 3 ways to go Mono free:

  1. Visit Jo Shield’s blog and get Chicken Little Remix (CLR). Chicken Little Remix (CLR) provides a solution for users who wish to use Ubuntu but would prefer it to not contain any Mono-based software. This 2nd release of CLR, based on Ubuntu 9.10, comes as a livecd with it’s own unique desktop wallpaper and also features replacement applications where appropriate.
  2.  

  3. Use the KDE based Kubuntu instead of Ubuntu, which uses Gnome. (Thanks Mark for pointing out my omission in the comments below)
  4.  

  5. Install the regular Ubuntu distribution and then remove the applications and their supporting packages*. The simple command required goes like this [Update] Thanks to Jo who mentioned the 3 libraries that should also be removed [/Update]:

    sudo apt-get purge libmono* libgdiplus cli-common libsqlite0 libglitz-glx1 libglitz1

    Which should reply with something similar to:


    The following packages will be REMOVED
    cli-common* f-spot* libart2.0-cil* libflickrnet2.2-cil* libgconf2.0-cil*
    libgdiplus* libglade2.0-cil* libglib2.0-cil* libgmime2.2a-cil*
    libgnome-keyring1.0-cil* libgnome-vfs2.0-cil* libgnome2.24-cil*
    libgnomepanel2.24-cil* libgtk2.0-cil* libmono-addins-gui0.2-cil*
    libmono-addins0.2-cil* libmono-cairo2.0-cil* libmono-corlib2.0-cil*
    libmono-data-tds2.0-cil* libmono-i18n-west2.0-cil* libmono-posix2.0-cil*
    libmono-security2.0-cil* libmono-sharpzip2.84-cil* libmono-sqlite2.0-cil*
    libmono-system-data2.0-cil* libmono-system-web2.0-cil*
    libmono-system2.0-cil* libmono2.0-cil* libndesk-dbus-glib1.0-cil*
    libndesk-dbus1.0-cil* mono-2.0-gac* mono-gac* mono-runtime* tomboy*
    0 upgraded, 0 newly installed, 34 to remove and 0 not upgraded.
    After this operation, 47.8MB disk space will be freed.
    Do you want to continue [Y/n]?

NB: This command was tested on a default installation. The purge switch is designed to remove configuration data too. If you have any important information on your system that might be dependent on these applications, please do your research and backup or copy it first. I test the command in a clean Virtual Machine build before using it on a live system: YMMV.

* If you are aware of any other packages that can, or should be removed, please let me know and I will update the post.

Depending on your vigilance or need, you may wish to install the package called Mononono which will keep a look out for you and alert you if an application tries to install any Mono components.

For those of you who do not happen to be scholars of ancient Egyptian history, the picture at the top of this article is of the Egyptian Pharaoh Akhenaten regarded by some as the first Monotheist:

Akhenaten tried to bring about a departure from traditional religion that in the end would not be accepted. After his death, traditional religious practice was gradually restored, and when some dozen years later rulers without clear rights of succession from the Eighteenth Dynasty founded a new dynasty, they discredited Akhenaten and his immediate successors, referring to Akhenaten himself as ‘the enemy’ in archival records.

Image courtesy of Wikimedia under several free licences.

Tags: , , , , , , , , , , , , , ,

56 Comments

  • Jack Hughes says:

    Will you be removing all of the samba tools as well, I mean presumably it is dependant upon a bucket load of patents owned by Microsoft was well? 🙂

    • Leonid F says:

      samba is different. samba developers have agreement with microsoft.

    • TaQ says:

      More about the differences of mono and Samba, by Jeremy Allison himself: http://www.tuxdeluxe.org/node/299
      Just to make clear the difference.

      • Foobar says:

        The only difference between Samba and Mono is that Microsoft was forced by the EU to list the patents they believe are required to implement CIFS.

        Then Samba has to actively work around avoiding those patents, but try to get out a statement from anyone in the Samba team that states that Samba infringes no patents.

        All Jeremy Alison said on that post was that they know where to look and hope they can avoid. This is very different from “We got assurance from Microsoft that they will not sue or demand payments”.

        Go ahead, try to get that statement.

    • Marisano James says:

      So your logic is to encourage more ostensible dependencies?

  • Lumaga says:

    Great Alan, thanks for all

  • […] In the latest, shiniest, bestest, release of Ubuntu to date, and it really is a cracking release, the desktop version of Karmic Koala (version 9.10) contains two Mono dependent applications in the default install along with the Mono VM and associated libraries etc. More here […]

  • […] come on, everyone else is doing it. You can even visit us on Karmic Koala. What doesn't it […]

  • Jack Hughes says:

    Alan, your series of posts advising people to uninstall Mono don’t reflect well on you or your blog. Sure we all like links and attention to our blogs but there have to be some limits. You are telling people to uninstall projects like Tomboy, a tool that I’m sure has taken somebody a ton of work, for no other reason than you disagree with their choice of programming language. I really don’t feel comfortable with that. As technologists we should be above petty politicking and recognise a project for the intrinsic value it brings to the table, not some pretty irrelevant language/VM choices. Your case against Mono seems no more than baseless innuendo.

  • […] to Ubuntu GNU/Linux and about 100,000 desktops are affected as well. They will hopefully use these new instructions to remove Mono, before Microsoft's police comes […]

  • Alan Lord says:

    Hi Jack, thanks for commenting as always.

    The purpose of these posts is to show people how they can remove Mono apps from their distribution if they wish to. I’m not “telling” anyone to uninstall anything. My own reasons for not liking Mono are well documented here and do not need regurgitating.

    I am really very happy that the vitriol of earlier times with regards to this issue seems to be abating and I made a conscious effort to moderate the language in this post accordingly. We all have freedom to choose and mine is to not use Mono-dependent applications; as also it seems is Jeremy Allison’s and many others.

    • Mirco Bauer says:

      We all have freedom to choose and mine is to not use Mono-dependent applications; as also it seems is Jeremy Allison’s and many others.

      Alan, haven’t you read the post of Jeremy Allison you linked in your article? As he says he is using Mono software in that post. Copying from his post:

      I actually do use a Mono application to index all my personal photographs, the very capable F-Spot. I prefer it to the alternative of Google Picasa because at least F-Spot is Free Software (and yes I’ve reported bugs in F-Spot by looking at the code :-).

  • […] that time of the year again and hats off to Alan for a timely write up on cleaning Ubuntu, titled as expected “How to remove Mono from Ubuntu 9.10 Karmic […]

  • Thank you very much. I used this in previous releases of Ubuntu and forgot which packages had to be removed. Beside that, I Love Mononono. The greatest protection tool against this trojan 😉

  • Jack Hughes says:

    Alan, are you not at the very least actively promoting, if not actually selling, proprietary software that runs on Linux? Why is that ok, but Tomboy for some reason isn’t? Even though Tomboy is completely open source. How do you know what language the proprietary software is written in? You don’t have the source code as you do with Tomboy. Heaven forbid that it too is written in c#. With proprietary code you have no idea what techniques are being utilised, consequently you are not in a position to understand how risky it is from a patent perspective. From that perspective alone it does seem odd that you are actively encouraging people to install a piece of software whose level of patent risk is unknown to you and yet encouraging the deletion of a project whose risk of patent litigation is infinitesimally small. Microsoft aren’t short of lawyers, they’ve got more lawyers than most software companies have employees. Microsoft’s lawyers would have to be inordinately lazy not to have taken some kind of action by now if there was a problem. Seems odd that a company who we are supposed to believe is on the cusp of suing Mono into oblivion just happens to invite the founder of said project to its developer events giving access to core engineers and actively cheerleading the development of the project.

    I don’t buy that you are just giving people the information they need to uninstall Mono. Whether you believe it or not you are encouraging it. This post is the digital equivalent of book burning…

    The only thing this post suggests to me is that you too have joined the “software taliban”. You want to be careful with the extremists Allan because maybe they’ll turn on you for equally nefarious reasons as you’ve done with Tomboy.

    I am going to unsubscribe from your blog + twitter feed. I have enjoyed reading your blog and am sorry it has come to this.

  • TaQ says:


    The only thing this post suggests to me is that you too have joined the “software taliban”

    I see it on other way. The talibans will not allow Alan to remove the software he doesn’t like from his computer and will force him to use it. Alan (and me, you) is free to do whatever he wants with the software installed on his computer and seems to care to have an option to not be forced to use something he doesn’t like just because others think it’s good for him or when he thinks that it can be a menace to this freedom.

    I always remove mono after an Ubuntu fresh install also and would like to keep this way, I’m free to do this as you are free to keep it. Alan with this post give me an easy way to do what I need, so, thank you, Alan.

  • Alan Bell says:

    hmm, bit of an outbreak of unnecessarily emotive language. Not quite sure where we are promoting or selling proprietary software on Linux (maybe the miserware thing which we don’t sell?). I think most people’s interest in this series of posts is to know what depends on Mono and that it is removable. There are always alternatives to applications, choosing Getting things Gnome over Tomboy does not imply that Tomboy is bad or non-free. There have been compelling arguments put forward by Jo Shields and others to suggest that Mono is not as dangerous as one might naturally think (and there is work underway to split Mono into a portion that is very safe and a portion that is probably quite safe). I would accept this, but I still want to maintain an understanding of what is dependent upon Mono and how removable it is and whether this changes over time. If there came a point where it was not possible to do a Chicken Little Remix that would perhaps be a bit of a concern, the current trend does not suggest that will happen.

  • the future says:

    What’s being done to mitigate the encroach of Jo Shields and partners in crime into Linux? These guys are spreading to Debian, which used to be known as the Freedom distro. It now accepts blobs *and* has mono, not just present, but actively profiled.

  • Mark says:

    Three, actually.

    Kubuntu ships without Mono. Great desktop, and great default applications. Kubuntu 9.10 features better OpenOffice.org and Firefox integration, and GTK+ applications fit in pretty seamlessly also.

  • Italo Maia says:

    Thanks Alan! Don’t like mono in my machine either.

  • Jo Shields says:

    libsqlite0
    libglitz-glx1
    libglitz1
    should also be removed

    • Alan Lord says:

      Thanks Jo, I did notice those lying around but wasn’t sure if they were required for anything else. Will update.

    • Evan Stevens says:

      libsqlite0,libglitz1/libglitz-glx1 are written in C and have no mono dependencies. It might be better to add a ‘sudo apt-get autoremove’ to clear up anything that was only used by mono apps on a running system (bits of empathy’s backend for example).

      • Evan Stevens says:

        Actually I’m talking bollocks that telepathy bits and bobs require sqlite.

      • Jo Shields says:

        Stuff seeded on the LiveCD can be a bit funny over autoremove.

        Glitz & SQlite 2 are used by F-Spot, nothing else as standard (the latter as part of an automated conversion to SQlite 3 on old photo DBs)

  • SQLite says:

    What is contaminated in SQLite?

    • Alan Lord says:

      @SQLite, I am not sure myself. I took the advice of Jo Shields (A Mono dev for Debian/Ubuntu) who suggested these could be removed too. libsqlite0 is the older version 2 of sqlite. AIUI other apps use libsqlite3-0.

      I suspect that it is not in itself dependent on (or containing any) Mono but that it is simply not required if there are no Mono applications.

  • The Future says:

    It may not be the smartest thing in the world to post un-evaluated advice from Jo. The commands provided by Jo cause trouble for a lot of other packages. apt-get autoremove will take out any packages that are left over and not used by anything else.

    Off hand, it looks like Jo just wants to cause harm to those that need a little help in removing the bad quality Mono technology along with the licensing problems.

    • Alan Lord says:

      @The Future,

      The extra packages Jo referenced are AFAICT only needed to support Mono applications.

      Can you please support the assertion “The commands provided by Jo cause trouble for a lot of other packages…”?

      I have seen no ill-effects from adding those packages to the to-be-removed list. I tested it in a VM before adding them to the article.

    • Jo Shields says:

      For anyone less stupid than “The Future” here, who has enough courage in his convictions to not even use a regular pseudonym (let alone their real name):

      * glitz is used ONLY by F-Spot. The package is otherwise unused by anything else on Ubuntu/Debian. Check the rdepends
      * libsqlite0 is NOT the SQlite library used by things like Firefox (which is libsqlite3-0). libsqlite0 is obsolete version 2 of SQlite, as used by a variety of obsolete packages. F-Spot pulls this in because once upon a time, when version 2 was current, F-Spot’s database was in SQlite 2 format – and F-Spot needs version 2 of the library installed in order to run an automatic update on these libraries to version 3. Other rdepends exist for libsqlite0, such as asterisk, but none installed on any Ubuntu system by default.
      * autoremove will NOT correctly remove stray components from packages pre-provided on the LiveCD (it WILL work if you use the Alternate CD). This, of course, makes it awkward to locate missing pieces of packages installed by default, which is why I opted to HELP Alan here, despite his comparison of what I do to terminal illness.

      I don’t want to cause “harm” to anti-Mono folks on the whole any more than I want to cause “harm” to other people I deem as “brainwashed unfortunates” such as the USA’s “Birthers”, or Scientologists. Laugh at, sure, but frankly, harming is more effort than it’s worth – and, in fact, it’s this kind of mentally deficient response to *helping* which makes the act of *helping* infinitely more satisfying for me. I can point to people like you, “The Future”, and say “look at just how insane these critics really are – who do you really think is more trustworthy here. Even when I help them they attack me”.

      • Mark says:

        Jo, if you really wanted to help people, you would code in something like Python/Qt. Perfectly cross-platform, and very functional.

        http://www.python.org/download/

        http://www.python.org/

        “Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.

        Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java and .NET virtual machines.

        Python is free to use, even for commercial products.”

        If you want to use LGPL bindings for Qt, then use PySide and not PyQt.

  • jay says:

    thanks alan! good to know i can always come here for the traditional post-ubuntu-install mono-purge instructions. it’s good to feel free.

  • Peter Jones says:

    Great blog and you have my vote!
    I’m in the market for a new PC (it’s 7 years old this month), you’ve given me something to think about re. O.S..
    If anyone can read my blog – ‘Welcome to the QUAD’ IT, education, health, Drupal – and vote I’d be really grateful:
    http://www.wellsphere.com/bloggerSupporters.s?personId=100866
    Best,
    PJ

  • […] But the software taliban, being the purest of the pure, aren’t satisfied with high quality apps written for the one true operating system written under an open source licence. Mono, to the software taliban, has the whiff of being a Microsoft technology. And woe betide anybody who has the temerity to even think of using a Microsoft technology, even when the technology is completely open source and based upon published standards. If you do transgress you’ll have the software police descend upon your application in order to help the observant maintain a pure machine. […]

  • LIAR says:

    Hi,

    As I know you are a great fan of Mono, I thought this information would make you smile:

    —-
    Mandriva Linux Security Advisory MDVSA-2009:322

    Multiple vulnerabilities has been found and corrected in mono
    http://www.securityfocus.com/archive/1/508265
    —-

    Hope you are happy to have protected your system by removing Mono from it 😉

  • Thanks for these posts; much appreciated for the folks out there who like to have some control over what they run on their desktop!

  • David says:

    Thanks so much! Cool blog! I have removed all traces of Mono from my PC. Mono is a M$ Trojan Horse. I will never ever use a mono infected application on my PC. Say NO to Mono!

  • Chris Hall says:

    Mono’s ok? Really? read: http://www.fsf.org/news/dont-depend-on-mono
    and then tell me that Mono’s all good…
    RMS does understand Mono and anything related to C#/.Net is unwanted.

    Alan, would the following command ‘sudo apt-get purge libmono* libgdiplus cli-common libsqlite0 libglitz-glx1 libglitz1′ work for Debian sans ‘sudo’? If it does, would I need to use ‘apt-get autoremove’ to clean-up?
    Then there’s the command: ‘apt-get remove –purge mono-common libmono0 mono libmono1.0-cil libmono2.0-cil’ does this do the same job as the command you posted?
    Was gong to purge Debian the hard way by removing libgtk2 and libglib2 and doing several rounds of ‘deborphan –guess-all | xargs apt-get remove’ combined with ‘apt-get autoremove’

    Can’t work out the better solution, any ideas Alan? Once purged, and Gnome’s removed, XFCE shall be installed from the cli.

    Thanks for the post :]

    • Alan Lord says:

      I haven’t run Debian for quite a while now so I can’t be sure, but the basic idea is sound. From what I can tell, apt-get purge is functionally the same as apt-get remove --purge. The trick is listing the right packages that are the core dependencies. When I prepare these posts, I build a default desktop installation in a Virtual Machine and test it all there first.

      If all you want is an xfce based desktop, you could try building the system from the very minimal network install image and build it up with just the packages you want.

  • Chris Hall says:

    Quote, “From what I can tell apt-get purge is functionally the same as apt-get remove –purge” Well, just because something’s functionally the same doesn’t mean the result will be identical 🙁

    Hmm…
    Looks like a visit to Debians forums and using VirtualBox are both required as i‘ve not used Debian since 3.0…
    Don’t just want an xfce desktop, I want to totally remove all Mono packages, libraries and components as I’m building a distro based on totally free (as in speech) packages.

    Since I want to remove both libgtk2 and libglib2, the command ‘apt-get purge libmono* libgdiplus cli-common libsqlite0 libglitz-glx1 libglitz1’ plus ‘apt-get remove –purge mono-common libmono0 mono libmono1.0-cil libmono2.0-cil’ should do the job nicely.

    Not worried about breaking anything…

    Thanks for the help Alan, will let you know how I fare.

    • Alan Lord says:

      Hmm. Just in case, are you aware of distros like gNewSense that aim to be really Free?

      • Mirco Bauer says:

        Hm, if you want a really free operating system, to my knowledge that doesn’t exist yet… oh wait, *BSD should be as it’s purely based on the BSD licenses which has no restrictions at all (except retaining copyright lines, more free it can’t get).

  • Chris Hall says:

    Alan, yes I am though gNewSense is not totally free as it has the Mono Libraries intact and uses gnome, and the gnome developers are not committed to removing Mono packages, components, dependancies or libraries. Xfce have stated they will reman Mono free. I like total control over my distro hence doing this the “hard way”.

    Looking at the earlier solution, that won’t work, not on Debian or ubuntu as the configuration files are still in the distro. To totally purge Mono, we need to install Debfoster and Deborphan with ‘apt-get install debfoster deborphan’.

    More later, once I’ve learned the required commands and purged my distro.

  • Chris Hall says:

    Seems that doing several rounds of ‘deborphan –guess-all | xargs apt-get remove’ was correct after all. However, Debfoster’s more efficient at purging unwanted packages (and keeping them removed).

    More on Debfoster tomorrow, sleep beckons.

  • Chris Hall says:

    ‘aptitude purge f-spot* tomboy* libmono* mono-common* libgtk2 libglib2’

    ‘aptitude purge -c’

    ‘aptitude clean’

    and that’ll remove Mono and ALL related dependancies :]

  • Chris Hall says:

    You’re welcome @Alan :]

    Anything else? Oh, make sure that you have ‘gnome-core’ installed as most Debian based Distros install Gnome as a “meta-package”

    And Debfoster and Deborpan have been depriciated by Debians developers for 5.x.x (Lenny)

  • Chris Hall says:

    @Alan, remember that you told me of gNewSense? Well Alan, remember that you told me of gNewSense? Well I can “cross-grade” from “Lenny” to gNewSense 3.x and the developers provide instructions; thanks for the heads-up.
    Once “Lenny’s” exactly as I want it, I’ll change over. Again, thank you.

  • […] is the same one as used for the Karmic Koala release (9.10), and for me the result of the above command was as […]

  • […] The Open Sourcerer: “How to remove Mono from Ubuntu 9.10 Karmic Koala” […]

Leave a Reply

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>