MSI Cubi N ADL

미니 PC와의 만남

올 3월 초 N100 CPU를 탑재한 미니 PC를 한대 장만하였다.

일반적으로 영화나 유튜브 감상, 단순 웹서핑 용도로 구입들을 많이 하는 것 같다.

내 경우는 단 한 가지 목적이었다.

리눅스 설치!

N100 CPU를 탑재한 미니 PC도 그 브랜드가 상당히 다양하다. 중국산 이름 모를 브랜드가 주축을 이루고 있다 보니 이런 제품에서 리눅스 구동이 가능할지도 모호한 상태였다.

인텔 N100은 인텔 셀러론 프로세서의 후속 모델이다. 12세대 알더 레이크 아키텍처 기반의 저전력 버전이다. 4개의 코어와 4개의 스레드를 가지고 있으며, 클럭속도는 1.1 GHz정도로 저전력 소비에 최적화되어 있다.

즉, 미니 PC에 적합한 CPU라고 볼 수 있다.

이런 N100 CPU를 채용한 미니 PC의 경우 알리익스프레스에만 가도 차고 넘쳐 흐른다.

BEELINK가 대표적인 인기 모델이고 20만 원 미만이라는 금액은 미니 PC시장을 후끈 달아오르게 만든 것 같다. 그런 미니 PC도 고성능화돼 가고 있는 추세이고 라이젠 7이나 i7과 같은 고성능 CPU를 탑재하여 나오기도 한다.

집에서 서버를 돌리기 위해선 저전력이 필요했었다.

속 편히 AWS와 같은 클라우드 서비스를 이용할 경우 신경 써야 할 게 한두 가지가 아니고, 사용량에 따라 비용을 지불해야 했기에 수익을 목적으로 하지 않는 나로선 제외할 수밖에 없었다. 제일 무서운게 저 사용한만큼 비용을 지불한다는 것.

PythonAnywhere와 같은 저렴한 비용으로 Django, Flask와 같은 프레임워크를 간단한 세팅으로 이용할 수 있는 서비스도 이용해 보았지만 역시 다양한 시도와 용량 한계가 느껴졌다.

이로 인해 최신 기술을 학습할 겸 서버를 구축하기로 마음을 굳혔다.

역시 집에서 500~600W의 PC를 24시간 돌린다고 가정했을 때 전기세도 만만치 않다.

내가 최종적으로 구매한 제품은 MSI사의 Cubi N ADL 모델이다.

10만 원 초반에서 20만 원 초반에 구성된 알리익스프레스 제품에 비해 국내 정식 발매된 제품으로 2배 이상의 가격 차이를 보였다. 메모리는 16G에 HDD는 256G로 별도 주문하니 40만 원 초반 금액으로 구입할 수 있었다. 이 금액이면 성능이 더 좋은 제품도 구입 가능하지만 일단 브랜드 신뢰성을 바탕으로 해당 모델을 구매하였다.

참고로 65W 제품의 한 달 전기세를 추정해 보면 주택용 고압이라 해도 약 4200원 정도로 계산된다.

오래된 추억

처음 리눅스를 접한 건 95년 경으로 기억한다. PC통신이 대세였던 당시 사설 BBS도 꽤 많았다. 유로 인터넷 서비스 즘이라고 생각하면 된다.

당시에는 인터넷이 본격화되기 전이라 텍스트 환경의 PC통신이 주를 이루었고, 천리안/하이텔 등의 대표적인 PC통신 서비스였다.

지금과 같은 인터넷을 생각하면 안 된다. 글자로 표현되는 환경에서 이동을 하기 위해서도 명령어를 쳐야 하는 번거로움이 있었지만 당시에는 이런 불편함 조차 가슴을 띄게 만들었다.

