첫 번째 삽질

프로그램 개발 때문에 계속 밤샘을 하다 보니 불현듯 Server 2003 Web 판을 설치해 보고 싶어졌다. nLite 완벽 길잡이 0.99.6 beta라는 강좌를 쓰면서 드라이버 통합이 정상적으로 되는지 확인하기 위해 nLite로 드라이버, 서비스 통합 및 옵션, 트윅을 적용한 CD로 2004년 11월에 설치했다. 강좌와 팁을 쓰기 위해 실험용 쥐로 계속 사용한 PC 지만 별 문제없이 사용하던 컴퓨터였다. <사진: 21세기 마지막으로 남은 노가다[1], 전산>

요즘은 삽질을 좀 많이 한다. 매형이 중산리라는 촌에 살고 있기 때문에 어쩔 수 없이 땅을 파는 것이 아니다. 조금만 신경을 썼으면 하지 않아도 되는 삽질을 컴퓨터로 거의 매일하고 있다.

첫 번째 삽질

프로그램 개발 때문에 계속 밤샘을 하다 보니 불현듯 Server 2003 Web 판을 설치해 보고 싶어졌다. nLite 완벽 길잡이 0.99.6 beta라는 강좌를 쓰면서 드라이버 통합이 정상적으로 되는지 확인하기 위해 nLite로 드라이버, 서비스 통합 및 옵션, 트윅을 적용한 CD로 2004년 11월에 설치했다. 강좌와 팁을 쓰기 위해 실험용 쥐로 계속 사용한 PC 지만 별 문제없이 사용하던 컴퓨터였다.

그러다가 Server 2003 중 웹 판이 비교적 가벼운 것 같아 웹 판을 구해 설치하기로 했다. 그런데 한글판 웹 판을 구하기가 상당히 어려웠다. 그래서 웹 판 영문판을 구하고 nLite로 드라이버를 통합한 뒤 VMWare에 설치했다. 물론 MUI 팩까지 설치해서 CD가 정상적으로 동작하는 것을 확인한 뒤 실제 시스템에 설치했다.

그런데 OS를 설치하는 중 계속해서 nForce의 오디오 드라이버 중 하나인 nvapu.sys를 찾을 수 없다는 메시지가 뜨는 것이었다. 결국 설치시 문제가 되는 두 개의 드라이버(오디오 드라이버와 비디오 드라이버)를 빼고 서비스팩 2까지 nLite로 통합해서 CD를 구운 뒤 다시 시스템을 설치했다.

nLite로 통합한 CD로 시스템은 정상적으로 설치됐지만 문제는 MUI 팩이 설치되지 않는 것이었다. 구한 MUI 팩이 서비스팩 2를 지원하지 못해 발생한 현상이었다. 결국 Server 2003 Web 판의 설치를 포기하고 Server 2003 Standard R2 판을 설치하기로 결정했다.

Server 2003 Standard R2 판의 통합 CD를 만들면서 혹시나 하는 생각에 문제가 됐던 오디오 드라이버와 비디오 드라이버를 다시 통합해서 만들었다. 그런데 마찬가지로 오디오 드라이버와 비디오 드라이버를 찾을 수 없다는 메시지가 나타나는 것이었다. OS를 밀어버린 상태라 nLite로 다시 통합 CD를 만드는 것도 귀찮고 해서 오디오 드라이버와 비디오 드라이버는 나중에 설치해도 되므로 찾을 수 없는 드라이버는 무시하고 설치했다.

그런데 이렇게 설치하자 이번에는 어떤 방법을 사용해도 오디오 드라이버와 비디오 드라이버가 설치되지 않는 것이었다. 인터넷에서 새로운 드라이버를 찾아 설치해도 계속 문제가 있는 드라이버로 표시되고 기존의 드라이버를 삭제한 뒤 설치해도 마찬가지로 문제가 있는 드라이버로 표시되었다. 문제가 없는 드라이버로 표시되어 다시 부팅 하면 16비트 색상으로 바뀌고 드라이버의 오류 메시지를 확인하면 현재 버전에서는 사용할 수 없는 드라이버로 표시되는 것이었다.

결국 Pserv로 기존에 설치되어 있는 문제가 되는 드라이버를 모두 삭제(장치 관리자에서 삭제하는 것과는 다름)고 인터넷에서 내려받은 드라이버를 설치함으로써 문제를 해결했다. 이때 불현듯 인터넷에서 내려받은 nForce 드라이버와 PC에 저장해둔 nForce 드라이버가 같은 버전이라는 사실을 깨달았다.

아울러 불현듯 고장난 하드를 제조사로부터 AS 받기를 쓰면서 사용했던 하드 디스크의 문제가 떠올랐다. 보통 하드 디스크가 물리적으로 손상되면 손상된 데이터를 읽지 못하는 경우가 일반적이다. 그런데 이 하드는 신기하게 데이터 복사는 정상적으로 이루어지지며 어떤 데이터는 정상적으로 읽을 수 있지만 어떤 데이터는 깨진 채로 읽혀졌다.

