컴퓨터 활용을 위한 팁(1)

OMICS CUBE에서 웹호스팅을 통해 위키 페이지를 운영하면서 리눅스 활용에 관한 팁을 정리해 왔었는데, 2013년 12월 말이면 종료를 앞두고 있다. 계속해서 비용을 지불하기도 어렵고, 위키엔진을 알아서 업데이트하고 관리하는 것도 쉽지 않다. 이에 오믹스 큐브 사이트에 있던 정보를 이리로 옮겨 새롭게 정리하기로 하였다. 단순한 내용은 이 포스팅 내에 연속적으로 기록하고, 심도 있는 주제의 글은 별도의 하위 페이지로 작성하기로 하자. 사용한 컴퓨터는 특별히 언급하지 않은 경우 다음의 조립 제품이다. 2013년 8월 22일 현재 사무실에서 메인 데스크탑으로 사용하고 있는 컴퓨터이다.

[참고] 오믹스 큐브에 있던 글을 그대로 복사하여 붙여 넣었더니 구글 사이트 도구에서 기본 제공하는 스타일과 약간 달라서 화면에 나타나는 모습도 색다르고, 편집도 어렵다. 차차 수정해 나가도록 하자.
 

이 컴퓨터는 사연이 좀 있다. Tyan의 2U 랙마운트 서버를 처음 구입할 당시 비용 문제로 E5520을 하나만 꽂았었는데, 나중에 CPU를 추가하려고 했더니 더 이상 E5520을 구하기가 어려워진 것이었다. 그래서 신품 E5620 두 개를 사서 장착을 하고, 서버에서 빼낸 E5520을 활용하기 위해 수퍼마이크로의 보드를 새로 구입하여 컴퓨터를 조립하게 된 것이다. Xeon CPU에 메모리 16 GB라면 64비트 윈도우를 OS로 설치해야 하드웨어를 100% 활용하기 어려울 것이라 생각했고, 그러느나 차라리 Bio-Linux 6 64비트 버전을 설치하여 쓰는 것이 낫다고 생각하였다. 이러한 구성으로 2013년 8월 말 현재까지 잘 사용하고 있다. 처음에는 그 동안 익숙하게 사용해 온 CentOS(설치 시도 당시 버전 5.8)를 당연히 깔려고 했었으나, Perl module의 설치에서 약간의 어려움을 겪어서 아예 우분투 기반으로 돌아서게 된 것이다. CentOS와 관련한 문제의 발단은 이러하였다. VirtualBox까지 설치해서 일반 사무를 위한 환경을 다 만들어 놓은 상태에서 BioPerl을 설치하기 위해 필수 Perl module(Module::Build)을 cpan으로 설치하는데 에러가 나는 것이었다. 에러를 고칠 능력은 안되고, 검색을 하면 rpm 패키지로 만들어진 Module::Build를 구할 수도 있겠지만 이는 너무 번거롭고… BioPerl이 안되면 기본적인 서열 데이터 조작을 하는것이 불가능하다. 그래서 우분투 10.04 LTS기반의 Bio-Linux를 쓰기로 마음을 바꾼 것이었고, 지금은 대단히 만족하고 있다.

2012년 말에 출시된 Bio-Linux 7로 업데이트를 해야 되겠다고 마음을 먹은지도 반년이 넘었지만 아직도 실행에 옮기지 못하고 있다. 성공적인 마이그레이션을 위해 다음의 사항을 꼭 점검해야 한다.
  • VirtualBox: Guest OS는 Windows 7
  • SAMBA  설정
  • Mendeley
  • 복합기 설정
  • X-windows  설정
바이오리눅스 6을 이미 사용 중에 있다면 하드디스크 파티셔닝이나 포맷 등의 작업 없이 셸 스크립트를 실행함으로써 간단하게 바이오리눅스 7로 업그레이드를 할 수 있다고 한다. 방법은 여기(Upgrading from Bio-Linux 6 to 7)를 참조한다.

HDD의 misalign 문제(Bio-Linux 6)

리눅스 데스크탑에 장착한 두번째의 HDD를 디스크 관리자에서 열어 보면, 512 byte가 misalign되어 성능이 매우 저하될 수 있으니 파티션을 새로 하라는 메시지가 나온다. gparted로 파티션을 해도 똑같은 메시지가 나온다. 구글링을 열심히 한 결과 fdisk 명령에서 -u 옵션을 이용하여 실린더 대신 섹터 단위를 쓰게 만든 다음, 시작 섹터를 2048로 설정하여 문제를 해결하였다. 기본 설정은 63에서 시작한다. 하지만 아직도 이런 에러(정확히 말하면 에러는 아니고 '경고' 정도에 해당할 것이다)가 나오게 된 배경을 잘 모르겠다. 다음 링크의 글을 숙독하면 도움이 될 것이다.


