Thursday, October 4, 2018

구형 PC에서 Linux 운용은.. 희망 또는 허망 ?

Linux(GNU/Linux) 운영체제를 처음 접한 1990년대 초반, 워크스테이션에서 UNIX 운영체제를 사용하고 상황에는 Linux는 PC를 위한 DOS/Windows 외 설치할 수 있는 실험적 운영체제로 보였다. 한마디로 UNX 시스템 운용에 목마른 가난한 이들을 위한 SCO UNIX/XENIX 대체품이었다. XENIX는 UNIX와는 전혀 어울릴 것 같지 않은 마이크로소프트가 AT&T로부터 라이센스하여 X86 머신용으로 포팅한 UNIX 운영체제로 이후 SCO가 인수했다. 최초 설치를 시도한 Linux 배포판으로 슬랙웨어 꽤나 많은 숫자의 플로피 디스켓을 준비해야 했다.

이후 30년 가까이 지난 오늘까지 Linux는 여전하다. 그럼에도 그때와 마찬가지로 PC를 위한 데스크탑 운영체제로서의 위치 역시 크게 달라지지 않았다. 오히려 시간이 지날 수록 데스크탑 운영체제로서 사용률은 한때 최고점 이후 지속적으로 하락하고 있다.

uDxpmuz.png

오늘날 Linux를 자신의 PC에 설치하여 사용하는 경우는 크게 두 가지로 생각할 수 있다. 우선 실제로 UNIX 운영체제를 PC에서 사용하기 위한 목적에서 Linux를 운용하는 것이다. 다른 하나는 DOS/Windows 운영체제 그리고 마이크로소프트에 대한 무한한 불만에 기반하여 PC의 데스크탑 운영체제를 전환한 경우이다. 전자의 경우는 그 필요성과 효용성에 대해 언급할 필요가 없을 것이지만, 후자의 경우는 상황의 지속을 담보할 수 없다. 때문에 노쇠한 PC에 DOS/Windows와 Linux 간의 설치를 왔다갔다하는 경우도 많이 본다. 결과적으로 Linux가 DOS/Windows 환경이 제공하는 기능과 어플리케이션의 역할에 충분히 대체할 수 없다면 힘들고 불편한 상황을 견딜 수 있는 끈기가 있어야 한다.

일단 국내에서의 Linux 운용에서의 한글 워드프로세서와 국내 은행 및 공공기관 업무를 위한 웹 브라우저 기능에 대해 고려할 생각은 없다. 이 두 상황의 해결이 불가능한 것은 아니지만 현실적으로 많은 어려움을 유발시킨다. 다행히 스마트 폰의 등장 이후 은행 및 공공기관 업무의 어려움이 상당수 해소되었다. 그럼에도 여전히 Linux에서 한글 문서 작성과 공공기관 업무에 대한 고민이 있다는 깔끔하게 포기하는 것이 좋다.

만일 Mac OS나 Windows 환경에서만 구동되는 특정 어플리케이션이 업무의 중심이라면 Linux에서 그에 대응하는 어플리케이션의 찾기란 거의 불가능하다. 예로 PTC Pro/Engineer의 경우 Linux 버전이 출시되었지만 몇 번의 개정을 거치지 못하고 중단되었다. 다른 제품의 경우도 전략적으로 Linux를 지원하지 않는 이상 Linux 버전을 유지한다는 것은 상당히 비용이 초래된다.

결국 PC에서의 Linux 운용이 가지는 장단점에 대해 언급한다는 것은 위와 같은 어려움에서 자유롭다면 아무런 제약없이 빠르고 안전한 그리고 적은 비용으로 PC를 좀더 오랫동안 활용할 수 있다. 더욱이 시간이 지나면 지날 수록 관리 및 보수 비용은 Windows에 비해 상대적으로 매우 저렴할 수 있다. 하지만 이러한 장점이 Windows에 비해 가지는 단점을 극복한다는 것은 또 다른 차원의 문제이다.

