반응형



01. 개요



컴퓨터에서 사용하는 운영체제의 종류는 많다. 대부분의 컴퓨터를 사용하는 사용자들은 Microsoft Windows 계열의 운영체제를 사용한다. 


 



Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터를 보면 Windows 계열의 운영체제가 81.09% 의 점유율을 차지하고 있다.


[그림1] Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터[그림1] Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터


아무리 Apple 사의 시스템이 강세를 보이고 있다하더라도, MS-DOS 시절부터 오랫동안 자리를 차지하고 있던 MS의 OS(Operating System) 점유율은 쉽게 깨질 줄을 모르고 있다.


[그림2] Statista(https://www.statista.com/statistics/915085/global-server-share-by-os/) Share of the global server market by operating system in the first half of 2018[그림2] Statista(https://www.statista.com/statistics/915085/global-server-share-by-os/) Share of the global server market by operating system in the first half of 2018


[그림2]는 2018년 반기 동안의 Server 운영체제 점유율을 나타내는 그래프이다. [그림1] 과 [그림2]의 조사기관이 다르긴하지만, 참고자료정도의 의미로 생각하면 된다. [그림2]의 데이터와 같이 서버 운영체제의 점유율 역시 MS Windows 가 71.9% 로 압도적으로 높다.

하지만, 데스크톱 운영체제 점유율[그림1] 대비 서버운영체제 점유율[그리2]을 살펴보면, 윈도우 다음으로 Linux OS(1.58% -> 12.9%) 가 서버 운영체제로 많이 사용됨을 확인할 수 있다.




Linux 운영체제는 무료로 제공되는 운영체제로 수많은 배포판이 존재하고, 대표적으로 레드햇 계열과 데비안 계열로 구분된다.(물론 Unix 의 무료버전인 BSD 나 기타 등등의 배포판들이 많이 존재하지만, 많이 사용하는 계열은 레드햇과 데비안 계열이다.)

서버 운영체제로 Linux 를 선택하게되었을 때의 가장 큰 장점은 운영체제 유지보수 비용이 발생하지 않는다는 것이다. 다만, 유지보수를 직접해야하며, 각종 보안관련 문제로의 위험을 감수해야한다. 그래서 대형 서버를 운용하는 곳에서는 지속적인 유지보수를 받을 수 있는 Windows 계열의 운영체제를 사용하게 되고, 소규모 서버를 운용하는 곳에서는 리눅스 계열을 사용하게 된다.

리눅스를 사용했을 때의 가장 큰 장점은 터미널로 빠르게 서버를 관리할 수 있다는 것이다. 물론, Windows 계열도 파워쉘같은 콘솔을 제공하고 있지만, 리눅스의 터미널만큼 강력하지는 않다.

리눅스를 설치하고, 원격으로 리눅스가 설치된 컴퓨터에 접속하기 위해서는 ssh(Secure SHell) 라는 Server 데몬이 설치되어 있어야 한다. 이번 포스팅에서는 데비안 배포판 계열 중 하나인 Linux Mint 에 SSH 설치하는 방법을 공유하려고 한다.



02. Openssh-server 설치



본래, SSH(Secure Shell)은 Unix 에서 사용하기 위해 Tatu Ylönen 가 개발했던 상용 소프트웨어이다. 이러한 상용 소프트웨어를 BSD 에서 사용하기 위해 1999년에 OpenBSD팀에 의해 개발된 SSH가 Openssh 이다. 따라서, Linux 운영체제에서 SSH를 사용하기 위해서는 Openssh 를 설치해야 한다.


[그림3] openssh-server 설치 #1[그림3] openssh-server 설치 #1


터미널을 열고, apt-get install 을 이용하여 openssh-server 패키지를 설치한다.


sudo apt-get install openssh-server




[그림4] openssh-server 설치 #2[그림4] openssh-server 설치 #2


[그림4] 는 openssh-server 가 설치되고 있는 화면이다. Linux Mint 를 정상적으로 설치하였다면, openssh-server 패키지는 별 어려움 없이 설치될 것이다.


[그림5] openssh-server 설정 #1[그림5] openssh-server 설정 #1


openssh-server 를 설치한 후에 /etc/ssh/sshd_config 파일에서 ssh의 각종 설정을 할 수 있다. 기본으로 사용해도 되지만, 필자인 경우 보안상 이유로 포트를 수정하여 사용하고 있다. ssh의 기본 포트는 22번인데, 22번 포트가 SSH로 잘 알려진 포트이다 보니, 각종 공격으로부터 자유롭지가 않다. 따라서, 22번 포트를 다른 포트로 수정하여 사용하는 것을 권장한다.


[그림6] openssh-server 설정 #2[그림6] openssh-server 설정 #2


[그림6]은 /etc/ssh/sshd_config 파일의 내용이다. 설정 내용 중 가장 처음에 보이는 내용이 Port 설정 부분이다. 라인의 맨 첫 부분에 # 이 붙어있으면 주석처리 된 것이다. 별도의 포트를 설정하지 않으면 22번을 기본으로 사용하겠다는 의미이다. 따라서, #Port 22 로 되어 있는 부분에서 #을 삭제하고 Port 122 이런식으로 수정을 한다. 그럼 ssh는 122번 포트로 작동을 할 것이다.


[그림7] ssh 서비스 재시작[그림7] ssh 서비스 재시작




/etc/ssh/sshd_config 를 수정하였다면, Linux System 을 재부팅 하거나, ssh 서비스를 재시작 해야 한다. ssh 서비스를 재시작 하는 방법은 [그림7]과 같다.


sudo /etc/init.d/ssh restart



03. SSH 접속(Tera Term 이용)



윈도우에서 리눅스의 SSH로 접속하는 방법은 여러가지가 있지만, 대표적인 것이 Terminal Emulator 를 사용하는 것이다. 주로 많이 사용하는 무료 Terminal EmulatorPuttyTeraterm 이 있다. 필자는 Putty 보다는 Teraterm 을 좋아하기 때문에 본 포스팅에서는 Teraterm 을 설치하고, ssh 접속하는 방법을 공유한다.


[그림8] Teraterm 홈페이지[그림8] Teraterm 홈페이지


[그림8]은 Teraterm Homepage(http://ttssh2.osdn.jp) 이다. Teraterm 은 일본의 테라시니 타카시(寺西 高)가 개발한 오픈소스 단말 에뮬레이터로 일본 도메인을 가지고 있다. 텍스트기반의 아주 단순한 홈페이지이다.

[Download] 링크를 눌러 Teraterm 다운로드 페이지로 진입을 한다.


[그림9] Teraterm 다운로드 페이지[그림9] Teraterm 다운로드 페이지


현재(2018년 12월 09일) 최신 릴리즈는 4.101 버전이다. 필자는 윈도우에 프로그램을 설치하는 것을 별로 좋아하지 않기 때문에 미설치 버전인 zip 파일을 다운로드 받았다.


[그림10] Teraterm 실행파일[그림10] Teraterm 실행파일


Teraterm 의 실행은 [그림10]과 같이 ttermpro 파일을 실행하면 된다.


[그림11] Teraterm 실행 및 ssh 접속[그림11] Teraterm 실행 및 ssh 접속


Teraterm 을 실행하고, 호스트(T) 에 리눅스 컴퓨터의 IP 를 입력한다.(참고로 리눅스에서 ip를 확인하는 방법은 ifconfig 명령어를 이용하면 된다.) TCP 포트(P)에 [그림6]에서 설정한 포트를 입력하면 된다. 별도의 설정이 없었다면 22번을 사용하면 된다.


 



[그림12] ssh 처음 접속(보안경고)[그림12] ssh 처음 접속(보안경고)


SSH에 처음 접속을 하게 되면, [그림12]와 같이 보안 경고 창이 뜨게 된다. 계속을 누르면 Known-host 목록에 sha256 키를 추가하게 된다.(다음 접속 부터는 보안 경고 창이 뜨질 않는다.)


[그림13] ssh 로그인[그림13] ssh 로그인


[그림13]과 같이 ID/PW 를 입력하고, 확인 버튼을 클릭한다.


[그림14] SSH 접속 성공 화면[그림14] SSH 접속 성공 화면


[그림14]와 같이 터미널을 사용할 수 있으면 접속이 성공된 것이다. 이젠 리눅스 컴퓨터의 모니터 없이도 원격으로 리눅스컴퓨터를 조정할 수 있게 되었다.





04. 마무리



필자는 수년간 리눅스 컴퓨터를 메인으로 사용해 왔다. 현재 회사에서도 메인컴퓨터로 Ubuntu 16.04 LTS 를 사용하고 있다. 그만큼 필자에게는 친숙한 환경인데, 최근 홈 서버의 백업 서버를 구축하면서 아무 생각없이 ssh를 설치하는데 설치하는 과정을 포스팅해보면 좋을 것 같아 포스팅을 해 본 것이다. 리눅스를 자주 사용하는 사용자들에게는 아주 간단한 방법의 설치이지만, 리눅스를 처음 접하는 사람들은 어려울 수도 있는 부분이다.

필자는 데비안 계열(우분투, 리눅스민트)의 리눅스 설치/사용법에 대해 포스팅을 준비하고 있다. 리눅스를 잘 모르는 사람들도 따라하기 쉽게 포스팅을 할 예정이다.

윈도우 환경보다 새로운 환경을 구성하고 싶은 사용자들은 리눅스를 한번 선택해 보는 것도 좋은 방법 중에 하나일 것이다.


2018년 12월 9일
Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형




00. 링크


[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트 

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행 

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기 <= (현재글)



01. 개요



DVR 만들기 프로젝트가 끝을 보이고 있다. 본 편은 아주 간단히 끝날 수 있는 내용이다. 1편 ~ 6편 까지 천천히 잘 따라왔다면, 현재 DVR이 정상동작을 하고 있을 것으로 보인다.

요즘 출시하고 있는 대부분의 ip 카메라는 [그림1]의 좌측 상단과 같이 영상에 시간이 삽입되어 송출된다.


[그림1] 시간과 날짜가 영상에 삽입된 IP 카메라의 화면[그림1] 시간과 날짜가 영상에 삽입된 IP 카메라의 화면



 


영상에 시간과 날짜가 포함되는 기능은 CCTV에서 상당히 중요한 것이다. 파일명은 파일 탐색기에서 간단히 수정할 수 있다. 파일의 수정날짜 또한 손쉽게 수정이 가능하다. 열심히 CCTV의 영상을 녹화했는데 날짜와 시간의 데이터가 변조되었고 이 영상이 어떠한 사건의 증거라면 증거로서의 가치가 떨어지게 될 것이다. 6편에서 RTSP 스트리밍 영상을 FFmpeg를 이용하여 매 1분마다 1분단위로 저장하는 방법을 소개하면서 저장되는 파일명이 날짜와 시간으로 설정될 수 있도록 스크립트를 작성했다.

여기서, ipCam 의 영상인 경우 이미 시간이 삽입되어 있기 때문에 큰 문제가 발생하지 않지만, V4L2 로 받은 영상인 경우 영상에는 아무 정보가 기록되어 있지 않다. 따라서 본 편에서는 FFmpeg 를 이용한 영상파일 저장과정에서 날짜와 시간을 삽입하는 방법에 대해 설명 하려고 한다.



02. FFmpeg의 drawtext 필터



사실 6편의 FFmpeg 사용법에 본 내용이 추가되면 깔금할 것으로 보여 6편에 본 내용을 작성하려고 했다. 하지만, 6편은 이미 다양한 기술에 대한 설명으로 글이 많이 복잡하여 7편에 간단히 소개를 한다.

ffmpeg에는 다양한 필터들을 제공하고 있는데 그 중 drawtext라는 필터가 있다. 필터명 그대로 영상에 Text 를 추가하는 필터이다. FFmpeg에서 필터를 적용하기 위해서는 -vf 라는 옵션을 사용해야 한다. (vf 는 video filter 의 약자로 추정된다.)

여러개의 필터를 함께 적용하기 위해서는 -vf "필터1=xxx 필터2=yyyy 필터3=zzzz" 식으로 -vf 옵션은 한번만 사용하고, " 로 다수의 필터를 묶어준다.

6편에서 완성된 ffmpeg 명령어는 다음과 같다.


ffmpeg -i "rtsp://192.168.219.112:8554/test.sdp" -t 60 -an $DATESTRING


위의 명령어에 -vf 옵션을 사용하여 drawtext 필터를 적용할 것이다. 완성된 명령어는 다음과 같다.


ffmpeg -i "rtsp://192.168.219.112:8554/test.sdp" -vf drawtext="text='JunWrap_CAM1_Ext' %'{localtime\:%D}' %'{localtime\:%X}': fontcolor=white: fontsize=10: box=1: boxcolor=black@0.5: boxborderw=5: x=20: y=20" -t 60 -an $DATESTRING_CAM1


상당히 긴 옵션이지만, 차근차근 살펴보면 어려울 것이 없다.

"text=  ' 다음에는 적용될 문구를 적으면 된다. 'JunWrap_CAM1_Ext' 로 시작이 되었다. 말 그대로 해당 문구를 삽입하게 된다. 다음에 오는 %'{localtime\:%D}' %'{localtime\:%X}' 는 시스템의 날짜와 시간을 String 형태로 삽입하는 구문이다. 그냥 사용하면 된다. 이후에 오는 옵션은 Font 의 색상, 크기를 설정하는 옵션이고, 그 다음은 Box에 대한 옵션이다. 특히 boxcolor=black@0.5 라는 옵션은 black 색상의 배경을 가진 박스를 만들고, 투명도 0.5 를 적용하라는 뜻이다. 맨 마지막, x=20: y=20 부분은 drawtext 객체가 그려질 시작 위치를 나타내는 것이다. 영상의 좌측 상단을 (0, 0) 의 좌표로 보고 계산을 하는 것이다.




[그림2] drawtext 필터 적용 결과 영상[그림2] drawtext 필터 적용 결과 영상



[그림2]는 drawtext가 적용된 영상의 결과물이다. 정상적으로 잘 적용된 것을 확인할 수 있다.



03. 마무리



DVR을 만드는데 있어서 어려운 부분은 끝났다. 현 수준으로도 DVR의 기본 기능은 충분히 이용할 수 있는 수준이다. 다만, 리눅스 운영체제를 사용하고 있는 부분이어서 저장된 영상 파일을 확인하는 것이 조금 불편할 수 있다. 그래서, 다음 편에서는 윈도우와 리눅스의 디렉터리 공유를 할 수 있는 samba 설치방법과 사용방법에 대해서 포스팅을 하려고 한다. 

6편에서 설정한 녹화 경로를 samba 디렉터리로 설정을 하고, 윈도우에서 samba 디렉터리에 접근을 한다면, 언제 어디서든지 편리하게 녹화된 영상을 확인할 수 있을 것이다.


1편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1)

2편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기)

3편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트)