DHCP를 이용한 인터넷 공유(Bio-Linux 6)

리눅스 서버에 내장된 기가비트 이더넷 어댑터가 2 장이나 되니 이를 활용할 수 있는 장난질을 좀 해 봐야 하지 않겠는가? 연구소에서는 IP 주소를 비교적 풍족하게 배정해 주고 있지만, 오래 사용하다 보면 IP 주소와 MAC 주소를 묶어서 관리하는 때문인지 할당된 주소를 서로 맞바꾸거나 하면 이미 쓰이고 있는 IP 주소라는 경고 메시지가 뜬다. 네트웍과 관련한 테스트를 할 때마다 새로 주소를 달라고 요청하기도 어려우니, 나 혼자서 쓸 수 있는 사설 네트웍을 설정하는 것도 하나의 해결 방법이 될 것이다. 어제(2012년 7월 2일) 집 근처의 롯데마트에 가 보니 유무선 공유기를 2만원도 되지 않는 가격에 팔고 있는 것을 보았다. 이것 하나면 완벽하게 해결이 될 터이지만, 개인이 무단으로 무선 공유기를 쓰지 못하게 하는 연구소의 방침을 거스르기도 싫고(유선 공유기도 마찬가지일 수 있다. 그러나 어차피 나 혼자 쓰는 것이니 트래픽을 과다하게 발생시킨다거나, 해킹의 소지가 있다고 생각하지는 않는다), 네트웍 설정과 관한 지식을 넓히는데도 도움이 되지 않는다고 생각하여 다소 불편하지만 직접 리눅스 박스를 건드려서 소기의 목적을 달성해 보기로 하였다.

아주 오래 전에 IPChains를 이용한 인터넷 공유를 해 본 적이 있었다. DNS 서버까지도 세팅하여 직접 도메인 관리까지도 해 본 적이 있었으나, 이젠 하나도 기억이 나질 않는다. 우분투로 넘어오면서 아직 설정 파일들도 익숙하질 않아서 네트웍 설정을 좀 건드려 보려 해도 쉽지가 않다. 그놈의 네트워크 관리자 애플릿을 통해 설정을 변경했다고 치자. 도대체 이러한 설정 사항이 어디에 저장되는 것인가? 레드햇 방식으로 말하자면 /etc/sysconfig/network* 파일과 디렉토리가 없다는 것. 결국 구글링을 해서 하나씩 찾아 나가는 수 밖에는…

일을 조금이라도 쉽게 하기 위하여Firestarter를 설치해 보았지만 아직도 오리무중이다. Firestarter 역시 예전에 사용했던 툴인데, 인터넷 공유가 왜 이렇게 어려운지 모르겠다.

자, 아무튼 내가 달성하고자 하는 목표를 명확히 해 보자. 바이오리눅스 6.0이 설치된 리눅스 서버에는 eth0과 eth1이라는 두 개의 네트웍 인터페이스 카드가 있다. 인터넷에 연결된 것은 eth0이고, eth1을 통해서 인터넷 공유를 할 생각이다. 만약 한 대의 클라이언트 PC만 인터넷을 공유하게 만들고 싶다면, eth1와 클라이언트 PC 의 네트웍 카드를 크로스 케이블로 연결하면 될 것이고, 네트웍 스위치를 경유할 예정이라면 일반적인 케이블을 쓰면 될 것이다.

(2012년 8월) 인터넷에 널린 정보를 참고하여 인터넷 공유에 성공하였다. 그 방법은 구글 블로거에 포스팅하였다. 좀 더 세련된 IPTables rule을 만들어 적용하고 싶은데, 공부가 아직 부족하다. "리눅스를 이용하여 인터넷 공유하기"


VirtualBox 설치(Bio-Linux 6)

http://www.virtualbox.org/에서 VirtualBox와 Extension Pack을 설치하였다. Guest OS는 윈도우즈 XP가 무난하게 돌아간다. 익스텐션 팩은 USB 2.0의 지원을 위해 필요하다. 웹 브라우저에서 익스텐션 팩을 클릭하여 설치하도록 하면, VirtualBox가 자동으로 실행되면서 설치가 완료된다고 하는데 제대로 진행이 되는 것 같지가 않았다. 관리자 원한으로 CLI에서 다음과 같이 하면 된다.

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.16-78094.vbox-extpack