이러한 조건이 만족되는 측면에서 Linux가 수 년에서 십 수년이 지난 구형 PC의 부활에 어느 정도 희망을 줄 수 있는가에 대한 의문이 끊임없이 제기되었다. 현대적인 Windows 버전의 운용이 불가능한 상황을 Linux를 통하여 어느 정도 극복할 수 있기를 기대하게 된다. 그러나 결국 앞서의 조건을 극복해야 하는 경우와 동일하다. 일반적으로 구형 PC를 위한 최신 버전의 Linux 운용는 상대적으로 최신(운용이 어려운) Windows 버전에 비해 높은 체감 성능을 제공할 수 있다. 물론 Linux의 규모가 커지고 기능이 다양해짐에 따라 구형 PC에서 느껴지는 최신 버전의 Linux 운용에 따른 부하 역시 지속적으로 증가하고 있다. 물론 이런 경우에 대응하는 최신 버전의 가벼운 Linux 역시 지원되고 있다.

하지만 대개의 경우 구형 PC에 Linux를 설치한 후 체감 성능의 향상 보다 Windows 환경의 부재에 더 큰 불편함을 느끼게 되고 다시 이전 버전의 Windows를 설치하게 된다. 그리고 이 과정은 종종 반복된다. 결국 성능의 체감 보다는 일상의 안정감을 추구하게 된다. 만일 신형 PC를 운용하면서 구형 PC에 Linux를 운용하는 경우라면 상대적으로 Linux 운용의 시간이 길어 질 수 있을 것이지만, 경험상 아무리 구형 PC에서라도 사용 빈도가 낮은 Linux가 일정 기간 이상 지속되기는 쉽지 않다.

4Oq6LDD.png

Linux가 구형 PC에 부여할 수 있는 기능적인 특정은 무엇일까? 무엇보다도 Windows 환경과의 비교가 아닌 Linux가 제공하는 특징적 장점의 활용에 기반하여 생각할 때. 단연 서버 또는 네트워크 기기로서의 역할일 것이다. 또한 Windows에 비해 선택이 자유로운 소프트웨어의 운용에 집중하는 것이다. 그런 점에서 나는 다음 몇 가지 방안으로 구형 PC에서의 Linux 운용에 관심을 가지고 활용하고 있다. 하지만 우선 생각해보면 굳이 Linux로 전환해야 하는 문제의 원인을 다른 방법으로 해결할 수 있다면 이를 시도한 것도 하나의 방안이지만 역시 비용 부담이 발생할 수 있다.

그러나 PC가 등장한 지 40년이 넘은 시점에서 구형 PC의 기준 없이 생존의 기존을 이야기할 수는 없다. 이 포스팅에서 의미하는 구형 PC는 다음 몇 가지 제약을 가진 컴퓨터로 생각하고자 한다. 우선 CPU는 32-비트 Pentium 4 혹은 동급의 마이크로프로세서 수준으로 그래픽스 카드 설치를 위한 확장 슬롯이 AGP 타입이며, 내장 드라이브 연결을 위한 인터페이스가 IDE(EIDE)나 SCSI 또는 SATA 1.X인 경우를 중심으로 한다. 다시 말해 Windows NT/2000 그리고 XP 운용으로 개발된 시스템으로, Windows 7에서의 3D 그래픽스 지원에 제약이 있으며 내장 드라이브 선택의 자유도가 상대적으로 높지 않은 구형 PC나 워크스테이션일 것이다.

Linux 전환 고민의 이유

이렇듯 구형 PC에 Linux 설치에 따른 고민을 하는 것은 마이크로소프트의 Windows 운영체제에 대한 보안 지원 문제 때문이다. 특히 구입 비용에 수 백에 천 만원을 넘는 비용을 지출한 HP 등의 고급 워크스테이션이나 서버라면 폐기하기가 아까울 수 있다.

현재 마이크로소프트는 Windows XP 이하 그리고 Windows Server 2003에 대한 지원을 이미 종료했고, 곧 2020년 Winddows 7과 Windows Server 2008에 대한 지원 종료가 다가오고 있다. 때문에 마이크로소프트가 아닌 외부 보안 SW에서 원하는 Windows 버전에 대한 지원이 가능하다면 약간의 비용을 지출하더라도 Windows XP나 Windows Server 2003의 사용 기간을 확대하는 것도 나름의 대응책이다. 하지만 시간이 지남에 따라 대부분의 보안 SW에서도 Windows XP나 Windows Server 2003의 지원이 중단되고 있다.