PC통신을 통해 알게 된 지인들 중 사설 BBS운영자들이 있었고, 하루는 이들을 만나게 되었다. 한 운영자 집에 설치한 PC를 보게되는데 그곳엔 리눅스라는게 설치되어 있었다. 이때만 해도 리눅스 설치는 천상계 영역 같다는 느낌마저 들었다.

이도 인터넷망 이 전국적으로 깔리기 시작하고, 복잡한 과정을 거쳐야 접속이 가능했던 인터넷도 유니텔이란 PC통신 업체가 원클릭으로 접속하는 프로그램을 마련하며 그 대중화에 앞장섰다.

아직도 노이즈 섞인 삐~비비빅~ 삐~~ 와 같은 14.4k모뎀 접속음이 내 귓가에 아련히 남아 있다.

우분투와의 만남

2000년도 초반만 해도 레드햇과 페도라 계열을 주로 사용했었다. 이는 재직 중인 회사에서 사용하고 있었기에 자연스럽게 받아들였다. 이후 CentOS로 정착하며, 현재도 철 지난 CentOS로 회사 홈페이지 서버가 돌아가고 있다. 지금은 내가 관리하지 않지만..

데비안 계열이나 우분투는 한 번도 사용해보지 않았다.

그렇게 생소한 우분투 22.04 버전을 미니 PC에 설치하며 만에 하나 설치 안되면 어쩌지란 걱정도 들었지만 다행히도 아주 잘 설치가 된다.

래전부터 터미널 환경에 익숙해져 있었고, 작년 하반기 구입한 맥북을 메인으로 사용하다 보니 우분투가 왠지 맥북 같은 느낌이 들기도 했다.

그렇게 필요한 개발환경을 구축하며 우분투와의 만남이 시작되었다.

밖으로 나가보자!

작년부터 손 놓았던 개발에 감을 잡기 위해 Windows, macOS용의 생활 밀착형 프로그램을 만들기 시작했다.

처음엔 단순한 유틸리티부터 어학용 프로그램 등을 만들며 그 감을 다시 잡아간다.

그러던 중 스마트폰이 대중화된 요즘 이를 활용하지 못함에 늘 마음이 불편했다.

맥북을 메인으로 쓰며 십여 년 전 그 불편함은 온데간데 없어졌음이 느낄 수 있었다. 그렇다고 태블릿이나 스마트폰은 애플 제품은 사용하지 않는다. 아이폰이 처음 한국에 선보일 때 3Gs모델이었고 그때부터 아이폰 7까지 써오다 결국 안드로이드로 갈아타고는 지금껏 안드로이드 환경에 머물러 있다. 옴니아로 어떻게든 버티며 분탕질하던 그때의 기억이 새록하다. 국제 미아가 될 뻔했던 터키 출장 때 아이폰 3Gs의 활약은 오래된 추억으로 남아 있다.

2010년 터키 출장, iPhone 3Gs

다만, 자녀들의 핸드폰을 2년에 한 번 꼴로 아이폰으로 바꿔줘야 하는 애플과의 악연(?)은 아직도 남아 있다.

아무튼 들고 다니면서 쉽게 개발한 서비스를 이용하면 좋겠다는 생각이 현실로 다가오며 앱 개발에 미숙 나로서도 안드로이드를 베이스로 이래저래 손을 대 보지만 생소함은 가득했다.

결국 웹을 기반으로 껍데기만 앱으로 치장하는 웹앱 형태의 개발로 방향을 전환하고 만들어 보는데 나름 쓸만했다.

그러면서 본격적으로 미니 PC에 웹서버를 설치하며 다양한 시도를 하게 된다.

동네 맛집

개인이 서버를 운영하면서 가장 신경 써야 하는 건 역시 외부에서 침입이 관건인 것 같다.

특히 웹서비스를 운영하게 되면 취약성을 노리고 달라붙는 따거 형님들 덕에 이만저만 신경 써야 하는 게 아니다.

아주 오래된 이야기지만 한때 내가 회사 서버를 관리할 때가 있었다.

