Install Mono on Centos 5.5 using YUM

2019-01-12 18:33发布

问题:

How do I install the Mono 2.6.7 runtime on CentOS 5.5 using YUM?

I know how to build Mono from the source. However, according to the page Getting Started With Mono Tools it is possible to install the binaries directly. I'd prefer to install the binaries to avoid having to install all the development pre-requisites on a server with little disk space.

Am I supposed to add a new repository description to YUM? I tried doing that, but I must have done it wrong, because "yum list mono-core" still says the old version (1.2.4-2.el5.centos).

And, why are the .rpm's called "mono-addon-" on the release server? It's a bit confusing. It sounds like the .rpm's are an add-on to Mono. I guess they mean they are an "add-on" to the server(?).

回答1:

I figured it out.

Create a new repository configuration file

cd /etc/yum.repos.d
vi mono.repo

Add the following lines to the file

[Mono]
name=Mono Stack (RHEL_5)
type=rpm-md
baseurl=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/
gpgcheck=1
gpgkey=http://ftp.novell.com/pub/mono/download-stable/RHEL_5/repodata/repomd.xml.key
enabled=1

Update the YUM cache to be on the safe side

yum clean all

Install the Mono server stack

yum install monotools-addon-server

The installed binaries will end up in "/opt/novell/mono/bin".

You should issue the following command to set up your shell environment so that it finds Mono, mcs and the other Mono tools

source /opt/novell/mono/bin/mono-addon-environment.sh

Verify the version

mono --version

Mono JIT compiler version 2.6.7 (tarball Mon Jul 19 18:28:58 UTC 2010)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC and Parallel Mark)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none

If you want the Mono environment to be permanent you can issue the following command.

cp /opt/novell/mono/bin/mono-addon-environment.sh /etc/profile.d

Happy Mono'ing!!!



回答2:

In addition to octonion's post, if, like me, you want to use Apache mod_mono, you need to ensure you install the correct version of mod_mono by running the following, and it will get the right one:

yum install mod_mono-addon

Don't just issue yum install mod_mono. It may install mod_mono 1.2 version from the CentOS extras repository and not what you're actually after.

As a reference, I was getting the following error in /var/log/httpd/error_log when running the incorrect mod_mono version:

Root directory: /
mod_mono and xsp have different versions. Expected '9', got 6 System.InvalidOperationException: mod_mono and xsp have different versions. Expected '9', got 6

It is a silly, but easy mistake to make if you new to this like me.