HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

CentOS 7環境にMonoを導入してみる

ふと思い立って、C#のプログラムをCentOS 7上で動かせないかと考え、導入からコンパイル、実行までをやってみたメモ。

参考サイト

環境

$ uname -a
Linux proteus-annex-centos7 3.10.0-862.3.3.el7.x86_64 #1 SMP Fri Jun 15 04:15:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
$ 

導入

自分の環境では、yum-config-managerが足りなかったので、まずはそれをインストール。

$ su -
# yum -y install yum-utils

そして、Monoのインストール。

# rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
# yum install -y mono-complete

バージョン確認。これは一般ユーザでOK。

$ mono --version
Mono JIT compiler version 5.12.0.233 (tarball Tue May  8 09:28:02 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug 
        Interpreter:   yes
        LLVM:          supported, not enabled.
        GC:            sgen (concurrent by default)
$ 

ソースコード

いたってシンプルなHello World

using System;

public class Program {
    public static void Main(string[] args) {
        Console.WriteLine("Hello World");
    }
}

コンパイル

$ mcs HelloWorld.cs

実行

$ mono HelloWorld.exe
Hello World
$