기본 콘텐츠로 건너뛰기

윈도우 소프트웨어를 리눅스에서 구동하기 위한 3가지 방법

리눅스가 상승세를 타고 있다. 스팀에서는 1,000여 가지의 리눅스 게임을 제공하고 있고 데스크톱 소프트웨어 역시 점점 더 웹 기반으로 이전하게 되면서 윈도우에 대한 수요는 줄어드는 추세다. 이제는 별 어려움 없이 리눅스에서 넷플릭스(Netflix) 비디오를 볼 수 있을 뿐 아니라 심지어는 웹 버전의 마이크로소프트 오피스를 리눅스에서 사용하기도 한다.

그럼에도 불구하고, 리눅스 데스크톱을 사용해본 사람이라면 알겠지만 언젠가 한번은 윈도우 소프트웨어가 없는 것이 사무치게 아쉬운 순간이 찾아오곤 한다. 물론 해결책은 얼마든지 있자. 리눅스에서 윈도우 소프트웨어 사용하기 위한 방법을 알아보자.

와인(Wine)
와인을 사용하면 윈도우 OS 없이도 리눅스에서 윈도우 소프트웨어를 사용할 수 있다.

와인은 오픈 소스 “윈도우 호환 레이어”로써 리눅스 데스크톱에서 바로 윈도우 프로그램을 사용할 수 있게 해준다. 와인은 OS를 설치하는 대신, 윈도우 애플리케이션 구동에 필요한 OS 요소들을 재실행하는 원리로 동작한다.

이러한 원리는 윈도우 복제본을 필요로 하지 않는 유일한 방법임엔 분명하지만, ‘모든’ 애플리케이션을 적절하게 구동하지는 못한다는 단점도 있다. 특히 비디오 게임을 실행하는 경우 버그나 퍼포먼스 문제가 자주 발생했다. 다행히도 월드 오브 워크래프트(WoW)와 같이 출시 수 년이 지나 안정화가 이뤄진 인기 게임들의 경우에는 실행에 큰 문제는 없었다. 와인 애플리케이션 데이터베이스(Wine Application Database) 웹사이트를 방문하면 와인의 애플리케이션 구동 원리나 현재 지원되는 애플리케이션들에 관한 정보를 얻을 수 있으니 참고해보자.


플레이온리눅스의 와인 버전을 우분투에서 실행하는 모습

와인의 사용법은 다음과 같다. 먼저, 리눅스 배포자의 소프트웨어 저장소에서 와인을 다운로드하자. 설치가 완료되면 이제는 윈도우용 .exe 파일을 다운로드 하는 것이 가능해진다. .exe 파일을 더블클릭 하면 와인을 통해 그것을 구동할 수 있다. 와인을 보다 쉽고 즐겁게 사용하고 싶은 사람이라면 인터페이스 애플리케이션 플레이온리눅스(PlayOnLinux)를 함께 이용하는 것도 좋은 방법이다. 윈도우 기반의 각종 인기 프로그램과 게임을 보다 편리하게 설치할 수 있게 될 것이다.

코드위버스(Codeweavers)는 와인의 상용 버전, 이른바 크로스오버 리눅스(CrossOver Linux)를 발표하기도 했다. 유료 서비스이긴 하지만, 주요 윈도우 애플리케이션들(마이크로소프트 오피스, 어도비 포토샵, 그리고 주요 PC 게임들)에 대한 공식 지원이 보장되고 또 실제 성능도 준수하다. 서비스의 변경 내용이 오리지널 와인 프로젝트에도 반영된다는 점 역시 흥미로운 부분이다.

가상 머신
가상 머신은 리눅스 PC에서 윈도우 소프트웨어를 구동하는 매우 편리한 방법이다. 하드웨어 성능의 발전으로 이제는 가상 머신으로도 충분히 가벼운 구동 경험이 가능해졌다.

이를 위해선 우선 버추얼박스(VirtualBox)나 VM웨어(VMware), 혹은 리눅스의 내장 커널 기반 가상 머신(KVM) 솔루션에 윈도우 복제본을 설치해야 한다. 솔루션 안에서 복제본은 자신이 실제 하드웨어에 위치하고 있는 것으로 인식한다. 현대적인 가상 머신들은 여기에서 나아가 가상 머신 상에서 구동되는 윈도우 프로그램을 머신 외부로 꺼내, 사용자의 리눅스 데스크톱에서 일반적인 윈도우를 이용하는 것과 같은 경험을 제공하기도 한다.