Guest로서 윈도우 7은 어떨까?

VirtualBox를 제대로 쓰기 위해서는 몇가지 중요한 설정을 해야 한다.

  • vboxusers 그룹에 사용자 등록
  • Extension pack 설치
  • 키보드 드라이버 재설치(이를 하지 않으면 한/영 전환이 어렵다) 관련 사항을 참조할 것. 또는 guest OS 설치를 할 때 키보드 설정 단계에서 “PC/AT 101 호환 키보드/USB 키보드(종류 3)“을 선택하면 된다.

* 사용자의 목적에 맞는 네트웍 설정

설치 시에 가상 하드디스크 이미지는 “고정 크기 저장소”로 하여 50 GB를 할당하였다. 고정 크기 저장소는 설치 시간은 조금 더 걸리지만 나중에 실행할 때에는 속도가 빠르다고 한다. 테스트하는 현 상태로는 대단히 만족스러운 속도를 보이고 있다.

Host의 홈 디렉토리를 guest에서 접근하기

  1. Samba를 이용하는 방법: Guest OS에서 command 창을 열고 “net us z: \\서버_이름\자원_이름”라고 친 뒤 계정명과 암호를 넣으면 host 쪽 하드 디스크가 네트워크 드라이브(z:)로 연결된다. 이를 바로가기로 만들어서 바탕화면에 올려 놓았다. 재부팅을 한 뒤에는 바로가기를 더블 클릭하여 연결 정보를 다시 넣으면 된다. 리눅스에서 하기 어려운 문서 편집 작업이 있다면, 이렇게 하면 된다!
  2. Shared folder를 이용하는 방법: 이것은 VirtualBox의 자체 기능을 이용하는 것이다. 암호를 칠 필요도 없고, 자동 마운트 기능을 켜 놓으면 가상 머신을 부팅할 때마다 저절로 연결이 된다. 자동 마운트를 하지 않은 경우에는 삼바와 비슷하게 윈도우(게스트)의 실행창에서 “net use z: \\vboxsvr\공유_이름”을 치면 된다.

삼성 복합기(SCX-4610K)의 설정(VM 내에서 사용)

Host 측에서 복합기를 삼바로 공유해 놓고 guest에서 접근하여 인쇄를 할 수도 있고, 혹은 아예 guest에서 로컬 프린터처럼 설치하는 방법이 있다. 삼성전자 사이트에서 윈도우용 프린터 드라이버와 스캔 드라이버를 다운로드하였다. 유니버설 드라이버로는 연결된 로컬 프린터를 잘 찾지 못한다. 무난히 설치 및 시험 작동에 성공하였다.


Unity에서 다시 Gnome 환경으로 돌아오려면(아직 테스트해보지 않았음)

sudo apt-get install gnome-shell (choose gdm)
sudo reboot (at login choose gnome)
sudo apt-get purge unity*
sudo apt-get install nautilus
sudo apt-get autoremove
sudo apt-get autoclean
sudo reboot

우분투에 연결된 프린터를 윈도우에서 공유하기(Bio-Linux 6)

그렇게 어렵지 않은데도 불구하고 너무나 오랫동안 해결을 하지 못하고 있었다. 블로그에 따로 포스팅하였다.


노틸러스 파일관리자에서 이동(Location) 표시하기(Bio-Linux 7)

이전 버전의 바이오-리눅스에서는 노틸러스 창에서 다른 컴퓨터로 직접 ssh 접속을 하고, 심지어는 터미널 창을 열 수도 있었다(sudo apt-get install nautilus-open-terminal). 그러나 최신판에서는 이러한 기능이 기본적으로 설정되어 있지 않다. 이를 가능하게 하려면 다음의 사이트를 참조한다.
Enable Nautilus Location Entry in Ubuntu 12.04

이런 유용한 정보는 도대체 어떻게 알아내는 것일까? 터미널 창을 하나 열고(Ctrl+Alt+'T') 다음과 같이 넣으면 된다.

gsettings set org.gnome.nautilus.preferences always-use-location-entry true

그러면 비로소 '이동:[ ]'이라는 빈 칸이 생긴다. 여기에 로컬 경로를 직접 쓰거나, ssh 접속의 경우 다음과 같이 하라.

  ssh://user_id@remote_computer_주소:port  
Comments