서버 침입 현황을 텔레그램으로 전송

사내 외를 통틀어 8대 정도의 서버들이 있었고, 이중 2대는 IDC센터에 운영하고 있었다. IDC센터에서 운영한다지만 장소와 장비만 이용할 뿐 모든 걸 회사가 알아서 관리해야 하는 저렴한 패키지였기에 주 업무를 하며 틈틈이 관리하기가 상당히 버거워었다. 그러던 중 이상하리 만큼 속도 저하가 느껴졌고 큰 마음먹고 서버 점검을 하게 되었는데 대용량의 영화 파일들이 보였고, 취약성을 이용하여 이런 파일들을 올려 파일서버로 이용하는 걸 찾게 된다.

덕분에 영화도 감상하며 리눅스 보안에 대해 꽤나 심도 있게 파고든 것 같다.

이런 동네 맛집이 되지 않기 위해 신경 써야 하는 것들이 태산 같지만 그때와 지금과 달라진 게 하나 있다.

Chat GPT,

내가 한창 웹서비스를 개발할 때만 하더라도 PHP4버전에 Python은 2.X를 사용했었다. 10년이 훌쩍 넘은 지금은 PHP는 8.1, Python 3.11에 현재는 3.12 버전까지 볼 수 있다.

심지어 Javascript를 이용한 프레임워크들이 보이는데 React, View, Next.js 등 정말 기술 발전의 변화가 크게 몸으로 느껴졌다.

한창 개발할 때만 하더라도 문제 해결을 위해 포럼을 들락거리거나 구글링 하던 때가 엊그제 같은데 저 녀석은 아주 쉽게 알려준다.

아주 쉽게 …

솔직히 언 1년 넘게 Chat GPT와 함께 하며 느낀 건 초급 개발자를 다독거려가며 키워 가는 느낌도 들지만 솔직히 내가 도움을 더 많이 받고 있다.

일단은 뷔페부터

하나의 특색 있는 음식을 선보이는 맛집이면 좋겠지만 오랜 기간 손놓았던 개발 생활의 격차를 좁혀가는 지금으로선 다양한 경험이 필요했다.

macOS나 Windows용 프로그램은 솔직히 Python과 QT로 개발하면 빠른 결과를 볼 수 있었다. 하지만, 이를 웹으로 가져가기 위해선 Django나 Falsk와 같은 프레임워크에 대한 개념이 필요했는데 기존에 PHP, Perl, ASP에 익숙하던 나로선 생소함 그 자체였다. 심지어 근래 관심 가지고 살펴보는 React나 Svelt와 같은 자바스크립 베이스의 프레임워크는 더욱 복잡함이 느껴진다.

아무튼 하나에 특화된 맛집을 차리면 좋겠지만 맛은 없지만 다양한 음식을 맛보기 위해 나의 미니 PC를 뷔페로 꾸미기 시작했다.

올 초부터 Cafe24 호스팅에 WordPress서비스를 이용하여 나를 소개하는 홈페이지로 운영하고 있다.

