使用 YUM 在 Centos 5.5 上安装 Mono
Posted
技术标签:
【中文标题】使用 YUM 在 Centos 5.5 上安装 Mono【英文标题】:Install Mono on Centos 5.5 using YUM 【发布时间】:2011-03-31 10:24:00 【问题描述】:如何使用YUM 在CentOS 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 约定吗? 【参考方案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 的链接也在那里。以上是关于使用 YUM 在 Centos 5.5 上安装 Mono的主要内容,如果未能解决你的问题,请参考以下文章