오늘날 대부분의 보안 문제는 네트워크 특히 인터넷 연결이나 이-메일 등의 인터넷 서비스를 이용하는 과정에서 겪게 될 가능성이 대부분이라는 점에서 구형 PC 등을 별도의 인트라넷이나 오프라인 상태로 운용한다면 보안 문제에 대한 걱정을 상대적으로 덜할 수 있다는 점을 고려할 필요도 있다. 예로 라이센스 문제나 혹은 Windows NT나 Windows XP처럼 특정 운용체제에서만 운용되는 어플리케이션을 사용해야 하는 경우 보안 문제에 대한 우려가 심각하다면 오프라인 상태로 운용하거나 라이센스 서버라면 인트라넷을 구축하여 사용하는 것도 대안이 될 수 있다.

서버 및 네트워크 머신

Linux의 활용이라고 할 때 누구나 먼저 손꼽는 부문이 서버와 네트워크에 관련된 것이다. 특히 구형 PC를 활용한 서버와 네트워크 기기로서의 운용은 Linux를 활용한 최고의 선택이라고 할 수 있다. 데스크탑 환경에서의 주요한 요소인 그래픽스와 사운드 기능에 영향을 받지 않기 때문에 기본 사양의 구형 PC에서도 안정된 성능이 보장된다. 워크그룹 수준에서의 파일 서버나 NAS 그리고 라우터 장비로서의 역할을 훌륭히 수행한다. 물론 이러한 기능의 Linux를 설치하고 설정하고 그리고 운영할 수 있는 역량이나 인력이 확보되어야 하는 것이 함정일 수도 있다. 과거에 비해 Windows Server 기능이 다양해지고 안정된 것이 사실이지만 비용대비 성능을 생각할 때 Linux에 비교되기는 힘들다. 그리고 서버 자체의 관리적인 측면은 GUI 환경의 Windows Server에 비해 불편하고 복잡한 것도 사실이다.

네트워크 머신으로 사용하고자 할 때에는 추가로 필요한 네트워크 카드의 장착 정도로 준비 사항이 간단하다. 반면 파일 서버나 NAS로 사용할 경우에는 HDD의 추가도 필요할 수 있는데 최근에는 대용량 HDD는 물론 SSD의 가격도 크게 낮아 지고 있기 때문에 굳이 저용량의 HDD를 쓰려고 고집할 필요는 없다. 나의 경우 시스템이 HDD를 SCSI 타입을 사용하기 때문에 별도의 PCI 카드를 이용하여 SSD와 SATA HDD를 운용하고 있다.

하지만 워크그룹이나 가정에서 사용할 수 있는 파일 서버는 물론 라우터 기기 조차 높은 성능에 낮은 가격이 일반화되어 가는 추세에서 Linux를 이용한 이러한 활용이 얼마나 효율적인지는 의문이 지속될 것 같다. 때문에 네트워크 시스템 구축에 대한 기능적 시도 혹은 전용 기기의 확보까지 필요한 시간 동안 운용할 목적 정도의 가치 이상을 기대하기는 어렵다.

추억의 기억 박스

현실적으로 가장 흥미로운 시도는 구형 PC에서의 Linux 활용 방안은 가상 머신이나 에물레이터를 이용한 다른 하드웨어 시스템을 운용하는 것이다. 최근까지도 이런 활용을 위해 구형 PC에 DOS나 Windows 3.X와 같은 운영체제를 설치하고 게임을 즐기는 이들도 많았다. 하지만 가상 머신의 활용도와 접근성이 개선되면서 굳이 많은 비용이 수반되는 이런 취미를 지속하기란 쉽지는 않다. 구형 PC의 확보나 유지 그리고 활용 자체게 많은 시간적 금전적 노력이 요구되기 때문에 단순한 호기심이라면 가상 머신을 활용하는 것이 더 효과적이다. 이에 따른 문제는 가상 머신의 종류에 따라 DOS/Windows 3.X 운용을 완벽하게 지원하지 않는다는 점이다. 이럴 경우에는 가상 머신 보다는 에물레이터를 사용하는 편이 더 나은 선택이다.

만일 구형 PC 또는 클래식 컴퓨터 시스템을 직접 구입하여 운용하고자 한다면 현실적 활용 방안이 전무하고 또한 실물 기기의 유지에 따른 수고와 비용이 만만치 않다는 점에 유의해야 한다. 실제로 실물 기기에 대한 유지가 미흡하면 마더보드나 내부 부품 등에서 여러 문제가 발생하여 구입 당시의 비용에 비춰 상당한 보수 비용이 발생하거나 폐기해야 할 수도 있다. 물리적 한계를 가진 제품이라는 점에서 시간이 지남에 따라 더욱 큰 문제가 된다.

