블로깅 다시 시작

사용자 삽입 이미지

블로깅을 다시 시작하려고 한다.

2년 전 쯤에 NET 안에의 셰계에만 갇혀사는듯한 생각이 들어서 빨간약을 먹고 현실 세계로 돌아갔다.
NET 안에서는 새로운 커뮤니케이션 채널들이 당장이라도 세상을 움직일 것 같이 보이지만,
실제로 세상을 움직이는건 그것들에 별 신경 안 쓰면서 사는 기득권층들이다. (적어도 대한민국에서는)
다시 온라인 세계에서 살아갈 때는 이 현실 감각을 잊지말아야겠다.
블로그에서 경천동지할 글을 쓰고, 트위터에서 백날 리트윗해봤자 세상은 1밀리도 안 움직인다.

정신없던 한 주…

이번 주 월요일에 이사를 하느라 한 주를 정신없이 보냈다. 일반 가정집도 이사하려면 신경쓸게 많지만, 우리 같은 작은 법인도 이사를 하려면 신경쓸 것이 한 두가지가 아니다. 각종 고지서 변경서부터, 가장 중요한 본점이전 등기와 사업자등록증 갱신들도 처리해야 한다.

프로젝트들이 한참 바쁜 중간에 이사를 했기 때문에, 이사짐 정리를 대충 마무리 하고나선 매일 밤을 새며 프로젝트에 매달리고 있다. 하루가 아쉬울 때에 이사 때문에 2~3일을 프로젝트에서 뺐기 때문에, 그것을 매우기 위해 피똥 싸고 있는 중이다. ㅠ ㅠ 작년 크리스마스 이브에, 삼성서울병원에 들어가서 중간 결과물 포팅 작업을 했었다. 그 당시 실서버와 개발 서버 간에 환경이 맞지 않아서, 플래시에서 경로를 못 불러오는 문제가 발생해서 진땀을 뺐던 기억이 난다. 올해도 어쩜 그리 재방송인지… ㅠ ㅠ 이번 주에 진행 중인 프로젝트의 중간 결과물의 포팅 작업을 했어야 했다. 이런 저런 사정 때문에 다음 주로 미뤄지긴 했지만, 이 프로젝트의 끝까지는 죽도록 달려야 할 것만 같다.

사무실이 전에 비해서 무지 켜졌다. 어짜피 주로 혼자 있는 공간이지만, 넓은 공간이 좋아서 지금의 복층 오피스텔로 계약을 했다. 평수도 몇 평 더 커졌지만, 복층이다보니 층고가 높아서 오피스텔의 답답한 느낌이 들지 않아서 좋다. 아직 가구들도 없고해서 조금 휑하다. 무엇으로 이 공간을 체워야할지 고민해봐야 겠다.