4편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행)

5편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정)

6편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현)



2018년 12월 5일
Kunttang

ffmpeg -i "rtsp://192.168.219.112:8554/test.sdp" -t 60 -an $DATESTRING

출처: http://blog.kunwoo.pe.kr/134 [Kunttang's Life]

출처: http://blog.kunwoo.pe.kr/134 [Kunttang's Life]


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형


00. 링크


[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트 

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행 <= (현재글)

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기




01. 개요



2편(http://blog.kunwoo.pe.kr/130)에서 아날로그 캠으로 입력 받은 영상에 대해 RTSP 형식의 스트리밍을 하기 위한 CVLC 커맨드를 하기와 같이 완성 시켰다.



cvlc "v4l2:///dev/video0" --v4l2-input=0 --v4l2-standard=MN --live-caching=300 --sout=#transcode'{vcodec=h264,scale=자동,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/test.sdp}' --sout-keep


터미널에서 위의 커맨드를 실행한 후, 3편(http://blog.kunwoo.pe.kr/131)에서 소개한 방법으로 스트리밍 된 영상을 확인할 수 있었다.

이번 포스팅은 DDNS 와 Portforwarding 을 이용한 외부 접속관련하여 작성을 하려고 하였지만, 시스템을 정리하던 중 비중을 크게 두지 않았던 "cvlc 자동 실행" 관련하여 무한 삽질이 발생하여, 그 내용을 정리해 보고자 본 포스팅을 진행한다.


02. 리눅스(Linux Mint 19 Tara)에서 부팅 시 특정 스크립트 자동 실행 방법



윈도우에는 친절하게 시작프로그램이란 곳이 있어서, 윈도우 부팅과 동시에 실행하고 싶은 프로그램 혹은 배치파일이 있을 경우 시작프로그램에 추가를 하기만 하면 된다. 하지만, 리눅스에서는 부팅 시 프로그램 자동시작에 대해서 등록을 하기 위해서는 다양한 방법이 사용되어질 수 있고, 배포판마다 조금씩 다른 형태를 취하고 있다.




이러저러한 이유로 필자가 주로 많이 사용하는 방법은 crontab 을 이용하는 방법이다. 물론 crontab는 운영체제 부팅의 맨 마지막에 실행되는 것으로 부팅 중 어떠한 내용을 판단하여 실행할 내용이 있다면, crontab을 사용하면 안된다.

필자가 완성한 cvlc 커맨드는 부팅의 맨 마지막에 실행되어도 크게 문제가 없는 부분으로 간단하게 crontab을 사용하기로 결정한다.

[그림1] crontab 시작 명령어 등록 #1[그림1] crontab 시작 명령어 등록 #1


crontab 을 사용하는 방법은 아주 간단하다. -e 옵션을 통해서 원하는 명령을 적어놓고 저장을 하기만 하면 된다. "crontab -e" 를 터미널에서 실행한다.


[그림2] crontab 시작 명령어 등록 #2[그림2] crontab 시작 명령어 등록 #2


보통 crontab 을 처음 사용하는 컴퓨터에서는 crontab에서 사용할 에디터를 선택하는 화면이 먼저 나오게 되는데, 필자는 vim 을 선택하였다. 

crontab 을 Linux 유저들이 활용하는 이유는 어떠한 데이터 혹은 프로그램을 주기적으로 처리 또는 실행하기 위함이다. 따라서 다양한 형식과 옵션들이 있는데, 필자는 부팅 시 자동실행을 위해서 @reboot 라는 옵션을 사용했다.

[그림2]와 같이 @reboot 명령 을 적어놓으면, 부팅이 될 때마다, 해당 명령이 실행된다.

필자는 /home/junwrap/ 디렉터리에 video1Start.sh 라는 쉘스크립트를 작성해 놓았다.(video1Start.sh 는 위에서 완성한 cvlc 커맨드이다.)

[그림3] video1Start.sh[그림3] video1Start.sh


[그림3] 과 같이 쉘 스크립트를 작성하게 되면, 실행 권한을 줘야 하는데, 필자는 간단히 "sudo chmod 755 video1Start.sh" 명령으로 스크립트의 실행권한을 설정하였다.

[그림3] 에서 만들어진 스크립트가 잘 실행되는지 확인하고, RTSP 영상도 client에서 확인을 하였다. 컴퓨터의 재부팅을 통해, crontab 명령이 잘 이루어 졌는지 확인한다.





03. 문제발생 및 해결




03-01. crontab 디버깅


재부팅을 했는데, cvlc 를 통한 스트리밍이 전혀 되고 있질 않는다. 부팅 중 crontab 명령이 잘 이루어졌는지 /var/log/syslog 파일을 확인해 본다.


[그림4] /var/log/syslog 화면[그림4] /var/log/syslog 화면


syslog에 의하면 CRON이 /home/junwrap/video1Start.sh 을 잘 실행한 것으로 나온다. crontab 은 정상실행 된 것이다. crontab은 너무 단순해서 crontab 에서부터 잘못될 것이 크게 없다.

스크립트가 실행이 되었다면, 분명 vlc 프로세스가 살아있을 것이다. "ps -Af | grep vlc" 명령어로 확인해 본다.

[그림5] vlc 프로세스[그림5] vlc 프로세스


[그림5] 와 같이 vlc 프로세스가 잘 실행되어있다. 심지어 스크립트에 적어놓은 파라미터까지 잘 실행 된 것으로 보인다. 일단, 스트리밍이 되질 않고 있으니 프로세스를 kill(sudo kill 1736) 하여 vlc 프로세스를 죽이고, /home/junwrap/video1Start.sh 을 실행해 본다.

휴대폰에서 스트리밍 영상을 확인해 보니, 정상동작을 한다.

그렇다면 crontab 으로 video1Start.sh 을 실행하는 과정에서 어떠한 문제가 발생한 것으로 보인다. video1Start.sh 파일은 단순히 cvlc 에 파라미터를 넣어 실행한 스크립트이므로, vlc 단에서 디버깅이 이루어져야 한다.





03-02. vlc 디버깅



vlc의 디버깅을 위해서는 vlc 상에서 몇 가지 설정을 해 줘야 한다.

우선 X윈도우 상에서 vlc 를 실행한다.

VLC의 메뉴에서 [그림6]과 같이 도구->환경설정으로 진입한다.

[그림6] VLC 환경설정 진입[그림6] VLC 환경설정 진입


[그림7] VLC 세부 환경설정 진입방법[그림7] VLC 세부 환경설정 진입방법


[그림6]에서 환경설정에 진입을 하게되면, [그림7]과 같은 창이 뜨게 되어있는데, 왼쪽 하단의 설정보기에서 "전체" 를 선택하여 [그림8]과 같은 화면이 나오도록 진행한다.


[그림8] VLC의 기록도구[그림8] VLC의 기록도구


고급 환경설정에서 "고급->기록도구" 를 선택하면 파일 로거 설정이 오른쪽에 표시가 된다. "로그를 파일에 저장하기" 를 체크하고, 파일명(저장위치 및 파일명), 로그형식(텍스트), 상세출력(디버그)을 [그림8] 과 같이 설정하고, 오른쪽 하단의 저장버튼을 클릭한다.

[그림6][그림7][그림8] 의 순서대로 설정을 하면, vlc(cvlc)에 대한 모든 기록이 설정한 위치에 파일로 저장된다.

위와 같이 설정이 끝났으면, 재부팅을 진행 해 본다. 부팅이 완료 되었을 때, vlc의 로그를 열어본다.




[그림9] vlc error[그림9] vlc error


기록된 vlc의 로그를 확인해 보니, 범인이 포착되었다. v4l2 를 실행하기 위해, video 장치를 Open 하게 되는데, 이때, 권한문제로 /dev/video1 을 open 하지 못한다는 에러가 포착된 것이다.

로그를 살펴본 결과 문제의 증상이 딱 맞아 떨어진다. vlc 프로세스는 살아있지만, rtsp client 에서는 영상을 확인할 수 없는 현상이다. 

crontab 으로 cvlc의 실행까진 정상적이었지만, cvlc의 파라미터를 적용하는데 있어서, /dev/video1 을 Open 하지 못하니 rtsp 로 스트리밍할 데이터가 없었던 것이다.


03-03. /dev/video 의 권한설정(문제해결)



다행히도, permission 문제는 /dev/video1 의 권한을 살펴보면 쉽게 해결 될 수 있는 문제이다.


[그림10] /dev/video0 의 소유 group 확인[그림10] /dev/video0 의 소유 group 확인


"ls -l /dev/video0" or "video1" 의 명령으로 /dev/video0 에 대한 소유그룹을 확인한다.

crontab 에서 cvlc를 실행하는 user가 "video" 라는 그룹에 속해있어야 할 것으로 보인다. 사실 crontab 은 root user 권한으로 실행되기 때문에 video 그룹에 속해있지 않아도 크게 문제가 되지 않는다. 하지만, vlc 는 root user 권한으로 실행되지 않는다. 따라서, [그림1]에서와 같이 junwrap 계정으로 로그인된 상태에서 sudo 없이 crontab -e 명령으로 추가를 했기 때문에 junwrap 권한으로 cvlc 가 실행되었을 것이다. 따라서, video 그룹에 junwrap user 를 등록해 주면 간단히 해결 될 것으로 보인다.

"sudo vi /etc/group" 명령으로 group 파일을 직접 수정해 본다.

[그림11] /etc/group[그림11] /etc/group


video 그룹을 찾아 junwrap user 를 추가해 준다. [그림11]은 video group 을 찾은 것이고, "video:x:44:junwrap" 으로 수정을 해야한다.





04. 마무리



문제를 알고나면 쉽게 해결될 문제이지만 문제를 알기 까지 찾아가는 과정이 무한 삽질의 연속이다. 문제를 찾아가는 과정을 순차적으로 차근차근 해 보게 되면 정답을 구할 수 있게 되지만, 그 과정 자체를 제대로 이해하지못하여 인터넷으로만 어떤 정보를 찾고자 한다면 문제가 해결되지 않을 가능성이 높다.

평소에 아무생각없이 사용했던 방법들이 갑자기 작동되지 않는다면 당황하기 마련이다. 이번 포스팅에 공유된 내용도 필자는 당연히 될 것이라고 생각했지만, cvlc와 /dev/video 조합에서의 권한문제로 crontab 에서는 문제가 발생한다는 것을 새로 알게 된 부분이다.

Linux 라는 OS 가 워낙 삽질을 많이해야만 내 것으로 만들 수 있는 것이다 보니, 필자가 Linux 를 만지는한 삽질은 계속될 것으로 보인다.

다음편에서는 3편에서 예고했던 것과 같이, 공유기에서 DDNS와 Portforwarding 설정으로 외부 접속이 가능할 수 있도록 설정하는 방법을 공유할 예정이다.


1편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1)

2편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기)

3편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트)

