Skip to content

**** ****

for my bad memories..

Msys2


난 자칭 MinGW 골수팬이다. ㅎ
MinGW와 함께 최고의 조합으로 여겨지는 msys가 msys2 로 업그레이드 되었다.
이제 더욱 쾌적하게 개발을 할수 있게 되었다.
msys2는 cygwin의 기능들이 대부분 이식이 되었고..
Arch 리눅스의 패키지관리 시스템(pacman)이 (우분투의 apt-get과 같은..) 이식 되었다.

msys2 설치

msys2 다운로드 받기: http://sourceforge.net/projects/msys2/files/Base/

현재 20140910 버전이 최신이다. 셋업 파일을 받아도 되나.. 난 tar.xz 파일을 받은후
c:\msys64 에 압축을 풀었다.
아무래도 셋업 파일보단 포터블 버전을 선호한다.
압축 해제후에 msys2_shell.bat 를 실행하면 msys2 환경이 초기 설정이 되고..

1

완료된후 다시 msys2_shell.bat 를 실행시켜주면 깔끔한 msys2 화면을 볼수 있다.

터미널 에뮬레이터 셋팅

msys2는 기본적으로 putty를 포팅한 msys에 최적화된 mintty를 터미널 에뮬레이터로 사용하고 있다.
다음 적절히 mintty를 셋팅 한다. 사용해보니 msys2의 mintty는 한글도 지원이 충실하다.

난 폰트를 나눔고딕코딩이나 Fixedsys 폰트를 좋아하는데
나눔고딕코딩 폰트는 아래에서 다운로드한 후 mintty 에서 셋팅한다.

나눔고딕코딩: http://dev.naver.com/projects/nanumfont/

2

커서 모양도 셋팅하고.. 투명 스타일도 지정하고.. Locale (C), Character set (eucKR) 도 지정한다.
아래는 셋팅후 화면이다. 아주 그럴싸하다.. 리눅스 환경이 부럽지 않다. ㅎㅎ

3

이제 터미널 셋팅이 그럭저럭 된것 같다.

패키지 데이타 베이스 동기화 및 msys2 업그레이드

msys2는 Arch 리눅스의 pacman을 도입하였다.

우선 패키지 데이타 베이스를 동기화 및 msys2를 업그레이드를 한다.

% pacman -Syu

6

만약 msys2 업그레이드시에.. 아래의 에러를 본다면.. 이럴땐 다시 msys2를 실행해주면 된다.
7

다음 지원되는 패키지 목록을 본다.

% pacman -Sl

5

다음 개발시 필요한 패키지를 설치한다. 이정도면 되지 않을까..

% pacman -S wget vim swig mc pkg-config subversion python2 git curl tar binutils autoconf make libtool automake mingw-w64-i686-gcc mingw-w64-x86_64-gcc

의존성도 검사해서 자동 설치해준다.. 이 얼마나 감격스러운가..
8

참고로 gcc는 각 arch 별로 아래에 설치가 된다.
mingw32: mingw-w64-i686-gcc
mingw64: mingw-w64-x86_64-gcc

9

참고로 mingw32_shell.bat를 실행하면 mingw32 폴더의 mingw-w64-i686-gcc를 사용하며,
12
mingw64_shell.bat를 실행하면 mingw64 폴더의 mingw-w64-x86_64-gcc를 사용한다.
13

또한 mingw32_shell.bat와 mingw64_shell.bat를 동시에 실행할수도 있다.
(기존 msys 에서는 동시에 사용이 안됐었다..)

필요 없는 패키지 삭제는 다음과 같이한다.

% pacman -R <package_name>

기타 편의 셋팅

1. .bashrc 셋팅

% vim ~/.bashrc

case "$MSYSTEM" in
        MINGW32)
                export TERMINFO=/mingw32/share/terminfo
                ;;
        MINGW64)
                export TERMINFO=/mingw64/share/terminfo
                ;;
esac

alias ls='ls -hF --color=tty'
alias dir='ls --color=auto --format=vertical'
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
export PS1="\[\e]0;$(gcc -dumpmachine) $(gcc -dumpversion) : \w\a\]\n\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"

아래와 같이 취향대로 셋팅.
15

2. fstab 설정

% vim /etc/fstab

아래와 같이 자주 사용되는 윈도우즈 폴더를 링크한다.
11
저장후 msys2를 다시 실행하면 C:\Works 폴더를 /works 폴더로 접근할 수 있다.

또한 fstab 기능과 상관 없는 기능인데..
기본적으로 msys2 (msys도 마찬가지..) 에서는 윈도우즈 드라이브를 아래와 같이 접근가능하다.

# C:\Windows
$ ls /c/Windows

# D:\Works
$ ls /d/Works

3. .vimrc 설정

vim 기본 설정은 아무것도 안되어 있으므로..
syntax highlight 켜주고.. 백업 파일 안생기게 해주고..

$ vim ~/.vimrc

syntax on
set nobackup

Categorized as: Programming


One Comment

  1. Frosted penguin23 댓글:

    안녕하세요 MSYS2에 대해서 몇가지 질문이 있어 댓글을 달게됬습니다.
    초보라 질문 수준이 낮더라도 이해를 좀 해주세요.

    오픈소스를 이용해서 C++그래픽 프로그래밍을 하기 위해 개발환경 세팅중입니다.
    1. 여러저기 돌아다니면서 얼핏 보니 MSY2S와 MinGW가 쌍으로 붙어다니더라구요
    MSYS2를 사용하려면 MinGW가 반드시 필요한 것인가요? MSYS2 스탠드얼론으론 사용이 불가능한가요?

    2. MSYS2 에서 gcc, make, cmake 등을 설치하였고 빌드를 해보려고 했는데, gcc에서 시스템 헤더 (iostream같은) 걸 못잡더라구요. 혹시 따로 환경변수 설정을 해 주어야 하나요?
    읽어주셔서 감사합니다

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.