2017년 6월 17일 토요일

CentOS 7의 첫경험

CentOS 7이 처음 나온 것은 2014년 7월이니 벌써 만으로 3년 가까운 시간이 흘렀다. ISO 파일을 내려받아 DVD-ROM을 구운 것은 바로 어제이고, 이를 컴퓨터에 처음으로 설치한 것은 오늘 오전이다(글을 쓰는 동안 자정이 지났으니 하루씩을 더해야 정확할 것이다). 나는 그동안 몇 대의 서버에서 CentOS 6을 주력으로 사용해 왔다. OS를 재설치하고 숙달하기 위해 노력하는 것은 상당히 번거로운 일이라서 CentOS 7을 접하는 것을 계속 미루고만 있었다.  귀찮음 이외에도 CentOS 7에서 달라진 것이 꽤 많아서(비교표) 관리자 입장에서는 신경을 쓸 것이 많다는 소문을 들어온 터라 지레 겁을 먹고 있었던 것도 사실이다. 엄밀하게 말하자면 나 혼자서 쓰는 서버들이고 복잡한 설정이 필요한 서비스를 하는 것도 아니기에 이 부분은 그렇게 마음에 담아둘 일은 아니었다.

OS의 업그레이드를 처음으로 생각하게 된 것은 일년쯤 전에 맞닥뜨렸던 python과 gcc의 버전 문제였다. 생명정보학쪽에서는 상당히 많은 유틸리티들이 파이썬으로 제공되는데, CentOS 6에 기본으로 따라오는 파이썬 2.6으로는 돌아가지 않는 것들이 점점 많아지는 추세이다. Linuxbrew 혹은 pyenv를 설치하면 상위 버전의 파이썬을 설치할 수는 있다.

하지만 최근 일주일 동안  nanopore sequencing 데이터의 분석용 프로그램을 검토하다가 이제는 CentOS를 버전 7로 올려야 되겠다고 결심을 하게 되었다.  Nanopore sequencing raw data(.fast5 file)를 직접 다루는 poretools가 제대로 작동하지 않는 것을 알게 된 것이다.  이 프로그램은 파이썬 2.7 이상에서 돌아가므로, pyenv를 통해서 먼저 해당 버전의 파이썬을 갖춘 다음 poretools를 실행해 보았다.  Basecalling(Albacore를 먼저 실행해서 .fast5 내부에 baseball 정보를)이나 기타 다른 수치 추출은 잘 되지만, QC와 관련한 plot을 그려내는 명령을 실행하면 파이썬의  Tk configuration이 제대로 되지 않았다는 에러 메시지가 나온다.

구글을 검색해 보고 인실리코젠 김형용 수석 개발자에게도 문의하여  tcl-devel/tc-devel(우분투에서는 다른 이름) 및 tkinter라는 패키지를 설치하면 된다는 정보를 접하여 몇 번 이를 그대로 따라서 해 보았지만 파이썬은 여전히 똑같은 메시지를 출력하였다. 한동안 시행착오를 겪으면서 알아낸 것은 yum은 시스템에 기본적으로 설치된 파이썬 버전과 동일한 tkinter만을 설치한다는 것이었다. 즉 내가 아무리 pyenv를 통해서 파이썬 2.7을 설치해 봐야 CentOS 6에서는 tkinter-2.7을 깔 수가 없는 것이었다.  tkinter-2.7은 CentOS 7용 패키지이고, 당연히 파이썬 2.7을 요구한다.

사실은 어제 DVD-ROM을 들고 서버를 숨겨둔(?) 방에 갔다가 기기에서 발생하는 열기로 너무 더워서 일단은 포기하고 사무실에 있는 다른 컴퓨터에 CentOS 7을 설치하여 테스트를 하는 것으로 전략을 수정하였다. 집에서 사용하다가 최근에 퇴역한 Dell Inspiron 660s가 테스트를 위한 희생양이 되었다. CentOS 7을 설치한 뒤 뒤이어 필요한 rpm과 poretools를 깔았다.  poretools 설치 과정에서 의존성 패키지를 자동으로 다 깔아주지를 못해서 간간이 pip를 돌려야 했다. 최종 결과는 성공적이어서 poretools를 이용하여 QC plot들이 잘 만들어졌다.  pyenv로 약간 높은 버전의 파이썬을 설치한 뒤 이를 배경으로 poretools를 깔았다. 여기서도 그림을 잘 만들어 냄을 확인하였다.

우분투나  Mac에 비교할 바는 아니지만  CentOS의 Genome Desktop 환경도 꽤 쓸만하다고 느꼈다. 아무리 선호하는 리눅스가 있다고 해도 다른 배포판(Ubuntu vs. CentOS)과 버전(CentOS 6 vs. CentOS 7)을 조금씩은 다 같이 다루어 보는 것이 유리함을 알게 해 준 경험이었다.

서버실 - 원래 용도와는 거리가 있지만 - 에는 냉방 시설이 없음에도 불구하고 올해 초에 한 대의 서버를 옮겨두었으니 컴퓨터들이 벌써 시작된 더위를 잘 버텨낼지 걱정이 된다. 온도 체크용으로 디지털 온도계를 하나 갖다 두었다.

댓글 없음: