【问题标题】:Install Mono on Centos 5.5 using YUM使用 YUM 在 Centos 5.5 上安装 Mono
【发布时间】:2011-03-31 10:24:00
【问题描述】:

如何使用YUMCentOS 5.5 上安装Mono 2.6.7 运行时?

我知道如何从源代码构建 Mono。但是,根据页面 Getting Started With Mono Tools 可以直接安装二进制文件。我更喜欢安装二进制文件,以避免必须在磁盘空间很小的服务器上安装所有开发先决条件。

我应该向 YUM 添加新的存储库描述吗?我试过这样做,但我一定做错了,因为“yum list mono-core”仍然说旧版本(1.2.4-2.el5.centos)。

而且,为什么.rpm 在发布服务器上被称为“mono-addon-”?这有点令人困惑。听起来 .rpm 是 Mono 的附加组件。我猜他们的意思是他们是服务器的“附加组件”(?)。

【问题讨论】:

  • 它们被称为附加组件,因为它们被安装到一个单独的前缀而不是通常的系统包。这样您就可以安装它们而不会与您的系统包冲突。 (这些包所基于的 SLES 存在更多问题。)
  • 对了——这是标准的 linuxy 约定吗?

标签: mono installation centos


【解决方案1】:

除了octonion's post,如果像我一样,你想使用Apache mod_mono,你需要通过运行以下命令确保你安装了正确版本的mod_mono,它会得到正确的:

yum install mod_mono-addon

不要只发出yum install mod_mono。它可能会安装来自 CentOS extras 存储库的 mod_mono 1.2 版本,而不是您真正想要的。

作为参考,我在运行不正确的 mod_mono 版本时在 /var/log/httpd/error_log 中收到以下错误:

根目录:/
mod_mono 和 xsp 有不同的版本。预期为“9”,得到 6 System.InvalidOperationException:mod_mono 和 xsp 有不同的版本。预期为“9”,得到 6

如果你像我一样是新手,这是一个愚蠢但容易犯的错误。

【讨论】:

    【解决方案2】:

    我想通了。

    新建仓库配置文件

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

    将以下行添加到文件中

    [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
    

    更新 YUM 缓存以确保安全

    yum clean all
    

    安装 Mono 服务器堆栈

    yum install monotools-addon-server
    

    安装的二进制文件最终将位于“/opt/novell/mono/bin”中。

    您应该发出以下命令来设置您的 shell 环境,以便它找到 Mono、mcs 和其他 Mono 工具

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

    验证版本

    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
    

    如果您希望 Mono 环境是永久的,您可以发出以下命令。

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

    单曲快乐!!!

    【讨论】:

    • 如果您收到错误“System.IO.FileLoadException: 无法加载文件或程序集 'System.IdentityModel, Version=3.0.0.0 ...”安装 WCF: yum install mono-addon-wcf跨度>
    • 好东西!这些步骤还可以轻松在 EC2 上的 Amazon Linux AMI 上安装 Mono,但您必须在大多数命令前加上“sudo”。
    • @Dave Van den Eynde 在 Amazon Linux AMI 上,您可以键入“sudo -i”来获取 root shell。
    • 我可以通过手动安装这个 rpm 来安装它:rpm -Uvh origin-download.mono-project.com/download-stable/openSUSE_11.4/…
    • 这不再起作用了。您可以从源代码编译。手册可在mono-project.com/Compiling_Mono_From_Tarball 获得。 tarball 的链接也在那里。
    猜你喜欢
    • 2012-11-10
    • 2012-03-24
    • 2011-03-25
    • 2015-04-13
    • 2011-05-25
    • 2012-03-18
    • 2011-01-08
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多