[소고] 대충 아는것과 정확히 아는것...

@codemaru · January 30, 2003 · 5 min read

오늘은 새로운 임베디드 보드에 리눅스를 포팅하는 작업을 하기위해 사용하는 PC의 마지막 남은 10G가 공간에다 리눅스를 설치했다. 한두번 하는 작업도 아니고 새로운 버전의 리눅스를 받기도 귀찮아서 이전에 구워둔 적이 있는 와우리눅스 7.1 버전을 설치했다. 몇가지 파티션을 잡고 설치는 무리없이 끝이 났다. 설치가 끝나고 재부팅을하자, D드라이브가 없어진 걸 알 수 있었다. 윈도우의 디스크관리자에선 NTFS로 표기가 되어 있었지만 시스템을 알 수 없다는 불평을 하고 있었다. 이번엔 리눅스로 부팅해 보자 Hidden NTFS로 표기되어 있었다. 정말 어처구니 없는 일이었다. 나는 대충 Hidden NTFS를 NTFS로 고친후 재부팅 해 보았으나 마찬가지 였다. 난 사실 그때까지 Hidden NTFS가 무엇을 의미하는지도 몰랐으며, 알려고 하지도 않았다. 난 리눅스에서 간신히 D드라이브의 자료를 모두 백업받아서 다른 컴퓨터로 옮긴후에 다시 윈도우에서 그 데이터를 복구할 수 있었다. 그리고는 윈도우에서 파티션을 날리고 새로 포맷해서는 데이터를 다시 복사시켰다. 여기까지 하고는 이제는 괜찮겠지 하고는 재부팅을 했는데 다시 D드라이브가 없어지는 것이었다. 난 무척 당황했고, 이제까지의 내 처사에 사실 이성적인 부분이 없음을 알게 되었다. 인터넷에서 hidden ntfs로 검색한 결과, 난 이 문제가 새로운 버전의 lilo에서 보고되고 있는 문제라는 것과 lilo설정 파일을 수정하면 해결된다는 것을 알고는 그렇게 했다. 그러자 없어졌던 D드라이브는 원래대로 돌아왔다.

가끔 우리는 근원적인 문제의 본질을 찾지 못하는 경우가 많다. 또한 본질을 찾기 보다는 그동안 자신이 해왔던 일, 내지는 그 기준에 비추어서 대충 땜질하는 식으로 일을 하는 경우도 많다. 하지만 그런 것들은 대부분의 경우 잘못된 것일 확률이 높다. 프로그래머의 경우도 실제로 프로그램을 짜면서 그런 경험을 하는 경우가 많다. 버그라고 올려진 버그 리포트를 보면서 자신이 해보고는 해당 버그가 나오지 않으면, 그냥 해결된 줄 알고 넘어가 버리는 것이다. 사실 버그가 그냥 저절로 없어진다는 것은 있을수가 없는 일이다. 그럼에도 불구하고 실제로 그 버그의 원인을 찾을 생각은 하지 않는 것이다. 그렇게 넘겨진 버그 하나 둘은 결국 나중에 엄청나게 꼬여진 시스템으로 돌아올 것이다. ^^

대충아는 것과 정확히 아는것에는 분명한 차이가 있다. 회로를 설계하는 분들 중에도 보면 가끔 저항을 계산에 의해서 달기 보다는 자신의 경험에 비추어 실험적으로 달거나 트랜지스터가 뜨거우면 단지 방열판을 달면 된다는 식으로 생각하는 경우가 많다. 또한 프로그래머도 그런 생각을 가지는 경우가 많다. 하지만 완벽한 시스템 내지는 제대로된 무엇인가를 하기 위해서는 그런 방식의 접근 방법은 분명 잘못된 것이다. ^^

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중