워드프레스로 만든 나의 홈페이지 (https://www.vokalabs.com)

오래되었지만 그 옛날에는 제로보드를 이용해 개인홈페이지를 꾸미던 게 엊그제 같았는데 지금은 WordPress가 그 자리를 이어받은 느낌마저 들기도 했다.

WordPress관련 유튜브 영상만 보더라도 꽤 많은 영상들이 올라와 있지만 결국엔 강의 팔이나 호스팅 광고 영상들이 주를 이루고 있어 올 초 한 일주일 심도 있게 파고들었다.

WordPress의 단점이라면 좀 쓸만하게 홈페이지를 꾸미고자 한다면 유료 플러그인을 구입해야 하는데 솔직히 돈 아깝다는 생각이 들어 기본적인 것만 활용하고 있다. 왜 그런 건지는 모르겠지만 WordPress용 플러그인을 만들고 싶다는 생각이 전혀 들지 않았다.

내가 양산형 홈페이지 제작자라면 모를까 더욱 심플하고 더욱 단순한 홈페이지를 만들고 싶다는 생각이 어느 순간 들기 시작하면서 지금 홈페이지도 싹 걷어 내고 텍스로만 만들까도 잠시 고민했었다.

아무튼 올 초 WordPress를 경험해 보아서인지 새로 설치한 우분투에 WordPress를 쉽게 설치하며 블로그와 배포를 목적으로 하는 지금의 vtoon.net을 선보이게 되었다. 아직까진 이도저도 아닌 싸구려 뷔페집처럼 보이지만 언젠간 맛집으로 탈 바꿈 할 날이 오리라 믿어 의심치 않는다.

소 잃고 외양간 고치기

본격적인 웹서비스를 하며 중점적으로 신경 쓴 건 서버 보안이었다.

아니나 다를까 SSH 크랙킹부터 블루투 포스 공격까지 감지되기 시작했다. 방치한 내 서버 하나로 사회적 물의를 일으킬 것 같아 세밀하게 방화벽 설정도하고 자동화된 차단 및 알림 프로그램도 만들어 구동 중이다.

100% 완벽할 수는 없겠지만 가끔 날아오는 메시지를 보며 회심의 미소를 짓기도 한다.

그런데, 남도 아닌 내가 문제를 양산해 냈다.

6월 초, 4일간의 긴 연휴를 맞아 그동안 관심 가지고 보았던 개인용 LLM서비스의 포문을 열고자 했다.

그런데..

얼마 전 업무적 용도이지만 개인적으로 사용하고자 만든 웹서비스를 연휴 시작 전날 밤 단 한 줄의 코드로 싹 날려 먹는다.

남은 거라곤 50% 정도 진행됐을 때 백업도 아닌 복사해 둔 오래된 코드들만 남아 있었다.

망연자실 속에 한 이틀간 복구를 시도해보는데 그동안 지웠던 모든 파일들이 다 복구되었는지 엄청난 폴더와 파일들이 생성되었다. 심지어 파일명까지 복구 전용 파일명으로 바뀌어 있어 사막에서 바늘 찾기 느낌마저 들었다.

결국 다 삭제하고 필요할 때 다시 만들자고 눈물을 머금으며 열심히 복구한 어마무시한 양의 데이터를 다 삭제해버렸다.

그리고, 잊고 있었던 서버 백업의 중요성을 다시 한번 되새겨 본다.

그나마 다행이라면 운영하던 WordPress 쪽 데이터는 다행히도 삭제되지 않았다는 게 위안이라면 위안이 되었다.

뷔페식당에서 어느 정도 맛집 준비를 해가던 시점이라 머릿속에는 백업을 해야 되는데라는 막연한 생각만 가끔 떠올리곤 했는데 아주 딱 걸린 거다.

그 옛날에도 그랬지만 스크립트 100줄도 안 되는 코드로 자동화 백업을 할 수 있다. 한순간 일이 터지고 나니 2개월여 공들인 가치는 상당히 크게만 느껴졌다.

기억난다.

그 옛날 백업을 하면서도 ‘이게 과연 복구에 쓰일 수 있을까?’라는 생각들…

막상 일이 터졌을 때 믿을 것이라곤 백업파일 밖에 없었다. 그런 백업 파일에 마지막 희망을 걸며 원상복구 했을 때의 그 안도감과 성취감은 세상을 다 얻은 느낌이 아직도 기억에 선하다.

어쩌면 잊고 있었던 가장 중요한 것을 나 스스로가 되새겨 준 것 아닌가 생각이 밀려온다.

상상도 못 할 기술의 발전 속에 나만의 텃밭에서 고추 심고 상추 심는 느낌 가득하지만 뭐 이런 소소한 즐거움을 쌓으며 나만의 맛집을 만들어 가고 있다.

By voka

답글 남기기