결국 어떤 데이터를 정상적으로 읽을 수 있는지 알지 못해 160G의 데이터를 모두 날리지 못하고 하드 디스크에 그대로 저장해 두었는데 이렇게 저장되어 있는 데이터 중 nForce 드라이버 파일이 손상되어서 발생한 문제였다.

무려 12시간에 걸친 삽질의 원인은 손상된 드라이버였다. 새로 내려받은 nForce 드라이버를 Server 2003 Standard R2와 통합해서 다시 설치해보자 예상대로 아주 가뿐하게 설치됐다.

두 번째 삽질

매형 서점에서 사용하고 있는 매장 관리 프로그램은 이지전산에서 개발한 Easybook이라는 프로그램이다. 매형 서점은 지금까지 큰 문제없이 이 프로그램을 사용해왔다. 그런데 작년에 교현동에 있는 제일고시라는 서점을 인수하면서부터 문제가 발생했다.

이지북에는 지점관리 기능이 없어 제일고시와 글터가 전산이 분리되어 운영되다 보니 제일고시의 매입, 매출을 알 수 없고, 회원 DB가 공유되지 않아 서로 다른 회원 정책으로 운영되고 있었다.

최소한 매입, 매출만이라도 확인할 수 있는 방법을 매형이 물어와서 DDNS 서비스와 ODBC의 DSN 연결을 변경하는 레지스트리 트윅, 1층, 2층, 제일 고시로 자동으로 분기할 수 있도록 작성된 배치 파일을 이용해서 원격지에 있는 제일고시의 데이터를 매형 서점에서 읽을 수 있도록 해줬다.

이렇게 하자 발생한 문제는 MS SQL의 공식 포트인 1433 포트로의 접속이 급속도로 증가해서 제일고시 컴퓨터에 계속 문제가 발생하는 것이었다. 아울러 이지북은 MS SQL 서버의 관리자 ID인 sa를 데이터베이스 연결에 사용하며 빈암호를 사용하고 있기 때문에 보안상 그냥 둘 수도 없는 부분이었다.

결국 이지전산에 요청해서 네트워크 부분은 알아서 할 테니 ODBC를 타고 DB에 연결할 때 암호를 지정할 수 있도록 해달라고 요청했다. 결국 이지전산 측에서 다른 아이디와 암호로 연결할 수 있도록 프로그램을 변경해 줬고, 이 프로그램을 제일고시에 설치했다.

로그인 화면이 조금 늦게 뜨지만 로그인 화면도 정상적으로 뜨고 서점 관리 프로그램도 정상적으로 나타났다. 그런데 문제는 매입 등록만 하면 런타임 오류가 걸리면서 서점 관리 프로그램이 죽는 것이었다.

결국 이지전산 측에 DDNS와 ODBC 설정을 통해 원격으로 접속하는 방법을 알려주고 그쪽에서 테스트를 부탁했다. 그런데 의외로 이지전산 측에서 연결하면 매형 서점이 잘 연결된다는 것이었다. 아울러 이런 방법을 통해 지점에서 본점 데이터를 접근할 수 있다는 사실이 무척 신기한 모양이었다.

이지전산 측에서는 잘 연결된다는 얘기를 듣고 문제의 원인이 제일고시에 있는 것으로 판단, 제일 고시 서적에서 문제가 될만한 요소를 모두 제거했지만 결과는 같았다. 결국 최후의 방법으로 ODBC 로깅을 시도했고 결국 오류가 MMEMBER 테이블을 조회할 수 없어서 발생한 것이라는 것을 알았다.

MMEMBER 테이블이 eb2kmem라는 데이터베이스에 있다는 것을 알고 DSN을 확인하자 두 개의 DSN 중 하나의 DSN의 DB 설정이 잘못되어 있다는 것을 알았다. 또 6 시간에 걸친 삽질이었다. 원격으로의 연결이 되지 않아 기존의 DSN을 모두 삭제하고 새로 DSN을 추가하면서 벌어진 실수였고, 이 실수 때문에 쓸데없이 6시간에 걸친 삽질을 한 셈이다.

그런데 여기까지의 삽질도 참을 만 했다. 어제 공유기 설정을 확인하던 중 사무실에서 사용하는 공유기에서 VPN 기능을 지원한다는 것을 알았다. VPN이 지원되면 원격지 컴퓨터를 로컬 컴퓨터처럼 보이도록 할 수 있으므로 DDNS에 레지스트리를 변경하고, 프로그램까지 변경할 필요없이 기존의 프로그램에, 기존의 설정을 그대로 사용하면 되기 때문이다. ㅇㅗㄷ...

즉, 이지전산의 삽질이야 필요한 삽질(보안상)이지만...

세 번째 삽질

구글 AdSense의 새로운 기능(삽질)을 읽어보면 자세히 알 수 있다.

전산을 21 세기 최후의 노가다라고 한다. 그만큼 삽질이 많다. 그러나 삽질을 두려워하지 마라. 삽질은 네 일상이며, 다음의 너를 있게하는 초석이니라...

관련 글타래


  1. 노가다는 일본어 도카타(ドカタ)가 바뀐 말이다. 우리말로는 보통 '막일'이라고 한다. 그런데 '노가다'를 쓴 이유는 막일 보다는 '노가다' 어감이 더 와닿기 때문이다.