Linux で C# アプリケーションを実行させることができるオープンソースの .NET Framework である "Mono" をインストールする方法を紹介する。
ここでは、CentOS 5.5 x64 を例にとり、説明を進める。
[http://mono-project.com/] へアクセス、[download] を選択する。
[1. Select Platform] より、[RHEL/CentOS] (任意) を選択する。
表示されたダウンロードサイトへ移動し、以下のファイルをダウンロードする。
- mono-addon-libgdiplus0-2.6.7-6.1.x86_64.rpm
- mono-addon-core-2.6.7-6.1.x86_64.rpm
[root@centkun ~]# mdir /tmp/mono/
[root@centkun ~]# cd /tmp/mono/
[root@centkun mono]# wget http://ftp.novell.com/pub/mono/download-stable/RHEL_5/x86_64/mono-addon-libgdiplus0-2.6.7-6.1.x86_64.rpm
[root@centkun mono]# wget http://ftp.novell.com/pub/mono/download-stable/RHEL_5/x86_64/mono-addon-core-2.6.7-6.1.x86_64.rpm
ダウンロードした rmp の依存関係を確認する。
"mono-addon-libgdiplus" の依存関係は、以下の通り。
[root@intrepid mono]# rpm -qpR
/tmp/mono/mono-addon-libgdiplus0-2.6.7-6.1.x86_64.rpm
/sbin/ldconfig
/sbin/ldconfig libX11.so.6()(64bit)
libXrender.so.1()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libexif.so.12()(64bit)
libfontconfig.so.1()(64bit)
libfreetype.so.6()(64bit)
libgdiplus.so.0()(64bit)
libglib-2.0.so.0()(64bit)
libjpeg.so.62()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libpng12.so.0()(64bit)
libpng12.so.0(PNG12_0)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit) libtiff.so.3()(64bit)
libungif.so.4()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH)
"mono-addon-core" の依存関係は、以下の通り。
[root@centkun mono]# rpm -qpR mono-addon-core-2.6.7-6.1.x86_64.rpm
mono-addon-libgdiplus0 >= 2.6
/bin/sh
/sbin/ldconfig
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(VersionedDependencies) <= 3.0.3-1
/bin/bash
/bin/sh
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.3.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libgcc_s.so.1()(64bit)
libglib-2.0.so.0()(64bit)
libgmodule-2.0.so.0()(64bit)
libgthread-2.0.so.0()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libpthread.so.0(GLIBC_2.3.3)(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
libstdc++.so.6()(64bit)
libz.so.1()(64bit)
mono-addon(System) = 2.0.0.0
当方の環境では、以下のライブラリが不足していたので、yum で以下のライブラリをインストールした。
- libexif.x86_64
- giflib.x86_64
[root@centkun mono]# yum install -y libexif.x86_64
[root@centkun mono]# yum install -y giflib.x86_64
ダウンロードした、rpm をインストールする。
[root@centkun mono]# rpm -ivh mono-addon-libgdiplus0-2.6.7-6.1.x86_64.rpmx86_64.rpm
[root@centkun mono]# rpm -ivh mono-addon-core-2.6.7-6.1.x86_64.rpm
/opt/novell/mono/bin/ 以下に、コンパイラ等のバイナリがインストールされる。
/opt/novell/mono/bin/ をパスに追加する。
[root@centkun ~]# vi /etc/profile
#最終行に以下のラインを追加する。
export PATH=$PATH:/opt/novell/mono/bin/
変更を反映させる。
[root@centkun ~]# soruce /etc/profile
パスが通っていることを確認する。
[root@centkun ~]# which gmcs
/opt/novell/mono/bin/gmcs
インストールは以上。
次に、サンプルアプリケーションを作成して動作確認をする。
[root@centkun ~]# mkdir mono-sample
[root@centkun ~]# cd mono-sample
[root@centkun mono-sample]# vi sample001.cs
using System;
public class HelloWorld
{
static public void Main ()
{
Console.WriteLine ("Hello, Mono World!!");
}
}
コンパイルを行う。
[root@centkun mono-sample]# gmcs sample001.cs
実行する。
[root@centkun mono-sample]# gmcs sample001
Hello, Mono World!!
上記のようにソースコード通りの文字列が表示されれば正しく動作している。
次回は、Linux で、ASP.NET を動作させる方法を紹介する予定だ。
コメント (0)
コメントの投稿