5편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정)

6편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현)

7편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기)


2018년 12월 02일
Kunttang








반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형


00. 링크


[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #1 <= (현재글)

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현

[DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기




01. DVR이란 무엇인가?



요즘은 어딜가든 CCTV가 설치되어있다. 길거리 혹은 실내에서 잘못된 행동을 하게 되면 그 행동이 고스란히 영상으로 기록이된다. 심지어 차량의 블랙박스에서 까지 나의 행동을 녹화하고 있으니 죄 짓고 살기 힘든 세상이다.

아무리 카메라가 좋아도 영상을 기록할 장치가 없다면 그 카메라의 역할은 실시간 감시뿐이 없다. 하지만, DVR 이라는 영상을 기록하는 장치가 카메라와 함께 운용된다면 하나의 감시 기록 시스템으로 확장하게 된다.




DVR은 Digital Video Recorder 의 약자로 말 그대로 녹화장치이다. 불과 10~20년전까지만 하더라도 녹화장치는 자기테이프 기록장치를 주로 사용하여, 관리자가 주기적으로 테이프를 교환해 주며 운용을 하였지만 최근에는 자기기록장치와 영상처리기술의 발달로 하드디스크가 내장된 DVR이라는 녹화기가 CCTV 시스템의 중심이 되었다.


02. DVR 시스템의 필요성



필자는 직장인으로 개인적으로 DVR 시스템의 필요성을 느끼지 못한다. 필자가 가지고 있는 DVR 시스템이라고 해 봤자 차량의 블랙박스가 전부이다.

하루는 친구가 운영하고 있는 자동차, 바이크 랩핑샵(http://www.junwrap.co.kr)에 놀러갔는데 친구의 차량에 심한 상처가 난 것을 발견하였다. 옆 식당에 온 손님이 문을 심하게 열어 발생한 상처로 추정되어지나 직접적인 증거가 없어 보상을 받을 방법이 없었다. 만약 상처가 난 차량이 친구가 운영하고 있는 샾에 방문한 손님 차량이라면 고스란히 친구가 보상을 해줘야 하는 상황이었다.

어찌어찌하여 DVR을 만들어 실시간 녹화를 하기로 결정하였다. 보안업체의 CCTV도 알아보았으나 월 20,000원정도의 유지비용이 발생하는 부분으로 비용절감을 위해 일단 만들어보기로 한다.


03. 환경



- 보안 업체의 월 20,000원 정도의 CCTV는 다음과 같은 구성으로 되어있다.

a. HD급 카메라(적외선 포함) 2대

b. DVR 1대

- 보안 업체에서 제공하는 CCTV는 다음과 같은 특징을 가지고 있다.

c. 모바일로 언제든지 CCTV를 확인할 수 있는 기능

d. 녹화




기타 동작감지라던지 소소한 추가 기능들이 있지만, 보안업체 CCTV의 대표적인 기능 위주로 개발을 해 보려고 한다.


[그림1] JunWrap 네트워크 구성도[그림1] JunWrap 네트워크 구성도


[그림1]은 현재의 JunWrap(http://www.junwrap.co.kr) 네트워크환경에 Server와 CAM 을 추가한 구성도 이다. 이미 2년 전 JunWrap 을 개업했을 당시 네트워크 작업을 진행해 주었다. 기가비트 네트워크 환경을 구성하였기 때문에 내부 네트워크의 파일 공유속도는 엄청나게 빠르다. 다만, 현재까지 NAS 혹은 파일 서버의 역할을 하는 장비가 없었기 때문에 기가비트의 네트워크 환경을 제대로 이용할 기회가 없었을 뿐이다.

ipCAM1과 ipCAM2는 네트워크 기능이 포함된 실내 전용 카메라로 RTSP(Real-Time Streaming Protocol)가 내장된 카메라이다. 저조도에서는 적외선 광원이 자동으로 켜지게 되어 있어 밤의 영상도 확인이 가능하다. RTSP 로 인해 실시간 영상확인이 가능하다.

Analog CAM은 수년 전 저가 보안업체에서 사용하던 아날로그 Type의 실외용 카메라이다.


04. 서버 구성



ipCAM1과 ipCAM2는 RTSP가 내장되어있기 때문에 스트리밍을 위한 별도의 작업은 필요하지 않으나, AnalogCAM은 스트리밍을 위해 여러 작업이 동반되어야 한다. 일단, AnalogCAM 의 영상의 디지털화를 위한 캡쳐보드가 필요하고, 캡쳐보드를 구동하기 위한 컴퓨터가 필요하다. 


[그림2] 캡쳐보드(자이뷰 XV400 PCI)[그림2] 캡쳐보드(자이뷰 XV400 PCI)


캡쳐보드로는 자이뷰 XV400 PCI(XyVision)를 선택하였다. 사실 이 보드는 2000년대 중반부터 컴퓨터 DVR 시스템을 위한 필수보드로 아직까지도 판매가 되고 있는 보드이다. 새제품인 경우 4~5만원대의 가격을 가지고 있으나, 중고 1만원 대의 가격으로 구입을 할 수 있는 보드이다. 하지만, 이 보드에는 치명적인 단점이 2가지가 있다.




단점 1. PCI 방식이다. 이미 5~6년 전부터 메인보드에 PCI 슬롯을 가지고 있는 컴퓨터는 산업용 컴퓨터를 제외하고는 찾아보기 힘들다.

단점 2. 자이뷰 XV400 PCI 를 사용하기 위해서는 컴퓨터에 드라이버 설치 및 전용 DVR 프로그램을 설치해야하는데, Windows XP에 최적화가 되어있다.(Windows 7 32bit 까지 지원되긴 하지만, 매끄럽게 동작하질 않는다.)

만약 집에서 사용하지 않는 오래된 컴퓨터가 있다면, 단점 1과 2는 장점(?)이 되어버린다. 필자는 이미 사용하지 않는 오래된 컴퓨터로 서버를 준비해 놓았다. 여기까지는 정말 순조롭게 진행이 되었다.

www.xysystem.com 에 접속하여 전용 프로그램을 확인해 보니, 시리얼을 등록해야 사용할 수 있다고 한다. 졸지에 단점 3이 생기는 순간이었다. 시리얼은 별도로 인터넷을 통해 1~2만원대에 구입을 할 수 있지만, 필자는 단점 2로 인하여 구입하고 싶은 생각이 전혀 없었다.

일단, 윈도우 XP에 안정화가 되어있기 때문에 MS에서 지원조차 받지 못하는 운영체제를 서버로 운용하고 싶지 않았다.

[그림3] XV400 PCI의 메인칩(Conexant FUSION 878A)[그림3] XV400 PCI의 메인칩(Conexant FUSION 878A)


XV400 PCI 에 사용된 메인 칩을 확인해보니, Conexant Fusion 878A 를 사용하고 있었다. 리눅스를 사용한다면, 별도의 작업 없이 충분히 사용 가능할 것으로 예상이 되었다. 최근에 Release 된 데비안 계열의 리눅스에서는 V4L(Video4Linux)을 사용할 수 있다. V4L 은 리눅스에서 Video Capture 장치를 Load 하기 위한 드라이버와 API 들의 집합이다.

그래서 결정된 운영체제는 Linux Mint 19 Tara 64-bit Xfce 이다. Linux Mint 19 Tara 는 LTS(Long term support release)로 2023년 4월까지 지원이 가능한 리눅스 배포판이다. 서버 사양이 좋지 않으므로, 적은 리소스로 구동이 가능한 Xfce 로 결정을 하였다.

[그림4] 서버를 위한 컴퓨터 부품 가조립[그림4] 서버를 위한 컴퓨터 부품 가조립


창고에 정리해 놓은 부품들 중에 적합한 부품들을 하나하나 모아보았다. 일단, 창고에 오래 보관된 부품으로 메인보드 수은전지를 교체하고, 각 부품들을 가조립한 상태에서 확인을 해 보았다. 이미 창고에 들어가기 전에 정상 동작을 확인했던 부품이었기 때문에 문제없이 작동이 된다.

[그림5] 서버로 사용될 컴퓨터의 사양[그림5] 서버로 사용될 컴퓨터의 사양


골동품 중에 골동품이다. 하지만, 부품들의 상태가 좋아서 몇 년째 창고에 보관 중이었던 부품이다. Intel Dual-Core E6300 제품으로 윈도우 설치를 하여서는 정상적인 사용이 불가능할 정도의 사양이다. 메모리는 DDR2 2GByte + 1GByte 조합의 3GByte 로 구성을 하였고 하드디스크는 500GB 로 구성하였다. DVR 로 사용할 서버이기 때문에 하드디스크는 사용시간이 짧은 부품으로 장착을 하였다.




[그림6] 조립 완료 및 기가비트 랜카드와 캡쳐보드 사진[그림6] 조립 완료 및 기가비트 랜카드와 캡쳐보드 사진


창고에 있는 비교적 깨끗한 케이스를 꺼내어 조립을 완료하였다. 조립을 하다보니, 확인이 덜 된 부분이 있었는데 바로 이더넷의 지원 속도였다. ASUS P5KPL-AM SE 보드인 경우 10/100Mb 속도의 이더넷을 장착하고 있기 때문에 스트리밍과, 녹화의 기능을 수행하고, Samba 서버 역할을 하기위한 네트워크 대역폭으로는 부족한면이 있었다.

그래서, PCI-Ex 방식의 기가비트 카드를 추가하였다. 기가비트 랜카드의 리뷰는 하기 포스팅을 참고하기 바란다.

Coms PCIEx 기가비트 랜카드 리뷰Coms PCIEx 기가비트 랜카드 리뷰


[그림7] Power Loss 설정[그림7] Power Loss 설정


서버는 입력장치(키보드,마우스)와 모니터를 장착하지 않고 사용하기 때문에 건물의 전기부분에 문제가 발생 후 복구가 되었을 시 자동으로 켜지게 해야한다. 바이오스 셋업 화면에서 간단히 설정이 가능하다. Restore on AC Power Loss 항목을 Power On 으로 설정하면 전원이 입력됨과 동시에 자동으로 켜지게 된다.


[그림8] 리눅스 설치 완료 화면[그림8] 리눅스 설치 완료 화면


리눅스 민트 19 Tara 설치까지 완료된 화면이다. 이젠 DVR 구성을 위한 개발을 시작하면 된다.

[그림9] 캡쳐보드 테스트에 사용된 Minicube X7+ Android[그림9] 캡쳐보드 테스트에 사용된 Minicube X7+ Android




리눅스에서 캡쳐보드가 정상작동하는지 확인해 보기위해 RCA 케이블로 집에 있는 동영상 셋톱박스를 연결해 보았다. 불과 몇 년 전까지만 하더라도 RCA 출력이 되는 장비 몇 개는 쉽게 찾아볼 수 있었지만, 창고를 아무리 뒤적뒤적해도 RCA 출력을 위한 장비가 없었다. 다행스럽게도 딱 하나가 나왔는데 기본 HDMI 출력이지만 Display Menu 에서 PAL 및 NTSC 출력 설정을 통해 RCA 출력을 할 수 있는 셋톱박스를 찾게 되어 설정한 후 연결해 보았다.


[그림10] VLC 에서 캡쳐장치 열기[그림10] VLC 에서 캡쳐장치 열기


테스트를 위하여 VLC 플레이어에서 캡쳐장치를 열어보았다.


[그림11] VLC에서 인식된 캡쳐장치(/dev/video0)[그림11] VLC에서 인식된 캡쳐장치(/dev/video0)


VLC 플레이어에서 캡쳐장치가 정상적으로 인식되어 있는 것을 확인할 수 있었다. 재생 버튼을 눌러 영상이 표시되는지를 확인한다.


[그림12] VLC에 출력된 화면[그림12] VLC에 출력된 화면


정상적으로 VLC에 화면이 출력되었다. 셋톱박스에서 출력되는 비디오타입과 VLC의 설정이 정상적이지 못해 화면이 깔끔하지 못하지만, 캡쳐보드가 정상적으로 출력되는 것을 확인할 수 있다. 아날로그 카메라를 연결하여 확인해 봐야 할 것 같다.




05. 마무리



DVR 시스템을 개발하기 위한 모든 준비는 끝났다. 이젠 다음과 같은 기능을 구현하면 된다.

a. 서버 부팅과 동시에 녹화 시작
   - ipCAM1, ipCAM2, AnalogCAM

b. AnalogCAM 스트리밍(RTSP 구성)

c. Samba 설정

d. 1분단위로 끊어서 녹화하는 기능

e. 특정 시간이 지나면 자동으로 삭제되는 기능

f. 영상에 시스템 시간과 CAM 이름이 삽입되는 기능

이 모든 기능이 어떠한 코딩으로 이루어지는 것이 당연하겠지만, 필자는 쉘스크립트, 콘솔 프로그램, 시스템 설정을 통해 DVR 을 개발하려고 한다.

개발이라고 말하기 부끄러울만큼의 구성이지만, 위와 같은 간단한 기능을 코딩으로 개발하는 것보다 훨씬 간편할 것으로 예상된다.

다음 포스팅에서는 캡쳐보드로 입력된 AnalogCAM 영상의 스트리밍 방법을 작성할 예정이다.


2편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #2 - V4L2로 스트리밍 하기)

3편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #3 - RTSP 클라이언트)

4편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #4 - CVLC 자동실행)

5편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #5 - DDNS와 Port Forwarding 설정)

6편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #6 - ffmpeg와 crontab을 이용한 녹화 기능 구현)

7편 링크 : ([DVR] 집에서 놀고 있는 컴퓨터로 DVR을 만들어보자 #7 - 녹화 영상에 시간 넣기)


2018년 11월 26일
Kunttang

반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형

안녕하세요.


건탱이 입니다.


요즘 회사일이 엄청 바쁜 관계로.. 포스팅을 못하고 있네요.


이런 저런 일들이 많아 포스팅할 내용은 정말 많은데..


최근, 창고를 정리하다가 오래된 컴퓨터 부품을 하나 둘씩 버리고 있습니다.


이미 쓸모있는 컴퓨터들은 전부 필요한 사람들에게 기증을 하였기 때문에


남아 있는 컴퓨터 대부분은 쓰레기들 입니다.




그 중에서도 메모리와 CPU 정도는 전부 모으고 있긴한데요


그러다 보니까 참 ~ 잉여스러운 DDR2 1G 메모리가 많이 나오더군요.


이 계륵같은 존재의 DDR2 1G 메모리 ..


거침없이 쓰레기통으로 가려고 하다가 일단 모아봤습니다.


다행히 DDR2 메모리 슬롯 4개가 지원되는 ASUS M2A-VM HDMI 메인보드와,


그나마 쓸만한 AMD 브리즈번 4450e가 눈에 띄더군요.


깨끗한 케이스 하나 찾아서 냉큼 조립한번 해 보았습니다.


윈도우를 설치해 봤자 인터넷도 못쓰는 똥컴이 될 것이 분명하기에


굴러다니는 SSD 하나 연결하여 얼마전 USB로 만들어 놨던 Mint Linux 를 설치해 보려고 컴퓨터를 켜 보았습니다.


웬욜~~~


화면이 켜지긴 하나 첫 화면 부터 Unknown Porcesser 로 떡 하니 뜨더군요.


이미 수은전지는 엥꼬나서 리셋한번 할때마다 모든 저장사항이 다 초기화되어버리고..


에혀.. 피곤한데 잠이나 잘까하다가 오기가 생겨서 일단 수은전지부터 교체를 해 보았습니다.


CMOS 진입하여 EZ Flash Utility 를 실행시켜 BIOS 업데이트를 진행해 보았습니다.




https://www.asus.com/


Asus 홈페이지를 방문하여 M2A-VM HDMI 최신 BIOS 를 다운로드 받았습니다.



최신 버전이 2302 이네요. 2009년 2월 13일날 Release 된 아주 따끈따끈한(?) BIOS 입니다.


다행히 ASUS 메인보드는 EZ Flash Utility를 CMOS 상에서 제공하여 USB에 복사하여 CMOS 상에서 BIOS Update가 가능합니다.


간단히 끝내니, 바로 CPU가 인식되네요.


여기까지 하려다가..


그냥 리눅스도 설치해 보았습니다.





짜잔~~~


리눅스 라이브 화면이 나타났네요.


이제부터 시작 입니다.



저 요란한 CPU 팬을 보세요.


마구 돌아가고 있습니다.


메모리 4개는 모두 짜집기하여, 다른 종류의 메모리 입니다.


그래도 잘 돌아가네요.



설치가 거의다 완료되어 갑니다.


역시 SSD가 설치되어 있어서 그런지 빠릿빠릿 합니다.


일단 좀 사용해 봐야 알 것 같습니다.





설치 시간은 약 20분 정도 걸린 것 같습니다.


부팅 속도도 엄청 빠르네요.


일단, 여기까지는 Mint Linux 로 실 사용 가능할 것으로 판단 됩니다.


물론 Linux이기 때문에 Windows에 익숙한 사람들은 좀 불편하겠지요.


간단한 웹서핑 용이 될 것 같습니다.



초기화면을 보았습니다.


좀 사용해 보니 진짜 웹서핑용 입니다.




더도 덜도 아닌 딱 웹서핑용..


일단, 살려는 놓았으니 활용방안을 생각해 보아야 할 것 같습니다.


끝..



반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형

안녕하세요.


건탱이 입니다.


오랜만에 포스팅을 하네요.


포스팅 할 내용은 정말 많은데 이놈에 게으름 때문에 포스팅을 전혀 못하고 있습니다.


일하고 집에 오면.. 쉬기 바뻐서요..


저는 메인 컴퓨터로 i7 4세대 랩톱을 사용하고 있습니다.


Thinkpad Edge E440 모델 이지요.




i5 모델이었지만, i7 cpu를 별도로 구입하여 업그레이드 하였습니다.


흠.. 그런데 아주 오래된 랩톱을 더 많이 사용하고 있습니다.


IBM 시절 출시된 Thinkpad X60 입니다.



바로 이 녀석 입니다.


참 오래 되어 보이는 녀석이지요?


그래도 제가 대학원 시절 이 녀석으로 논문도 쓰고, 강의도 나가고 했던 아주 기특한 녀석 입니다.


Thinkpad 를 너무 좋아해서 대학원 시절 메인으로 T60 을 울트라베이스에 장착하여 사용하고,


연구실에서 지급된 X60과 개인적으로 구입한 X60을 가지고 열심히 연구활동(?) 을 하였었지요.


왜 X60을 두 대씩이나 운용을 했냐면.. 흠.. 


한대는 윈도우 XP를 사용하고, 다른 한대는 리눅스를 사용하기 위함이었습니다.


허허 암튼 된장남 놀이를 좀 많이 했었지요.




그러고 10년이 지난 현재, 대학원 졸업하면서 T60과 X60은 대학원에 반납하고,


제 X60은 아직도 현역으로 잘 뛰어주고 있습니다.


물론 윈도우를 사용하기에는 많이 부족하여, Ubuntu 16.04 를 설치하여 운용 중에 있습니다.


원래부터 Ubuntu를 운용하던 녀석이라.. 


암튼, 이 녀석은 성능이 좋지 못해 Ubuntu 16.04 LTS Server 를 설치하여 LXDE 환경을 구성하였습니다.


아주 가볍게 사용하고 있지요.


그러다 보니, Ubuntu Desktop 버전에 기본적으로 설치되는 어플리케이션이 없어 수동으로 설치를 해야합니다.


잡설이 길었네요.




집에 있는 X60 보다 성능이 조금 더 괜찮은 맥북에어 2010 late 기본형 모델을 어떻게 활용해 볼까 하다가


이 역시 우분투를 설치하여 운용을 하려고 했습니다.


하지만, 그래도 맥북에어인데... 애플인데.. 투박한 Ubuntu Server 설치를 할 수는 없겠더군요.


그렇다고, 성능이 떨어지는 맥북에어에 High Sierra 를 설치하여 활용도를 떨어뜨릴 수는 없겠더군요..


그럼 투박하지 않으면서도 가작 맥북에어에 어울리는 OS 는 뭐가 있을까.. 한참 고민하던 중..


Linux Mint 를 떠올리게 되었습니다.


한번도 설치를 해 본적은 없지만.. 일단, 그동안 보았던 수많은 사진..


그리고 Ubuntu 기반의 배포판이란 점에서.. 저에게 딱 당첨이 되었습니다.



그럼.. 설치를 해보기 위해 Linux Mint 를 똭!!! 하고 다운로드 받았습니다.


하기 경로로 접속을 해 주시면 최신 버전을 다운로드 받을 수 있습니다.


https://www.linuxmint.com/





현재 Linux Mint 최신 버전을 살펴보니 18.3 Sylvia 이더군요.


Linux Mint 공식 홈에서는 18.2 Sonya 가 링크되어 있어서, 18.2 버전으로 다운로드 받았습니다.


어짜피 18.3과 18.2 모두 LTS 입니다.


여기서 LTS 는 Long Term Support 라는 뜻 입니다.


보통 Ubuntu 인 경우 짝수 해의 4월달에 릴리즈 하는 버전이 LTS 입니다.(ex 14.04, 16.04, 18.04)


그 이외의 배포판은 6개월내지 1년정도의 지원만 하고, 종료를 하게 되는 것이죠.


내가 Linux를 메인으로 또는 주된 OS로 사용하고 싶다.. 라고 생각하시는 분은 꼭!! LTS 를 설치하셔야 합니다.




위의 표에서 보게되면 18.2 버전은 2021년 4월까지 지원을 해주네요.


아주 좋습니다.


18.2의 Package Base는 Ubuntu Xenial 이네요.


즉 Xenial 이면 16.04 기반이라는 뜻 입니다.


Ubuntu의 16.04 는 LTS 입니다.


정리를 해 보자면,


Linux Mint 18.2 는 LTS 이고, Ubuntu 16.04 기반으로 만들어졌다 입니다.


네네.. 안심하고 다운로드 받으시면 됩니다.


그럼 어떤 이미지를 다운로드 받아야 할까요??





총 4종류의 Linux Mint 가 있습니다.


참 복잡스럽네요..


저는 Cinnamon 64bit 를 다운로드 받았습니다.


보통 오래된 컴퓨터나 저 사양 컴퓨터인 경우 MATE 또는 xfce 를 다운로드 받으시면 됩니다.


그래도.. 가장 Linux Mint 스러움을 느끼시고 싶으시면 Cinnamon 을 받으시면 됩니다.


하기 링크에 가 보시면 배포판 별로 스냅샷이 있습니다.(참고하세요..)


https://www.linuxmint.com/rel_sonya.php



자.. 그럼 시동 디스크를 만들어 볼까요??


흠... 그런데 제 X60에는 시동디스크를 만드는 툴이 설치되어 있지 않네요.


Ubuntu 16.04 Server 에 LXDE 환경을 구성하였기 때문에 시동디스크 툴이 설치되지 않은 것이죠.


물론 콘솔로도 만들 수는 있지만.. 


편리한 GUI 환경을 두고 그럴 수는 없습니다.


그럼 Ubuntu 16.04 Desktop 에 포함되어 있는 시동디스크 만들기 툴은 무엇일까요??


바로 usb-creator-gtk 입니다.


하.. 이 usb-creator-gtk 를 소개시켜 드리기 위해.. 이렇게 많은 잡설을 늘어놓았네요..


허허..


그럼 설치 방법은요??


흠.. Ubuntu 를 많이 사용해 보신분들은 뭐 안알려 드려도 이쯤이면 터미널 열어서 설치하고 계시겠네요..


sudo apt-get install usb-creator-gtk




이러면 설치가 바로 된답니다.


그럼 usb-creator-gtk 를 실행하고, 부팅 디스크를 만들어 봅니다.



1. Other 버튼을 누르신 후 다운로드한 Linux Mint 이미지를 선택하세요.


2. 하단에 연결되어 있는 USB 메모리를 선택하시고, Make Startup Disk 버튼을 누르세요.


그럼 USB 의 내용이 모두 삭제되고, Linux Mint 시동 디스크가 만들어진답니다.



참 쉽죠??


요즘... 집에서 오래된 컴퓨터를 열심히 가지고 놀고 있습니다.


앞으로 오래된 컴퓨터를 활용할 수 있는 방법에 대해 포스팅을 계속 진행 할 예정입니다.


많은 기대 부탁 드립니다.


감사합니다.


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,