우분투 리눅스 내 버추얼박스

가상 머신은 와인보다 단순한 솔루션이라 할 수 있다. 실제 윈도우 복제본 상에서 윈도우 애플리케이션을 구동하는 것이기 때문에, 버그 발생의 위험이 없다는 장점도 있다.

하지만 윈도우의 복제본을 이용한다는 자체가 야기하는 어려움은 참고할 필요가 있다. 가상 머신이란 개념은 기본적으로 제1 OS가 있는 상황에서 윈도우 복제본을 추가적으로 구동하는 구조이기에, 하드웨어를 다루는 골치 아픈 과정을 거쳐야 한다. 특히 컴퓨터의 그래픽 카드에 접근해야 하는 고사양 PC 게임들의 경우에는 아예 실행이 불가능하다(이들의 경우 와인이 보다 나은 옵션이다). 하지만 MS 오피스나 어도비 포토샵 등의 생산성 앱을 실행하는데 있어서는 더할 나위 없는 방식임에 분명하다.

듀얼 부팅
기술적인 측면에서 보면 듀얼 부팅은 리눅스 자체에서 윈도우 소프트웨어를 구동하는 방식으로 보기 어렵지만, 윈도우 소프트웨어를 필요로 하는 많은 리눅스 사용자들이 선택하는 현실적인 방법이다. 이 방식은 리눅스에서 곧바로 적용이 어려우며, 대신 컴퓨트를 리부트 해 윈도우를 선택한 뒤 MS의 OS로 부팅에 들어가는 원리로 동작한다. 이 과정을 거치면 윈도우 소프트웨어를 기본 환경에서 동작할 수 있게 된다. SSD 시장이 최근 보여준 성장은 리부트 과정을 더욱 신속하게 만들어줬다.


듀얼 부팅 설정에서의 리눅스 설치 과정

댓글

이 블로그의 인기 게시물

SSH 크랙 , 보안 :: 메두사(Medusa) [소개, 사용법 ] [패스워드 크래킹]

외부에서 서버를 관리하기 위해서는 Telnet 과 같은 원격 쉘을 이용하게 됩니다. 이런 원격 쉘은 시스템에 직접 접근할수 있기 떄문에 특별한 관리와 보안이 필요합니다. 그래서 나온것이 SSH 바로 보안 쉘 입니다. 기본적으로 이동하는 패킷이 암호화 처리 되기 떄문에 TELNET보다는 매우 안전하다고 볼수 있습니다. 오늘은 이 SSH를 크랙하는 방법과 대책에 대해서 약간 알아보겠습니다. 이번에 소개할 툴은 메두사 입니다. 메두사는 Broute Force  공격에 사용되는 툴입니다. 설치 데비안계열 ( 데비안 , Ubuntu , 쿠분투 주분투 등등) 에서는 apt-get install medusa 로 간단하게 설치 할 수 있습니다. 메두사로 SSH서버를 크랙하는 방법에 대해 알아보겠습니다. 메두사의 메뉴얼입니다. 구조는 간단합니다. 상대 SSH서버를 확인한 후에 메두사로 무차별 대입공격을 시도합니다. 물론 상대 시스템에는 로그가 남을수 있겠지요.  일단 실험에 쓰일 노트북(공격자) 데스크탑(피해자) 입니다. 공격자 OS : Debian Net : wlan0 IP   : 192.168.0.26 피해자 OS : BackTrack4 Net : eth0 IP   : 192.168.0.3 ssh :  OpenSSh ( SSH1) 실험에 쓰일 피해자(backTrack)입니다.  현재 SSH서버를 가동하고 아무작업없이 대기중입니다. 공격자는 포트스캐너와 각종 툴들을 이용해 정보를 수집후  피해자가 SSH서버를 이용한다는것과 OpenSSH(SSH1)을 사용한다는 것을 알아냇다는 전제하에  시작하겠습니다. 공격자는 메두사 툴을 이용해 BruteForce공격을 시작합니다. medusa -h 192.168.0.3 -u root -P /home/noon/NOON/pass.txt -M ssh 사용된 옵션을 살펴 보자면 -h   :   호스트 주소입니다.  고로    타켓 주소 -u   :   크랙할 유저의 이름입니다.     유저 목록을 파일로 만들어서 사용할