[#M_이노크레이지 새 사무실|Less...| 사용자 삽입 이미지_M#]

어제 밤을 새고 아침 햇살을 보면서, 갑자기 내가 개발하는 기계같다는 생각이 들었다. 클라이언트가 원하는 프로그램은 무엇이던 만들어내는 프로그램 자판기… 행복해지고 싶어서 그리고 즐겁게 살고 싶어서, 내 사업을 시작했고 부끄럽지 않게 열심히 일하고 있다. 하지만 그 일 때문에 행복을 느끼는걸, 인생을 즐겁게 즐기는 것을 까먹는 것 같다. 매일 매일, 순간 순간을 즐기면서 살자. 인생은 한 번 끝나면, 아케이드 오락처럼 동전넣고 이어서 할 수 있는 것이 아니잖아?

이사 전야

내 회사인 이노크레이지가 이사를 간다. 작년 이맘 때 지금의 르메이에르 종로타운으로 이사온게 엊그제 같은데 벌써 일년이 지났다. 오피스텔은 1년 단위로 계약을 하기 때문에, 계약 갱신이냐 이사냐를 결정해야 한다. 좀 더 좋은 조건으로 계약을 하려고 저울질 하다보니, 지금 회사에서 멀지 않은 곳으로 이사를 가게 되었다.

1년 전에 이사 준비하던 때가 문뜩 떠오른다. 그 때는 이노크레이지가 집 옆의 창고 비슷한 곳에 있었다. 이노크레이지가 그 곳에서 창업 준비를 했고, 창업을 한 후 1년 가까이 그 안에서 죽을둥 살둥 살았었다. 오래된 가옥이었기 때문에 여름에는 더워서 땀을 삐질삐질 흘려야만 했고, 겨울에는 추위에 온열기를 끼고 살아야만 했다. 그래서 그 때에는 새 오피스텔로 회사를 이전한다는 것에 너무도 들떠있었다. 오피스텔을 찾기 위해 동분서주 돌아다니고, 법인 이전에 필요한 서류들을 챙기고 하면서 정신없이 보냈던 기억이 난다.

이번 12월 달은 작년과 마찬가지로 정신없이 보냈다. 프로젝트 몇 개를 동시에 진행하면서 광화문 근처의 오피스텔들을 보러 다니고, 이사가 결정된 뒤에는 틈틈히 짐을 정리하느라 정신이 없었다. 1년 전 이사올 때는 짐이 많지 않아서 이사짐 쌓는데 큰 고생을 안 한걸로 기억하는데, 일년 사이에 이것 저것 살림살이가 많이 늘었다. 게다가 성격 상 물건을 잘 못 버리는 성격이어서 짐이 점점 더 늘어가는 것 같다.

방금 전까지 짐 포장을 마무리하고 지금은 쉬면서 글을 적고 있다. 난 항상 ‘공간’에 미련이 많이 남는 것 같다. 어릴 적 십 몇 년을 살던 집에서 이사를 갈 때도 그랬고, 학교와 같이 내가 속해있던 공간을 떠날 때도 그랬다. 항상 이사 전야에는 기분이 센치해진다. 그 동안 그 공간에서 벌어졌던 일들을 곰곰히 곱씹어 보며 잠을 못 이룬다. 내가 지금 앉아있는 이 공간에서도 참 많은 일들이 있었다. 일년 간 나름 열심히 살았다면 열심히 살았고, 나에게 조금 엄격해 진다면 더 열심히 살 수 있었는데라며 후회스러운 생각도 든다.

이제 몇 시간 후면 새로운 공간으로 생활 무대를 옮기게 된다. 지리적 위치로는 이 곳에서 10분 거리도 안 되는 멀지 않은 곳이다. 이사를 가는 그 곳에서는 더욱 더 열심히 살 수 있었으면 좋겠다. 다음 번 이사 전야에는 그동안 열심히 살아온 나를 추억하며 뿌듯해 할 수 있기를 빈다.

타짜 드라마 작가에게 설계당하다

타짜,한예슬,장혁,김민준,짝귀
오늘 SBS 타짜가 21부로 막을 내렸다. 원작인 만화 타짜를 두번씩 볼 정도로 재미있게 봤기 때문에 드라마 타짜도 모두 챙겨보았다. 오늘 막방을 보고 난 소감은 “작가에게 설계당했다… ㅠ ㅠ“이다. 아귀의 말투를 빌리자면, “아주 대~차게 빨래질 당해버렸네.”라고 해야할까… 극 초반부터 문제시된 배우들의 어색한 사투리, 미흡한 연기력, 쪽대본 문제 등은 넘어가더라도, 시청자로서, 만화 타짜의 팬으로서 걸린 것은 극의 구성이다. 이 좋은 소스로 이렇게 밖에 구성을 못 하다니…

드라마 타짜는 만화 타짜 1부의 중심 인물들 – 고니, 아귀, 평경장, 정마담, 고광열, 짝귀 – 을 중심으로 2부에서 4부까지의 내용들을 뒤섞었다. 우선 만화에서는 고니가 바로 지리산 작두이지만, 드라마에서는 고니의 아제 (이기영 분)로서 역할을 분리시켰다. 고니의 조카가 주인공인 만화 2부에서는 어릴 적 구슬치기나 난숙이와 난숙이 오빠 이야기를 가져왔고, 포카가 주된 내용인 3, 4부에서도 조금씩 이야기를 빌어왔다. 이러다 보니 원작의 치밀한 구성은 없어지고, 드라마에서는 이야기가 툭툭 끊어졌다. 내가 안타까운건 아직 사용치 않은 나머지 타짜의 내용들 (3, 4부)이다. 원소스 멀티유즈 시대라고는 하지만 우리나라는 일본처럼 기반이 되는 만화나 소설 등의 소스 자체가 부족하다. 그런데 “타짜”라는 좋은 아이템을 드라마로서 망쳐놨으니, 적어도 드라마로서 타짜를 다시 볼 수 있기는 힘들 것이다. 개인적으로 타짜는 3부 <원아이드잭>이나 4부 <벨제붑의 노래>가 극화하기에 더 좋은 플롯을 지녔다고 생각된다. 과연 타짜가 또 다시 영상화될 수 있을까?

요즘 드라마에서는 간혹 작가들이 시청자들을 설계한다. 이야기를 겉잡을 수 없이 끓고가서는 에라 모르겠다라는 심정으로 마무리지어 버린다. 거기에 “열린 결말”이라는 용어를 사용하여 시청자들에게 책임을 전가시켜버린다. 문제는 시청자는 극을 보는 관성이 있기 때문에, 여지껏 봐왔던 것이 아까워서라도 중간에 끊지를 못 한다. 그래서 막방을 보고 나서야 욕을 할 수 밖에 없는 것이다. 최근에 봤던 <베토벤 바이러스>가 그러했다. <하얀거탑>으로 완전 팬이 되버린 김명민이 강마에라는 역을 미친 듯 소화해서 그렇지, 극 자체는 “이건 뭥미?”이다. 마지막화를 본 후의 느낌은 마치 아주 재미있는 만화책을 읽고 있다가 마지막 권을 못 본 것 같았다. <거침없이 하이킥> 팀이 만든 <크크섬의 비밀>도 시즌2를 기약하고 시즌1을 마무리 지었지만, 시청률 때문에 시즌2가 나올 것이라는 희망은 버리는게 좋을 것 같다.

뭐 그래도 <베토벤 바이러스>나 <크크섬의 비밀>은 그나마 양반이다. <태왕사신기>에 비하면… ㅡ ㅡ;;; 시작부터 워낙 언론질을 해놔서 기대감은 만빵으로 해놓고 시청자들를 유혹했다. 개인적으로 영화 <반지의 제왕>에 나오는 개떄 전투신을 좋아하기 때문에 태왕사신기에서도 그런 장면을 기대했다. 나 뿐만 아니라 그 당시 닥본사하던 시청자들도 마찬가지 심정이였을 것이다. 수 백억 제작비가 쓰였다는데, 욘사마는 전투는 안 하고, 적장이나 성주에게 감동 멘트만 날려서 적들을 굴복시켰다. 마지막회는 다가오는데 아직 영토 확장은 택도 없고… 그래도 이미 버린 몸, 막방에 몰아서 쏟아 부으려고 하는구나라고 생각하며 희망의 끈을 놓치 않았다. 그.러.나. 결국 그 넓은 고구려의 땅을 몇 마디 대사와 자막으로 점령하면서 드라마는 막을 내렸다. ㅡ ㅡ;;;;

사용자 삽입 이미지

욘사마 자막으로 광개토 대왕이 되다! (이미지 출처 : http://blog.naver.com/honeykja/40045204944)


내가 방송 관계자는 아니지만, 열심히 광고 시청해가며 방송국을 먹여살리는 시청자의 입장에서 하루 빨리 사전 제작제가 자리잡았으면 좋겠다. 그래야 다시는 드라마 작가에게 설계 당하고, 이 야밤에 쓰린 속을 블로그에 풀어놓는 시청자가 없어질테니 말이다.

ps. 내 생애 최고의 드라마는 누가 뭐래도 <연애시대>!!!

비스타에 우분투 설치 시 파티션 문제

개요

이 글에서는 비스타가 설치된 환경에 우분투를 설치하면서 겪었던 파티션 문제를 해결했던 과정을 단계별로 정리해 보았다. 설치에 이용된 환경 및 OS는 다음과 같다.

  • Machine : LG XNote R200
  • Windows OS : Windows Vista Home Premium
  • Linux OS : Ubuntu 8.10 Intrepid Ibex

우분투 설치 공간 확보하기

우선적으로 기존의 비스타 파티션에 우분투를 설치할 공간을 확보해야 했다. 120G의 하드 공간의 대부분이 사용 중이었기 때문에, 파일 백업 및 삭제로 우선 20G 정도의 공간을 확보했다. 우분투를 설치하기 위해서는 새로운 파티션이 필요하기 때문에 기존 120G 전체로 잡혀있던 주파티션을 축소할 필요가 있었다. XP 환경에서는 파티션매직 등의 파티션 프로그램을 통해서 파티션을 조정해줘야 하지만, 비스타에서는 볼륨 확장/축소 기능이 포함되어 있어서 편하게 파티션을 조정할 수 있다. (이 때까지는 그런줄 알았다. ㅡ ㅡ;;)

내컴퓨터의 컨텍스트 메뉴에서 관리 > 컴퓨터 관리 > 디스크 관리 에서 볼륨 확장/축소 기능을 이용할 수 있다. 원하는 하드디스크에서 오른쪽 마우스 버튼을 클릭하면 볼륨 축소라는 메뉴가 보이는데 이를 실행시키면 볼륨 축소를 위해서 분석을 시작한다. 하지만 분석의 결과는 축소할 수 있는 공간이 300M 정도 밖에 안 된다고 나왔다.

1_hakunamata2.jpg

(이미지 출처 : http://blog.naver.com/hakunamata2/90026313962)

처음에는 정성이 부족해서 디스크의 정리가 안 되서 그런줄 알고, 디스크 조작모음을 실행시킨 후 볼륨 축소를 시도했으나 마찬가지였다. 혹시 디스크의 용량이 모자라서 그런건 아닐까해서 디스크 여유 공간을 50G까지 더 확보했지만 결과는 동일했다. 네이버에서 원인을 찾아보았지만 뻘글들 밖에 안 보였다. 그 중에서 신뢰가 가던 내용이 시스템 파일의 문제이므로, 페이지 파일 옵션 등을 모두 off 시킨 후 볼륨 축소를 하면 된다는 것이었지만 실제로 해보니 효과가 없었다. 실제로 도움을 받은 포스트는 아래와 같다.

첫 번째 포스트는 외부 어플리케이션으로 디스크조각 모음을 하면 볼륨 축소에 효과가 있다는 내용이고, 두 번째 포스트는 Gparted를 사용해서 파티션 사이즈를 조정한 후, 비스타 복구로 비스타를 정상동작 시키는 것에 대한 내용이다. 이 두 방법 모두 효과적이지만 나는 첫번째 방법으로 볼륨을 축소하였다. (추후 파티션을 더 확장할 때는 두번째 방법이 사용되었다.)

위의 이미지에서 보이는 것처럼, 볼륨 축소 다이얼로그에는 “볼륨에 스냅숏 또는 페이징 파일을 사용하도록 설정한 경우 사용할 수 있는 축소 공간이 제한될 수 있습니다”라는 메시지가 나온다. 즉 시스템 파일들 때문에 축소 공간을 실제 여유 공간만큼 확보할 수 없는 것이다. 그렇다면 디스크 조각모음으로 디스크를 정리해주면 축소가 가능해야 한다. 하지만 이미 실패했던 것처럼, 비스타의 디스크 조각 모음은 시스템 파일을 처리하지 못 했다. 따라서 시스템 파일까지 정리해주는 조각 모음 프로그램이 필요했고, 이에 적당한 어플리케이션이 퍼펙트 디스크(Perfect Disk) 였다. 퍼펙트디스크에서는 Boot Tim Defragmentation 이라는 것을 제공하여, 부팅 시에 시스템 파일까지 조각 모음을 통해 정리해준다. 트라이얼 버전으로 사용가능하므로 설치해서 조각모음을 시도했다. (Boot Time에 꼭 체크!)

perfect_disk.jpeg

(이미지 출처 : 강력한 하드디스크 파일 조각 모음 PerfectDisk 2008 Professional)

이렇게 조각모음을 한 후에 볼륨 축소를 시도하니 모든 디스크 공간을 여유공간으로 확보할 수 있었다. 그 후에는 일반적인 설치 과정을 따라서 Live CD로 부팅 후 설치하였다.

정리

시도했던 과정을 간략히 정리하면 다음과 같다.

  • 1차시도 : 디스크 공간 확보 후 볼륨 축소 => 실패
  • 2차시도 : 디스크 조각 모음 후 볼륨 축소 => 실패
  • 3차시도 : 디스크 공간 더 확보 후 볼륨 축소 => 실패
  • 4차시도 : 페이징 파일 등 시스템 파일 옵션을 끈 후 볼륨 축소 => 실패
  • 5차시도 : 퍼펙트 디스크로 조각모음 후 볼륨 축소 => 성공!

참조

이 글은 스프링노트에서 작성되었습니다.

NAVER Developer Center

사용자 삽입 이미지

국내 최대의 포털인 네이버에서 Developer Center를 오픈했다.
그 동안 네이버에서 개발된 각종 리소스들을 오픈소스로 공개하고, 개발자들의 참여를 유도하고 있다.
오픈소스 소개페이지에서 다양한 프로젝트들의 설명을 볼 수 있는데, 재미있는 것들이 많다.
마치 어릴 적에 자고 일어났더니 방 안에 장난감이 가득 쌓여있을 때의 느낌이랄까…
한 동안 심심할 일은 없겠다. 하나씩 차근차근 살펴보면서 배워가야겠다.

그 중에서도 CUBRID를 Rails에서 활용하는 방안을 고민 중이다.
CUBRID의 서브 프로젝트인 CUBRID-ruby 프로젝트도 진행 중이니 조만간 CUBRID를 활용한 Rails 서비스도 나오지 않을까 싶다.

Application을 특정 데스크탑에서 실행시키기

작업 별로 데스크탑 화면 구분하기

우분투를 사용하면서 얻을 수 있는 이점 중 하나는 여러 개의 가상 데스크탑을 사용할 수 있다는 것이다. 특정 작업을 기준으로 구분하여 데스크탑 간을 전환하면서 작업하게 되면 작업의 효율을 더 높일 수 있다. 예를 들어 다음과 같이 작업별로 구분할 수 있을 것이다.

  • Desk 1 : 개발 관련 어플리케이션 (terminal, gedit, eclipse 등)
  • Desk 2 : 인터넷 검색 및 문서 자료들 (firefox, open office 등)
  • Desk 3 : 엔터테인먼트 어플리케이션 (rhythmbox, totem 등)
  • Desk 4 : 메신저 및 메일 어플리케이션 (pidgin, nateon, evolution 등)

그런데 사용을 하다보면 이런 기준과 다르게 어플리케이션들이 보여지게 된다. 어플리케이션이 실행되는 시점의 테스크탑 화면에서 보여지기 때문에, 내가 개발 화면에서 메일 어플리케이션을 실행한다면 다른 화면에서 볼 수 밖에 없게 된다. 물론 어플리케이션을 다시 적절한 데스크탑 화면을 이동시켜주면 되지만 매번 이렇게 하는 것은 매우 귀찮은 작업이다.

Devil’s Pie

원하는 목표인 “특정 어플리케이션은 특정 테스크탑 화면에서 실행시키기“를 달성하기 위해서는 devilspie가 필요하다. devilspie는 윈도우 매칭 유틸리티로서, 윈도우가 생성될 때 규칙에 따라서 특정 액션을 실행시킬 수 있다. 예를 들어, “기본 메일 클라이언트인 ‘에볼루션’이 실행될 경우, Desk4에서 보여지고 최대화시킨다” 와 같은 작업들을 처리할 수 있다.

설치 및 설정하기

devilspie 패키지를 설치한다.

  1. $ sudo apt-get install devilspie

devilspie는 실행 시, 홈 디렉토리의 .devilspie 디렉토리에서 .ds 확장자의 스크립트 파일들을 로드한다. 그리고 새로운 윈도우가 생성될 때마다 이 스크립트들을 실행시켜서, 조건에 맞는 윈도우에 액션을 적용하게 된다. 여기서는 evolution.ds라는 파일을 생성한 후, “실행 후, Desk4에서 보여지고 최대화시킨다”라는 작업을 설정해보자.

  1. $ cd
  2. $ mkdir .devilspie
  3. $ cd devilspie
  4. $ vi evolution.ds
  5.  
  6. (if
    (is (application_name) “evolution”)
    (begin
    (set_viewport 4)
    (maximize)
    )
    )

devilspie의 스크립트는 s-expression으로 구성된다. 위 스크립트는 다음과 같은 의미를 같는다.

  • is (application_name) “evolution” : 실행되는 어플리케이션의 이름이 “evolution”이면
  • set_viewport 4 : Viewport 4번에 보여주고. (Compiz에서는 workspace 대신에 viewport를 사용한다.)
  • maximize : 최대화한다.

위의 스크립트를 세부적으로 설정함으로써 보다 다양한 방식의 액션들을 실행할 수 있다. 자세한 s-expression 설정들은 하단의 참고 링크들을 참조하기 바란다.

실행하기

쉘에서 devilspie라는 명렁으로 실행할 수 있다.

  1. $ devilspie &

만약 스크립트가 정확하게 적용되는지 여부를 보고싶다면 debug 옵션인 -d 옵션을 추가하면 된다.

  1. $ devilspie -d

참고

이 글은 스프링노트에서 작성되었습니다.

SpringnoteFS

Ruby 개발환경을 Ubuntu로 변경하다.
이번 주 초에 내 노트북인 Xnote R200의 비스타에 짜증을 느꼈다. 가장 많이 사용하는 Ruby, Rails 개발환경이 너무 느리고 불편한 것이 화근이었다. 결국 불 같은 화를 참지 못 하고, 이틀 간의 사투 끝에 Ubuntu 8.10을 설치하였다. (완전히 MS의 싹을 잘라버리려 했으나, 인터넷 뱅킹과 회사 회계 관련된 사이트들 때문에 멀티 부팅으로 타협을 봤다.) Ubuntu를 설치했던 과정들은 다른 문서로 정리할 것이다.

신규 프로젝트 전의 몇일…
다음 주부터는 올해 말까지 진행될 프로젝트가 본격적으로 시작된다. 따라서 이번 주 이틀에서 사흘 정도가 2008년 막판 스퍼트를 위한 마지막 휴식 기간이다. 평소 같았으면 다른 더 재미있는 짓을 했겠지만, 우분투로 깔끔한 개발환경 구축해 놓은 것이 마음에 걸렸다. 뭔가 개발은 하고 싶고, 거기다 시간 여유 있고… 이렇게 뭐 할 만한 것을 찾던 중, 예전에 잠깐 생각했던 Springnote Filesystem을 떠올렸다.

SpingnoteFS : Springnote Filesystem
스프링노트는 RESTful Rails를 훌륭하게 구현한 국내 최고의 Rails Application이다. SpringnoteResources와 같은 ActiveResource 기반의 편리한 API까지 제공되므로 잘 활용한다면 다양한 mashup이 가능하다. 예전에 GmailFS를 보고 여러 다양한 리소스를 저장공간으로 활용하는 파일시스템을 만들어 보았던 경험이 있기 때문에, SpringnoteFS는 자연스럽게 개발될 수 있었다.

기본적인 파일 시스템의 CRUD를 목표로 이틀간 꼬박 만들어서 0.1 버전을 만들 수 있었다. OAuth를 다뤄본 적이 없어서 OAuth 인증방식에 대한 공부와 삽질로 하루를 보냈다. 이틀날은 실제 마운트된 파일 시스템에서의 CRUD를 구현하고 코드를 정리하면서 프로젝트를 마무리지었다.

급하게 만든거라 버그도 많을 것이고, 노틸러스와 같은 파일시스템 GUI에서는 정상적으로 파일 복사, 이동이 되지 않는 것도 확인했다. 리눅스를 사용하시면서 스프링노트를 자신만의 저장공간으로 활용해보고 싶으신 분들은 http://inocrazy.springnote.com/pages/2119958 에서 친절한 설명과 함께 코드를 받아서 사용해 보시길…

로드된 DLL 파일 찾기

Cygwin Error!!!

개발 PC에는 여러 환경에서의 개발을 위해서 Cygwin이 설치되어 있다. 그런데 어느 날부터 Command Prompt에서 Cygwin에 관련된 명령어들이 작동하지 않았다.

…cygwin system shared memory version mismatch detected

이라는 에러 메시지를 출력하면서 실행이 멈추었다. Cygwin의 FAQ를 찾아보니, 시스템 상에 (정확히는 PATH 환경변수로 정의된 디렉토리 안에) 하나의 DLL 파일만 존재해야만 한다고 한다. 결국 다른 버전의 Cygwin DLL (cygwin1.dll) 파일이 먼저 로드되어서 충돌을 일으킨 것이다.

어느 프로세스가 로드한 것일까?

로컬 검색을 통해서 OpenSSH 디렉토리에 cygwin1.dll 파일이 존재한다는 것을 확인하고 삭제하려고 하였다. 그러나 이미 다른 프로세스가 DLL 파일을 로드한 상태였기 때문에 삭제할 수 없었다. 이를 해결하려면 어느 프로세스가 해당 DLL을 로드하였는지 찾아서 해당 프로세스를 죽이고, cygwin1.dll 파일을 삭제해야만 했다. 이를 위해서 tasklist 명령어가 사용되었다.

tasklist.png

tasklist는 Unix 시스템의 ps에 해당하는 명령어로 응용 프로그램이나 관련 작업/프로세스의 목록을 출력해준다. 여기에 /m [모듈] 옵션을 추가해서 [모듈]과 패턴이 일치하는 이름을 갖는 DLL을 로드한 프로세스를 볼 수 있다.

참조

이 글은 스프링노트에서 작성되었습니다.