2 min read

Amazon 리눅스에 Mono 설치하기

Justin Yoo

C# 코드를 리눅스 운영체제에서 실행시키기 위한 방법은 여러 가지가 있다. 그중에서 Mono(이하 모노)는 .NET Core를 제외하고는 거의 유일한 방법이라고 할 수 있다. 모노는 리눅스는 배포판별로 다른 설치 방법을 제공하는데, 이 포스트에서는 Amazon Linux(이하 아마존 리눅스)에 이 모노를 설치하는 방법에 대해 메모 차원에서 정리해 보고자 한다.

참고: 이 포스트에서는 아마존 리눅스 2016.03.1 버전을 사용한다.

아마존 리눅스는 RHEL/CentOS 계열이므로 모노를 설치하기 위해서는 우선 이 공식 문서를 따라하면 좋다. 하지만, 이대로 따라하면 아래와 같이 특정 의존성 패키지를 설치할 수 없다는 에러메시지를 보게 된다.

따라서, 이를 미리 해결해 줘야 하는데, 이는 아래와 같이 해결할 수 있다.

$ sudo su
$ mkdir -p /tmp/mono_dependencies
$ cd /tmp/mono_dependencies
$ wegt http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/l/libpng15-1.5.27-1.fc25.x86_64.rpm
$ yum install -y ~/downloads/mono_dependencies/libpng15-1.5.23-1.fc24.x86_64.rpm
view raw install-libpng15.sh hosted with ❤ by GitHub

맨 처음 sudo su 명령어는 아예 루트 권한으로 세션을 열라는 의미여서 나중에 설치가 끝나면 다시 일반유저 권한으로 나와야 한다. 이렇게 하지 않으면 매 명령어마다 sudo를 붙여줘야 해서 안전하지만 귀찮다.

다운로드 받은 RPM 패키지를 실행시켜 설치한다. 그런 후에 다시 공식 문서를 따라하면서 모노를 실행시키도록 하자.

$ yum install yum-utils
$ 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 clean all
$ yum makecache
view raw yum-create-cache.sh hosted with ❤ by GitHub

여기까지 왔다면 모노를 설치할 준비가 모두 끝났다. 이제 아래 명령어를 실행시켜 모노를 설치한다.

$ yum install mono-complete

이제 모노 설치가 모두 끝났다. 임시로 다운로드 받아 설치했던 패키지들은 더이상 필요없으니 지우도록 한다.

$ cd ~
$ rm -rf /tmp/mono_deps
view raw rm-rf.sh hosted with ❤ by GitHub

마지막으로 루트 권한에서 빠져나오도록 하자.

$ exit
view raw exit.sh hosted with ❤ by GitHub

모노가 제대로 설치가 됐는지 확인하기 위한 차원에서 샘플 코드를 하나 생성해서 실행시켜 보도록 하자. 자세한 내용은 이 공식 문서를 참고한다. 설치가 성공적으로 끝났고, 제대로 모노를 실행시킬 수 있다면 아래와 같은 결과를 볼 수 있다.

이렇게 아마존 리눅스에 모노를 설치했다. 다음 포스트에서는 람다에서 C# 코드를 실행시키기 위해 .NET Core 1.0 RC1, RC2 버전을 설치해 보도록 한다.