프로그래밍 머신

현재 가장 효과적은 활용 방안으로 생각할 수 있는 용도가 최근 코딩 교육에 바람에 부응하기 위해 프로그랭 학습을 위한 도구나 프로그램 개발 도구로 활용하는 것이다. 전통적으로 Linux는 공학 분야에서의 수치 해석 등의 계산 문제에 대한 답을 얻기 위한 프로그램의 작성이나 연구를 위한 도구로서 활용될 수 있다. 비록 현대적인 GUI 기반의 프로그램 작성이나 IDE 개발 도구를 운용하기에 불편한 점이 많지만 빠른 답을 구하기 위한 목적에서는 큰 문제가 되지 않는다. 또한 결과 값을 그래픽스로 처리하기 위한 도구 역시 충실하게 갖추어 졌기 때문에 특정 분야의 계산 용도로서 가치가 충분하다. 물론 구형 PC의 성능에 따라 빠른 응답을 기대하기 어려울 수도 있지만 이 역시 프로그래밍의 학습이라는 목적으로 본다면 무리가 없다. 무엇보다도 완벽한 멀티태스킹을 구현하기 때문에 여러 변수에 따라 다양한 계산을 수행해야 하는 문제 풀이에도 적합하다. C, C++, LISP, Perl, Python 등 필요한 모든 프로그램 언어를 쉽게 확보하고 빠른 편집과 컴파일러를 기본으로 탑재하고 있다.

만일 Windows 기반의 프로그램 제작을 위한 학습 도구라면 별도의 개발 환경을 사용해야 하므로 직접적 개발 환경으로 운용하기에는 부적합하다. 이런 경우라면 차라리 Windows 환경에서 다소 낮은 버전의 개발 도구를 운용하는 것이 효과적이다.

또 다른 선택, 멀티 부팅

밤새 Windows XP와 Linux 사이에서 선택하고 있다면 일단 두 운영체제를 모두 설치 후 실제 사용 현황을 확인하는 방법이 있다. Windows 95 이후 특히 Linux 이후 PC 사용자들은 하나의 컴퓨터 시스템에 여러 운영체제를 사용하기 위해 듀얼 혹은 멀티 부팅을 사용해 왔다. 멀티 부팅을 이용하여 동일한 하드웨어 사양에서 PC의 제약 상황이 어떤 운영체제에서 상대적으로 잘 극복되는 지를 시험할 수 있다. 기본적으로 Windows 운영체제를 먼저 설치 후 Linux 운영체제를 설치하여 특별한 어려움 없이 멀티 부팅 환경이 구성된다.

특히 HDD와 함께 SSD를 사용한다면 구형 PC에서 SSD 사용에 따른 성능 향상을 체감할 수 있을 것이다. 시스템의 마더보드나 BIOS이 지원 여부에 따라 SSD의 효능을 크게 느낄 수도 있지만 실질적으로 별 다를 바 없다고 느낄 수 있다. 물론 구형 PC라도 SATA(특히 SATA 2 이상) 장치를 운용할 수 있는 경우라면 상대적으로 별도의 인터페이스 카드를 이용하여 SSD를 운용하는 경우보다 훨씬 높은 성능을 경험할 수도 있다고 본다.

다시 미래에 희망을...

이런 고민이 지속되면서도 해결책을 찾지 못하고 있다는 것은 한마디로 구형 PC든 워크스테이션이든 자신에게 효용성이 없다는 것이다. 또한 폐기하기는 아깝고 중고로 처분하자니 바라는 금액을 기대하기 어렵다는 것이다. 단언컨데 대부분의 경우 사실일 것이다. 그렇다면 이 시스템의 미래를 오늘이 아닌 내일로 미루는 것도 하나의 방법이다. Apple 1이나 IBM PC 5150과 같은 어마무시한 가격을 기대하기는 어려울지라도 오늘의 고민 이상의 가격을 보상받을 수 있을 것이다. 최소한 오늘의 이런 고민이 수 년 혹은 십 수 년이 지난 후 다시 시작된다고 돈을 주고 얻기 힘든 즐거움이 아닐까 싶다. 물론 주변에 눈총 받지 않고 숨겨둘 공간을 확보하는 것이 큰 문제일 것이다.

No comments:

Post a Comment