Gmail SMTP Server를 사용하여 발송전용 Postfix 메일 서비스 구축하기

 

들어가는 글

   웹서비스 전용, 또는 데이터베이스 서비스 전용 리눅스 서버를 구축할 때, 시스템의 상황을 자동으로 메일로 전달받고 싶은 상황이 생깁니다. 또는 팩스 서비스만을 설치한 디바이스에서 받은 팩스를 자동으로 메일로 전달받고 싶을때, 또는 보낸 메일의 성공 여부를 자동으로 메일로 받고 싶을 때도 있을 것입니다. 이런 서버나 디바이스 마다 Exim 이나 sendmail을 설치하고 imap서비스를 설치하여 제대로 메일서버를 구축한다는 것이 여간 번거로운 일이 아닙니다. 

   Postfix는 Exim, Sendmail과 같은 MTA (Mail Transfer Agent) 프로그램입니다. Postfix에는 relay 옵션이 있는데요. 이를 통해 외부 SMTP 사용 기능을 제공하여 Gmail 등이 허용하는 smtp 릴레이 기능을 활용해 번잡한 메일 서버 구축 없이 위에 언급한 메일 발송을 가능하게 합니다. 오늘은 데비안 리눅스에서 이를 설치하고 Gmail SMTP가 이를 relay하도록 설정하는 방법을 이야기해 봅니다.

 

Postfix의 설치

   Ubuntu에서는 mailutils 패키지를 설치하면 postfix를 비롯한 대부분의 필요한 파일들이 설치되지만, Debian의 기본 MTA는 Exim입니다. Exim은 매우 강력한 MTA임에는 틀림 없지만, 단지 필요한 메일만 발송할 간단한 서비스를 위해서는 사치스러운 앱입니다. Exim이 설치되지 않도록 mailutils에 앞서 postfix를 별도로 설치해 줄 필요가 있습니다.

1
$ sudo apt-get install postfix libsasl2-modules ca-certificates
cs

   Postfix를 설정하는 과정에서 아래 그림과 같은 대화창이 열리면서 두 가지 정도를 물어봅니다. 설치 중인 기기가 외부와 연결되는 인터넷 사이트라면, 아래 그림대로 설정된 기본 상태에서 Tab키만 눌러 <OK>로 건너가서 엔터로 넘어가 줍니다.

   그 다음 화면에서는 이 기기의 인터넷 풀네임 즉, Fully Qualified Domail Name (FQDN)을 넣어 줍니다. 입력된 주소 example.org는 하나의 예입니다.

   이제 mailutils를 설치해 줍니다.

1
$ sudo apt-get install mailutils 
cs
 

 

Postfix의 설정

   설치가 끝나면 아래와 같이 postfix의 메인 설정 파일을 편집기로 엽니다.

1
$ sudo nano -w /etc/postfix/main.cf 
cs

   Nano 편집기가 열리면 

myhostname =

   이 부분을 찾아 아래와 같이 바꾸어 줍니다.

myhostname = example.org

   위 'example.org'는 하나의 예이며, 실제 여러분의 기기 Domain Name을 적어 줍니다.

   다시, 동일한 설정파일에서 아래와 같은 부분을 찾습니다.

relayhost =

   이를 아래와 같이 gmail smtp 주소를 relay하도록 바꾸어 줍니다.

relayhost = [smtp.gmail.com]:587

   이제 이 설정파일의 맨 아래 부분에 커서를 이동시키고 아래의 내용을 복사하여 붙여 넣습니다.

### add Gmail SMTP configuration

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

   설정파일의 편집을 모두 마쳤으므로 Control+X키를 누른 후 y로 저장해 준 후 nano 편집기를 빠져 나옵니다.

 

Gmail 로그인 인증을 위한 Credential 파일 등록

   아래외 같이 새 파일을 편집기로 열어 줍니다.

1
$ sudo nano -w /etc/postfix/sasl_passwd 
cs

   새 파일이 열리면 아래 내용과 같이 작성해 줍니다.

[smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD

   USERNAME@gmail.com 부분에는 여러분이 relay에 사용할 실제 gmail 계정을 입력하고 PASSWORD부분에도 해당 계정의 실제 비밀번호를 입력합니다. 이때 비밀번호에 #, $과 같은 특수문자가 있어도 그냥 입력해 주면됩니다.

   이제 Control+X 를 누른 뒤 y키로 저장 후 종료해 준 뒤 아래와 같이 postmap 명령을 이용해 해시 db 파일을 생성해 줍니다.

1
$ sudo postmap /etc/postfix/sasl_passwd 
cs

   그리고 로그인 계정과 비밀번호가 저장된 파일은 보안을 위해 아래와 같이 권한설정을 바꾸어 줍니다.

1
$ sudo chmod 600 /etc/postfix/sasl_passwd 
cs

 

Postfix 서비스 재시작 및 테스트 메일 발송

   이제 모든 설치 및 설정이 끝났습니다.  재부팅 없이 새 설정이 반영되도록 아래와 같이 postfix 서비스를 재시작 해 줍니다.[각주:1]

1
$ sudo systemctl restart postfix.service 
cs

   특별히 에러 메시지 없이 재시작되면, 아래외 같이 테스트메일을 보내 봅시다.

1
$ sudo echo "body of your email" | sudo mail -s "This is a Subject" -a "From: you@example.org" your-real@email.org 
cs

   이때  맨 끝의 your-real@email.org 는 반드시 테스트용 메일을 받아 볼 실제 이메일 계정이어야 합니다. 위에서 릴레이용으로 지정한 Gmail계정도 좋습니다.

   우리가 발송한 이메일이 잘 도착했다면, 성공적으로 설정을 마친 것입니다.

 

나오는 글

   이상과 같이 데비안 리눅스에서 Exim이 아닌 postfix를 MTA로 설치하고 외부 서비스인 Gmail의 SMTP 서비스를 이용하여 간단하게 시스템 메일을 받아 볼 수 있도록 발신전용 서비스를 구축해 보았습니다. 데비안 계열 운영체제가 많이 이식된 arm 프로세서를 사용하는 라즈베리파이 등 여러 개발 보드에서도 활용하기에 괜찮은 팁이라고 생각됩니다. [끝.]

 

 

P.S. 이 글은 Santiago Ti님의 「Configure Postfix to Send Mail Using an External SMTP Server」를 참조하여 작성하였습니다. 원 글은 Debian 7버전에 대한 가이드 문서지만, Debian 8 (Jessie)에서 실전 적용을 하며 검증하였으므로 문제 없이 작동할 것입니다.

  1. 만약 Debian Jessie 이전 버전을 사용하고 있다면 sudo service postfix restart 의 명령어로 재시작하여야 합니다. [본문으로]
Posted by truerain
l

[음악과 명상(冥想)사이]

제 1편 : 인생의 긴 여정을 노래로 되돌아 보다.

(프랭크 시나트라의 「My Way」와

미소라 히바리의 「川の流れのように」)

   사람은 누구나 인생의 종착역에 다다르면 자신의 일생을 되돌아 보고, 기쁨과 슬픔, 사랑과 미움, 좋든 싫든 의미를 가졌던 사람들을 떠올리며 자신의 삶이 한 편의 영화처럼 머릿 속을 지나가는 듯 느낄 것 같습니다. 이렇게 불확실하게 '할 것 같다'는 식으로 이야기하는 것은 제가 아직 그러한 경험을 해 보지 못하였기 때문입니다. 하지만, 우리는 일대기를 다룬 서사적 소설이나, 일생을 다룬 영화 등 예술 작품속에서 인생의 여정을 마치는 순간이 다가오고 있음을 느끼는 주인공들의 삶에 감정이입되는, 그런 방식의 간접적인 경험을 누구나 한 번쯤은 해 보지 않았을까 합니다.

   여기 그러한 인생의 황혼기에 자신의 삶을 돌아보며 가슴 벅차지만 잔잔하게, 스스로의 인생을 한 곡의 노래로 정리해 표현해 낸 것같은 동·서양의 두 명곡이 있습니다. 하나는 미국 스탠다드 팝 & 재즈 계열의 거봉, 프랭크 시나트라(Frank Sinatra)의 명곡 「My Way」, 그리고 나머지 하나는 일본 쇼와시대를 대표하는 가수 미소라 히바리(美空 ひばり)의 명곡 「川の流れのように(카와노나가레노요-니 : 흐르는 강물처럼)」입니다.

   프랑스 원곡[각주:1]에 유명한 팝가수이기도 한 폴 앵카(Paul Anka)가 작사한 가사를 붙여 프랭크 시나트라가 1968년 말에 녹음하고 1969년 초에 발표한 「My Way」는 폴 앵카가 작사했지만 마치 프랭크 시나트라가 자신이 걸어온 길을 덤덤하게 노래하고 있는 듯한 느낌을 받습니다. 오랜 세월 미국인들과 세계인들의 사랑을 받으며 음악생활을 해 온 한 거장의 퇴장을 암시하는 이 곡은 바로 그런 상황의 시나트라가 불렀기에 더 많은 감동을 우리에게 선사하는 것이 아닐까 생각합니다.

   그런 점에 있어서 미소라 히바리도 마찬가지라고 할 수 있습니다. 엔카 가수로 알려져 있지만, 스탠다드 팝 & 재즈 계열의 노래도 즐겨 부르던 미소라 히바리는 공연때에 이 「My Way」를 즐겨 불렀다고 합니다. 그녀도 이런 노래를 갖고 싶었을까요? 굴곡진 삶의 여정으로 보자면, 프랭크 시나트라에 비해 몇 곱절 이상이었을 미소라 히바리... 시나트라의 「My Way」가 탄생한 지 꼬박 20년 만인 1988년 말, 아키모토 야스시(秋元 康)가 작사한 「川の流れのように」를 취입하게 됩니다. 이 역시 인생을 구비구비 흐르는 강물에 비유하여 노래한 스탠다드 팝 계열의 명곡으로 미소라 히바리 사후 1990년대에 일본인이 사랑하는 명곡 1위에 오르기도 했다고 합니다.

   우리 나라에도 한국의 미소라 히바리라고 불리우는 이미자 선생이 작곡가 박춘석 선생의 곡을 받아 「노래는 나의 인생」이라는 곡을 1990년대 초에 발표한 바 있습니다. 하지만, 앞서 소개한 두 노래에 비해 그 임팩트는 많이 떨어진 것이 사실이지요. 패티김 선생도 이미 은퇴했고... 저는 이제 음악 인생의 황혼을 건 명곡을 발표할 수 있는 기회를 가진 국내 가수는 조용필만 남았다고 생각합니다.  물론 여전히 정열적인 음악 활동을 하고 계시니 먼 미래 이야기지요.

    아무튼, 아홉살 꼬마때 부터 반세기 동안의 히트곡을 집대성한 50여 곡의 베스트 음반을 모두 들은 후, 마지막 곡 「川の流れのように」를 들으며 그녀의 인생사[각주:2]를 다시 생각하며, 이유를 알 수 없는 눈물이 났던 미소라 히바리처럼, 조용필도 그 언젠가에는 그런 명곡을 남겨주기를... 그래서 언젠가는 그의 평생 동안의 베스트 음반을 들으며, 그의 인생사를 떠올리며 「My Way」,「川の流れのように」같은 감동의 눈물을 흘릴 수 있기를 기원해 봅니다.

 

My Way

 

And now, the end is near.
이제 끝이 다가오는군
And so I face the final curtain.
그리고 마지막 커튼도 내 앞에 있어
My friend, I'll say it clear.
내 친구여, 확실히 말해두지
I'll state my case of which I'm certain.
나는 나만이 알고 있는 나의 얘기를 할거야
I've lived a life that's full.
나는 바쁘게 살아왔지
I've traveled each and every highway,
모든 고속도로를 다 달리면서
And more, much more than this,
그리고 더 중요한건
I did it my way.
난 내 방식으로 이걸 해왔다는 거야.

Regrets, I've had a few;
후회, 하기야 했었어
But then again, too few to mention.
하지만, 말할거리가 있을 만큼 후회한 건 없어
I did what I had to do
나는 할일만을 했고
And saw it through without exemption.
그리고 있는 그대로만을 지켜봐왔어
I planned each charted course.
나는 정석만을 따랐고
Each careful step along the byway,
한걸음 한걸음 조심해서 걸어왔고
And more, much more than this,
그리고 그리고 그것보다 더 중요한건
I did it my way.
난 그걸 내 방식대로 해왔다는 거야

Yes, there were times, I'm sure you knew
그리고 그런 때도 있었지. 아마 너도 알겠지.
When I bit off more than I could chew.
그렇다고 걱정할 만큼 많은 것도 아니야
But through it all, when there was doubt,
하지만 그동안 남은 후회들은
I ate it up and spit it out.
다 씹어버리고 뱉어내었어
I faced it all and I stood tall
그 모든 걸 대면하고 그 앞에 꿋꿋히 섰어
And did it my way!
그리고 그 모든걸 내 방식으로 해왔지

I've loved, I've laughed and cried.
사랑했고, 웃었고, 울었지
I've had my fill my share of losing.
고생도 했고, 쉬엄쉬엄한 적도 있었지
And now, as tears subside,
이제 눈물이 말라가면서
I find it all so amusing.
난 그 모든게 재밌어 보이는 거야
To think I did all that;
그 모든 것을 내가 다 거쳐왔다는 것이
And may I say, not in a shy way,
그리고, 이렇게 말해도 될까,
"Oh no, oh no, not me,
난 안 그랬다고.. 난 당당하게
I did it my way"
내 방식대로 해왔어

For what is a man, what has he got?
남자로서, 그가 가진 것으로서
If not himself, then he has naught.
그 자신이 아니라면,
To say the things he truly feels
그는 그가 진짜 느낀 것들을 말해서는 안 되지
And not the words of one who kneels.
무릎꿇는 자의 목소리로 들려서는 안 돼.
The record shows I took the blows,
세상이 내가 당당하게 살아왔다는 것을 알고 있어
And did it my way!
그리고 내 방식으로 해왔다는 것을.
Yes, it was my way...

소스 : gasazip님 블로그

 

川の流れのように
흐르는 강물처럼


知らず知らず 歩いてきた 細く長い この道
그저 모르는채 걸어왔네, 좁고도 긴 이 길을
振り返れば 遥か遠く故郷が見える
뒤돌아보니 저 멀리 고향이 보이네
でこぼこ道や 曲がりくねった道
울퉁불퉁한 길이나 구불구불 굽어진 길
地図さえない それもまた人生
지도 조차도 없는 그것 또한 인생이지
ああ 川の流れのように ゆるやかに
아, 흐르는 강물처럼 느긋하게
いくつも 時代は過ぎて
몇 세대의 시대가 흘러
ああ 川の流れのように とめどなく
아, 흐르는 강물처럼 하염없이
空が黄昏に 染まるだけ
하늘은 황혼에 물들어 갈 뿐이지

生きることは 旅すること 終わりのない この道
산다는 것은 길을 떠나는 것, 끝이 없는 이 길을
愛する人 そばに連れて 夢 探しながら
사랑하는 사람을 곁에 데리고 꿈을 찾아가면서
雨に降られて ぬかるんだ道でも
비에 맞아 질퍽거리는 길이라도
いつかは また 晴れる日が来るから
언젠가는 다시 맑은 날이 올테니까
ああ 川の流れのように おだやかに
아, 흐르는 강물처럼 잔잔하게
この身を まかせていたい
이 몸을 맡기고 싶어
ああ 川の流れのように 移り行く
아, 흐르는 강물처럼 변해가는
季節 雪どけを待ちながら
계절 눈이 녹는 것을 기다리면서

ああ 川の流れのように おだやかに
아, 흐르는 강물처럼 잔잔하게
この身を まかせていたい
이 몸을 맡기고 싶어
ああ 川の流れのように いつまでも
아, 흐르는 강물처럼 언제까지라도
青いせせらぎを 聞きながら
푸르게 흘러가는 소리를 들으면서

 

소스 : amongthespirits님 블로그

  1. 원곡은 1967년 프랑스의 팝인, Claude François의「Comme d'habitude」 (평소처럼)이라는 곡이라고 합니다. [본문으로]
  2. 미소라 히바리의 부친이 김해 출신의 재일한국인이라는 설이 있습니다. 유력한 지인의 증언에도 불구하고, 미소라 히바리 본인은 이를 공개적으로 시인한 적이 없습니다. 아무튼 가수의 재능을 보이던 어린 시절, 부모의 이혼을 겪어야 했고, 본인도 짧은 결혼생활 후 오랜 독신의 외로움을 겪었으며, 1980년대에는 절친한 친구, 남동생, 어머니와 사별하는 아픔을 겪습니다. [본문으로]
Posted by truerain
l

    저는 이른 바 파워블로거들이 시제품을 띡 받아서 대충 외관 위주로 보고 성의 없이 쓰는 리뷰를 아주 싫어 합니다. 제가 그런 리뷰를 보고 물건을 구매하여 느낀 단점들... '정말 몇 번 사용해 봤다면, 느끼지 못할 수가 없어 보이는 단점들을 그 리뷰들은 왜 지적하지 못한 걸까'하는 생각에 그 광고홍보성 블로그 리뷰들을 원망하기도 합니다.

    저는 파워 블로거도 아니려니와 그런 식의 리뷰들을 돈 받고 쓸 생각도 전혀 없습니다. 물론, 저같은 영향력이 제로에 가까운 블로거(가 아닌 블로거가 되려고 발버둥치는 문외한)에게 그런 의뢰를 할 광고주도 없다는 걸 잘 압니다. 다만, 저는 제가 필요해서 충동구매로 사게 되어 제게로 온 IT 장비들에 대한 철저한 사용자 입장에서의 리뷰들을 써 나가려고 합니다.

    당연히 제가 사는 물건들에 대한 리뷰이므로, 대중적으로 인기가 좋다거나, 이슈가 되는 IT기기가 아닌 정말로 거의 사는 사람이 저밖에 없는 물건도 포함될 수 있을 것입니다. 그래도 거기엔 실사용자인 제 구매 목적과의 일치 여부에 따라 장단점에 대한 가감없는 설명을 포함할 것입니다. 혹시 실사용을 위해 제 글을 보시게 될 분들에게 실질적인 도움이 된다면 더 바랄 나위 없이 좋겠습니다.

[직접 사서 쓰는 IT기기 리뷰]

제2편 Cenovo mini PC 2 운영체제 설치기

    지난 10월 3일, 저는 큰 맘먹고 USD115.07짜리 중국산 미니컴퓨터를 aliexpress.com을 통해 구입하였습니다. 지난 번에 Cenovo mini PC 2를 Aliexpress에서 구매하여 20여 일만에 도착한 것과 개봉기, 그리고 초기 불량에 대한 이야기를 했었지요.

'[직접 사서 쓰는 IT기기 리뷰] 제1편 Cenovo mini PC 2 개봉기 및 초기 사용기' 보러 가기

    지난 번에 이야기한 대로 (1) 운영체제가 불법 카피본이다. (2) UEFI 펌웨어모드 진입 시 화면이 끊임 없이 불규칙하게 깜박거린다. 이 두가지 사항으로 Aliexpress에 80불 부분환불을 요구하는 dispute를 걸었습니다. 셀러가 dispute를 풀어 달라고 몇 번을 재촉했지만, Aliexpress에서 중재를 들어올 때까지 버텼지요. 결국 Aliexpress의 중재로 69.04불을 환불받게 되었습니다.[각주:1] 115.07불에 사서 69.04불을 환불받아 46.03불을 지불하고 64Gb eMMC, 4Gb RAM을 갖춘 체리트레일 쿼드코어 미니PC를 각종 파이 가격에 얻은 셈이지요. 가격 대비 괜찮은 딜이었을까요? 결론은 OS 설치, 드라이버 확보, 내구성... 이 세가지에 달려 있겠지요.

Aliexpress에서 Seller와 Buyer가 직접 교섭에 실패한 후 Ali Dispute 팀에서 개입하여 중재안을 내 놓은 상황의 화면입니다. Seller는 이미 중재안을 받아 들였네요.

    물론, 다른 정품 OS를 설치하여 모든 드라이버들이 정상적으로 동작한다는 보장은 없었습니다. 또 인텔 그래픽스 드라이버가 설치되지 않은 상태에서는 지속적으로 깜박이는 현상이 있기 때문에 '(전액 환불을 안 한) 내가 잘 한건가?'하는 의구심이 들기도 했지요.[각주:2] 그래서 얼른 운영체제를 설치해 보기로 했습니다.

    이 기기가 갖는 데스크톱으로서의 중요한 단점은 Video Output Interface가 HDMI 단 하나라는 것입니다. 즉, USB 그래픽카드를 쓰지 않으면, 듀얼 모니터를 쓸 수 없다는 이야기지요. 물론 TV Box를 표방한 제품이라 듀얼모니터에 대한 고려는 없었겠지만... 하지만 최대 장점은 저전력 무소음 시스템이라는 겁니다. 이 장단점을 활용할 수 있는 쓰임새는 가정용 서버라는 판단이 들었습니다. 마침 Windows Server 2016이 얼마 전에 출시된 상태였고, 정품도 가지고 있어서 이 녀석을 설치해 보기로 하였습니다. 해외 커뮤니티에 의하면 여기에 Debian을 깔아 본 사람이 일부 드라이버가 없다는 포스팅을 했던 것이 기억이 나서 리눅스 계열은 배제했고, 당초에 깔려 있던 윈도우 10용 드라이버를 백업받았다가 Server 2016을 설치한 후 드라이버 복원을 시도하면 성공할 확률이 높다 싶었지요.

    기존에 깔려 있던 불법복제 Windows 10에서 드라이버들을 추출한 과정은 아래와 같습니다. 별도의 앱을 깔지 않고도 Powershell을 이용한 방법 등이 있는데, 저는 그냥 cmd에서 할 수 있는 간단한 명령어를 사용했습니다.

    시작-(프로그램)-윈도우즈 시스템에 있는 '명령 프롬프트'에 대고 오른쪽 클릭을 한 후 (자세히 아래의) '관리자 권한으로 실행'을 클릭합니다. '명령 프롬프트'가 열리면 아래의 명령을 입력해 줍니다.

1
C:\WINDOWS\system32> dism /online /export-driver /destination:d:drivers
cs

    /destination:d:\drivers는 제 경우에 t-flash 슬롯이 있어서 여기에 삽입한 t-flash카드가 d:로 잡혀서 가능했습니다. 경우에 따라 d:가 불가능할 수 있습니다. 그리고, 나중에 안 사실이지만, Windows Server 2016을 설치하면 이 cenovo mini PC 2의 t-flash 슬롯 드라이버를 기본적으로 잡아내지 못하더군요. 그래서 부랴부랴 USB 젠더에 넣고 드라이버들을 설치하였습니다. (SD카드 드라이버 설치 후에는 잘 작동하고 있습니다.)

    Windows Server 2016운영체제는 ISO 이미지 형태로 가지고 있고 미니 PC 2에는 ODD가 없으니 USB메모리에 운영체제 파일들을 옮겨서 부팅하여 설치하는 방법을 써야 했습니다. 게다가 구형 Bios 방식 부팅은 불가능하고 오로지 UEFI 방식의 부팅만 가능한 것으로 보였습니다. 갈수록 태산이라는....

    USB에 UEFI 방식으로 부팅 가능한 설치 이미지를 옮기는 방법에서 중요한 것은 USB 메모리를 MBR방식이 아닌 GPT 방식의 디스크로 설정하고, 파일시스템은 NTFS 방식이 아닌 FAT32 방식으로 포멧해야 한다는 것이죠. 여기서 파생하는 문제는 FAT32 파일시스템이 4Gb를 넘는 단일파일을 읽지 못해서, 4Gb를 넘는 install.wim이라는 설치이미지 속의 대형파일이 USB메모리로 옮겨지지 않는다는 것이었습니다. 갈수록 태산을 넘어 에베레스트로...

    '외장 ODD를 걍 질러버려...' 하는 지름신의 외침을 억누르며 8Gb 이상의 USB 메모리를 꽃고 관리자 모드 명령프롬프트를 열어서 아래와 같이 실행해 줍니다.

1
C:\WINDOWS\system32> diskpart 
cs

    이제 프롬프트가 도스 쉘 프롬프트에서 diskpart 프롬프트로 바뀝니다.

    아래의 명령을 입력해 줍니다.

1
DISKPART> list disk 
cs

    그러면 설치된 디스크의 목록이 출력되는데요. 일반적으로 설치된 하드디스크나 SSD가 하나면 DISK 0, 둘이면 DISK 0과 DISK 1로 표시됩니다. ODD가 있고 슬롯이 비어 있으면 디스크 Size가 0으로 표시될 것입니다. 우리가 삽입한 USB 메모리는 하드디스크나 SSD의 갯수에 따라 다르지만 보통 DISK 1이나 2, 혹은 3으로 표시될 텐데요. 표시되는 Size를 확인하고 USB가 몇번째 디스크인지를 확인해야 합니다. 보통 16Gb 짜리는 Size가 15 GB로, 32Gb 짜리는 29 GB로 표시됩니다.

1
DISKPART> select disk 3 
cs

    제 경우는 DISK 3이 USB 메모리여서 위와 같이 선택해 주었습니다.

    주의 아래 명령은 선택된 디스크를 초기화(로우포맷)해 주는 과정입니다. 따라서, 본인이 선택한 디스크가 운영체제 설치 이미지를 심으려고 하는 그 USB 디스크임을 확신할 수 있을 때에만 실행하여야 합니다. 이 명령으로 선택된 해당 디스크의 모든 데이터가 삭제되기 때문입니다.

1
DISKPART> clean 
cs

    이제 아래 명령으로 디스크 유형을 GPT로 바꿔 줍니다.

 

1
DISKPART> convert gpt 
cs

    이 디스크에 아래와 같이 파티션을 만들어 줍니다. 운영체제 설치용으로 만드는 것이므로 프라이머리 파티션 하나면 됩니다. 16Gb 짜리까지는 아래 명령으로 족하고, 16Gb를 초과하는 USB로 작업하고 있다면, 아래 명령 끝에 'size=16000' 옵션을 추가해서 실행시켜 줍니다.

1
DISKPART> create partition primary 
cs

    생성된 파티션을 아래와 같이 FAT32 파일시스템으로 빠른 (하이)포맷해 줍니다.

1
DISKPART> format fs=fat32 quick 
cs

    Windows 탐색기를 열어서 우리가 작업하는 USB 메모리에 드라이브문자 (예를 들면 G:)가 할당이 되어 있지 않다면 아래 명령을 추가로 해 줍니다.

 

1
DISKPART> assing letter=g 
cs

    물론 G:는 기존에 있지 않은 비어 있는 드라이브 문자여야 합니다. (이하 우리가 작업하고 있는 USB메모리의 드라이브 문자는 G:로 간주합니다.) 이제 exit를 입력하여 diskpart에서 빠져 나옵니다.

    이제 Windows Server 2016 ISO 파일을 마운트하여 xcopy 명령으로 USB에 심는 과정이 남았습니다. 다만, 전술한 바와 같이 install.wim 파일의 크기를 확인해서 이것이 4Gb를 넘는다면 추가 작업을 해 주어야 합니다.

    명령프롬프트 관리자모드는 닫지 마시고, Windows 탐색기를 열어 OS 이미지가 들어 있는 ISO 파일을 더블클릭하여 마운트 해 줍니다. (이때 이 이미지에 할당된 드라이브 문자를 H:라고 합시다.)

1
C:\WINDOWS\system32> xcopy h:\*.* g:\ /E /H /F 
cs

    이 명령이 오류 없이 실행을 종료하면, 이미지 안에 4Gb를 넘는 파일이 없다는 것입니다. 해피한 상황이죠. 불행히도 오류메세지가 뜨며 멈춘다면, H:\Resources폴더 안에 있는 install.wim 파일의 속성 창을 열어 크기를 확인합니다. Windows Server 2016 Standard 의 경우 4.6Gb 가량 되는군요. 눈물을 머금고 명령 프롬프트 관리자모드에서 아래 명령을 실행해 줍니다.

1
C:\WINDOWS\system32> dism /Split-Image /ImageFile:h:\sources\install.wim /SWMFile:g:\sources\install.swm /FileSize:4096 
cs

    4.6Gb의 큰 파일을 읽어들인 후 쪼개어 나누어 이미지를 만들고 저장하는 과정이므로 꽤 시간이 걸립니다. 인내심을 가지고 기다릴 필요가 있습니다. 위 명령이 성공적으로 종료되면 다시 위의 xcopy 명령을 재실행 해 주되 install.wim 파일을 제외하고 xcopy를 해 주어야 합니다. 여러 가지 방법이 있겠지만, 저는 제외파일목록 리스트법을 씁니다. 우선 시스템 디스크의 루트디렉토리(C:\)에 exludelist.txt라는 텍스트파일을 만들고 그 안의 내용은 xcopy에서 제외할 파일의 목록을 한 줄에 한 파일씩 기재하고 저장합니다. (와일드카드 문자인 *,?도 사용가능합니다.) 우리의 경우는 install.wim 하나면 되겠지요. 그리고 xcopy 명령을 아래와 같이 해 줍니다.

1
C:\WINDOWS\system32> xcopy h:\*.* g:\ /E /H /F /EXCLUDE:c:\excludelist.txt 
cs

    여기까지 잘 완료되면, 운영체제 설치를 위한 USB 디스크의 준비는 마쳤습니다. 이제 다른 PC에서 작업했다면 USB메모리를 '꺼내기'를 해 준 후, Cenovo mini PC 2에 꽂고 USB드라이브 부팅을 시도해야 하는데, 제 경우는 몇 번 시도해서 모두 실패했습니다. 화면에 아무런 표시 없이 바로 윈도우즈 부팅으로 넘어가다 보니, 무슨 키가 부팅 옵션을 선택할 수 있게 해 주는 것인지도 모르겠고, UEFI Firmware 모드에 진입해도 Boot Override 옵션이나, 부팅순서 변경에 대한 메뉴를 못찾겠더군요. 이 키 저키 다 누르다가 포기하고 Windows 10 복구 메뉴를 통한 UEFI USB메모리/ODD 부팅 메뉴를 통해 USB 설치환경으로 부팅이 가능했습니다. 불법복제라도 깔려 있어서 다행이었던 게지요.

    이제부터는 쉴새없이 불규칙적으로 깜박이는 화면과의 싸움이었습니다. 게다가 켜져있는 시간보다 꺼져있는 시간이 약 2~3배 정도 많은 상황이라 나중엔 눈까지 아프더군요. 이 괴로움은 운영체제 설치를 마치고 장치관리자에서 드라이버들을 설치하면서 인텔 그래픽 드라이버가 깔릴때까지 계속되었습니다.

    운영체제를 새로 설치한 후 드라이버들을 복원할 때, 원래는 새로 설치한 Windows OS에서 역시 관리자모드로 명령프롬프트를 열고, 아래 명령처럼 해 주면 드라이버들이 모두 복구가 되어야 합니다. 

1
C:\WINDOWS\system32> dism /online /Add-Driver /Driver:d:\drivers /Recurse 
cs

    그러나 저의 경우는 '오프라인 이미지에서만 사용할 수 있는 명령입니다.'라는 메세지가 나오면서 복구가 진행이 되지 않았습니다.

    그렇다면 GUI환경에서 하나하나 수동으로 설치해 주는 '삽질'을 쓸 수 밖에 없습니다. 새로 설치한 OS에 관리자로 로그인한 후, '파일 탐색기'를 실행하고 왼쪽 프레임의 '내 PC'에 대고 오른쪽 클릭해 주면 나오는 메뉴에서 '속성'을 클릭합니다. 그러면 시스템 정보가 나오는 새 창이 뜨는데 여기 왼쪽 프레임에 '장치 관리자'를 실행해 줍니다. 여기 보이는 '알 수 없는 장치'를 오른쪽 클릭하고 메뉴에서 '드라이버 소프트웨어 업데이트'를 클릭합니다. 이때 새로 열리는 창에서 '컴퓨터에서 드라이버 소프트웨어 찾아보기' 단추를 누르면 또 새로운 창이 뜨는데, '다음 위치에서 드라이버 검색' 아래 상자에 우리가 백업받았던 "D:\drivers"를 입력하고 그 아래의 '하위폴더 포함'란에 체크표시 해 준 후 다음을 눌러 주면 윈도우즈가 해당 드라이버를 하위 폴더에서 찾아 설치하게 됩니다.

    단, Cenovo mini PC 2의 경우 SD카드, USB 드라이버의 문제 때문인지 설치가 진행이 안되어, 드라이버 파일들을 'C:\drivers'폴더로 복사한 후 복원해 주었더니 문제 없이 대부분 설치가 되었습니다. 또, Windows가 설치되면서 기본적으로 설치된 드라이버도 백업된 폴더에서 업데이트 해 주는 것이 좋습니다. 그래픽 드라이버를 기본으로 깔린 마이크로소프트의 것이 있었음에도 이렇게 인텔의 것으로 업데이트 해 주고 나서야 깜박임이 사라졌습니다. 제 경우는 현재 Broadcomm 관련 무선 인터넷과 관련된 장치가 설정이 잘못되어 있고, '알 수 없는 장치' 2개가 남아 있습니다만, 기본적인 동작에는 문제가 없어 보입니다. LAN도 RJ45로 유선 연결해서 서버로 쓸 예정이니, 특별히 문제될 건 없구요.

    다행히도 얼추 기본적인 운영체제의 설치 및 드라이버 설치는 마쳤습니다. 우리 돈으로 약 5만5천 원 가량 들어간 이번 구매는 그럭 저럭 성공이라고 볼 수 있겠네요. 오랜 시간 사용해도 튼튼히 잘 버텨 주기만을 바랄 뿐입니다. 이제는 원격데스크톱 연결 켜 놓고, 모니터연결은 빼고 Fax모뎀과 복합기를 USB에 물려 놓고 라즈베리파이 옆에 짱박아 놨습니다. 필요할 때 원격 접속하여 작업할 수 있도록 해 놓은 거죠. 앞으로 팩스서버 설정, 인쇄서버 설정 등을 진행해 봐야 겠네요.

  1. 실은, 50% 부분환불을 목표로 이보다 월씬 큰 금액인 80불 환불을 요청한 것입니다. 그러면서 seller와의 메세지를 통해 압박을 하니 거의 70불에 가까운 금액을 환급받게 된 것이죠. [본문으로]
  2. 그러나, Aliexpress dispute팀의 중재 결과, 전액환불을 받기 위해서는 제 부담으로 반품 국제택배를 보내고 환불받아야 했습니다. 저는 잘못한 게 없는데... 황당한 정책이더군요. [본문으로]
Posted by truerain
l