OllyDbg 64bit 실행방법

OllyDbg 1.1 은 기본적으로 64bit 환경을 지원하지 못합니다. 책의 디버깅 실습은 거의 대부분 OllyDbg 를 이용해서 진행됩니다.  그러나 OllyDbg 1.1 은 64bit 환경을 지원하지 못합니다.  <그림 1. Windows 7 64bit 에서 OllyDbg 1.1 실행시 예외 발생> 64bit OS 에서 "2장 Hello World 리버싱" 실습 예제 파일 HelloWorld.exe 를 OllyDbg 1.1 로 실행시키면 <그림 1>과 같이 예외가 발생하면서 ntdll.dll 모듈 영역의 코드에서 멈춰버립니다. (이것은 OllyDbg 1.1 의 버그입니다.) 64bit 환경에서 OllyDbg 사용할 수 있는 2 가지 방법 #1. 64bit OS + OllyDbg 2.0 OllyDbg 2.0 버전에서는 64bit에서 정상 실행 되지 않는 버그가 수정되었습니다. 다운로드 링크 :  http://www.ollydbg.de/odbg200.zip * 참고 최신 버전 OllyDbg 2.01 beta 2 는 실행 과정에 약간의 문제가 있습니다. 문제가 해결될 때까지는 OllyDbg 2.0 을 사용해 주시기 바랍니다. 위 링크에서 파일을 다운받아 압축을 해제한 후 실행하면 <그림 2> 와 같은 화면이 나타납니다. <그림 2 - Windows 7 64bit 에서 OllyDbg 2.0 으로 HelloWorld.exe 를 띄운 화면> <그림 2>의 화면을 책의  <그림 2.3>  처럼 보이게 하려면 다음과 같이 작업해 주시면 됩니다. 1) 내부의 CPU 윈도우를 최대화 시킵니다. 2) Code/Register/Dump/Stack Window 의 폰트를 변경합니다.    (각각의 창에서 마우스 우측 메뉴 - Appearance - Font - System f

인터넷 웹페이지 디버깅 피들러(fiddler) 사용법

인터넷 디벌깅 툴 피들러 입니다. 개발자들은 인터넷 디버깅 툴을 많이 사용하고 있는데요 인터넷 익스플러워 , 사파리 구글크롬등 디버깅 툴은 내장되어 있습니다.  하지만 원하는 값을 얻기 어렵거나 사용하기 어려운 점도 있습니다. 그래서 사용하기도 간편하고 필요한 기능도 많도 원하는 값을 쉽게 확인 할수 있는 디버깅 툴을 소개 해드리려 합니다. 알고 계시는 분도 많겠지만 피들러 (fiddler) 라는 툴입니다.  피들러에 대하 알아보도록 하겠습니다.  피들러(Fiddler) 설치 피들러 설치를 하기 위해 아래 사이트에 접속합니다.   http://www.telerik.com/fiddler 사이트에 접속하시면 FreeDownload 버튼이 보입니다. 클릭을 해서 피들러 설치를 진행합니다. ▶ 피들러는 닷넷 프레임워크를 사용하는데요 window 7 이상 제품군이시면  Fiddler for NET4을 선택하시고 미만이면 .net2를 선택 하세요  이제 Download Fiddler를 선택합니다.  ▶ 피들러 설치 진행화면이 나옵니다. I Agree를 클릭합니다.    ▶ 설치할 폴더를 선택 후 Install을 클릭합니다.    ▶ 설치가 완료되면 Close 를 클릭합니다.    ▶ 설치가 완료되면 브라우저를 새로 실행 하시고 도구> Fiddler를 선택합니다. 도구메뉴가 안보이시면 Alt를 누르시면 보입니다.    ▶ 우측에도 피들러 메뉴가 있습니다.  도구를 클릭 후 피들러를 클릭합니다.   ▶ 실행이 되면 아래와 같은 화면이 나오는데요  좌측 하든을 보시면 Capturing 가 보입니다. 캡쳐를 진행하는 중이구요 키보드중 F12키를 누르면 캡쳐 중지 다시 F12키를 누르면 캡쳐가 진행됩니다.  원하는 부