달력

112024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

오드로이드 XU4에서 리눅스 커널 4.9 버전을 공식 지원받기 시작했습니다.

 4.9는 LTS 버전으로, 하드커널 블로그에 따르면 2019년 초까지 지원받는다 하네요.

 기존 3.10도 LTS지만, 이젠 legacy니까 mainline 커널로 이사해 봅시다.


 커널만 따로 컴파일하여 올리는 방법도 있지만, 어차피 이것 저것 해보느라 더러워진 제 오드로이드 XU4에 새로이 하나씩 설정하려고 해요.

 설정하면서, 제가 제 오드로이드 XU4를 NAS 및 개인 클라우드 서버로서 설정하는 방법을 포스팅해보려 합니다.

 독자가 어느 정도 오드로이드와 리눅스 시스템에 지식이 있다고 생각하며 작성하겠습니다.


 주의할 점은! 안정화된 버전이 아니고 한창 디버깅중이라 모든 기능이 정상 작동하진 않을 것입니다. 자주 커널 업데이트를 확인하시길 권장드립니다.


 170521

 새로운 우분투 이미지가 나왔습니다.

https://forum.odroid.com/viewtopic.php?f=146&t=26007&sid=eea1bad8d0fad3f89626f12f5e66a39b

http://odroid.com/dokuwiki/doku.php?id=en:xu3_release_linux_ubuntu_k49

 제가 포스트에서 다룬 건 아주 초기 버전의 커널이었는데, 어느 정도 디버깅이 진행 된 커널로 새로운 이미지가 공개됐네요. GUI가 제외됐을 것으로 추정되는 미니멀 버전도 있으니 필요에 따라 선택하시면 될 것 같습니다 :)




0. 들어가기 앞서..

 먼저, 제 오드로이드 XU4의 목적은 크게 다음과 같습니다.


 NAS

 오드로이드 XU4는 USB 3.0을 지원하기 때문에 USB 3.0 외장 하드만 연결하면 쓸 만한 NAS가 됩니다. 그래서 전 0.5TB, 1.5TB, 3.0TB 외장 하드 총 세 개를 유전원 USB 허브를 통해 사용하고 있어요. 굉장히 좋습니다.
 SAMBA로 제 윈도우 컴퓨터로부터 파일을 업로드 및 다운로드 하고, 외부에선 h5ai를 이용해 간단한 파일 확인, 미디어 스트리밍 및 다운로드를 지원하고 있습니다.


 Plex Media Server - 동영상 스트리밍 서버

 스마트폰이나 태블릿으로 동영상을 따로 넣지 않아도 볼 수 있으면서, 외부에선 저화질로 트랜스코딩해 볼 수 있도록.. 모든 걸 다 해주는 애가 plex media server 입니다.


 Wordpress - 개인 웹 사이트

 아직 제대로 꾸미진 못하고 있지만, 개인 wordpress 웹 사이트를 하나 운영하는 것도 재밌을 것 같아 구축은 해두고 있습니다. 굳이 남들을 위한 포스팅이 아니더라도 개인 사이트를 활용할 방법은 많으니까요!


 개인 공부용 클라우드 서버

 서버와 연동하는 서비스 개발에 흥미가 많습니다. 안드로이드 앱과 웹을 주로 개발하는데, 이런 서버 하나 있으면 도움이 많이 되더라구요. DBMS와도 연동할 수 있구요. 대체로 Node.js 나 CodeIgniter로 소켓, 웹 서버를 열어 포트포워딩 해 사용합니다.


 그리고 웹 사이트나 NAS는 외부에서 접속하기 쉽도록 내도메인.한국 에서 kro.kr 도메인을 얻어 사용하고 있습니다. 또한, LetsEncrypt로 SSL 인증서를 발급받아 SSL로 웹 사이트를 엽니다.

 크롬에서 "안전함" 을 띄워 놓으면 뭔가 마음의 안정이 되기도 하고, 보안의 이유도 있는데, 특히나 NAS같은 경우 제 개인 서버인데 외부에서 사용하다 ID, PW가 쉽게 노출되면.. 어휴

 마지막으로 전 오드로이드는 클라우드 서버로만 사용하기 때문에, GUI, 데스크탑 환경은 최대한 배제합니다.

 따라서 이번 포스팅은 위에서 나열한 모든 걸 간단히 정리합니다.

 처음부터요.




1. 우분투 16.04(리눅스 커널 4.9 버전 포함) 설치

1.1 다운받기

 http://dn.odroid.com/5422/ODROID-XU3/Ubuntu/trial_4.9/ubuntu-16.04.2-mate-odroid-xu4-20170222.img.xz

 하드커널에서 오드로이드 XU3, XU4를 위한 커널 4.9버전이 포함된 우분투 16.04.2 Mate를 배포해주기 시작했습니다. 받아서 압축을 풀어주세요.


1.2 Win32DiskImager 다운받아 설치

 https://sourceforge.net/projects/win32diskimager/

 Win32DiskImager를 이용해 부팅 디스크(SD카드나 eMMC)에 위에서 다운 받은 운영체제 이미지를 올리기 위함입니다. 받아서 설치해주세요.


1.3 Win32DiskImager를 이용해 부팅 디스크에 이미지 쓰기

 Win32DiskImager를 실행해, Image File 에서 폴더 아이콘 클릭 후 받아 둔 우분투 이미지를 선택합니다. 그리고 오른쪽 Device에서 부팅 디스크에 맞는 알파뱃을 고르세요. 이상한 거 고르면 다 날아가니까 주의하세요.

 모두 맞게 설정하셨다면 하단에 Write를 누릅시다.


1.4 오드로이드 XU4에 부팅 디스크로 부팅하기

 SD카드면 옆면의 SD카드 슬롯에, eMMC면 아랫면에 eMMC 슬롯에 꼽고, 부트 모드 스위치를 알맞게 똑딱 하신 후 전원을 넣습니다. 물론 인터넷 랜선도 연결돼 있어야 합니다.



2. SSH 접속하기

(추천) Xshell 설치

 http://www.netsarang.co.kr/xshell_download.html

 개인적으론 SSH 접속 프로그램으로 Xshell을 좋아합니다. PuTTY나 심지어 이젠 윈도우 10의 배쉬에서도 SSH 접속이 가능하지만, Xshell이 로그인 정보 저장, 화면 분할, 폰트 변경 등 편하더라구요.


2.1 오드로이드 XU4에 접속

 오드로이드에 할당된 IP 주소를 이용해 SSH 접속합니다. 기본 로그인 정보는 root / odroid 또는 odroid / odroid 입니다.


2.2 데스크탑 환경(GUI) 비활성화 및 삭제

 https://askubuntu.com/questions/823479/how-to-remove-gui-on-ubuntu-server-16-04

 서버로만 사용하기 때문에, GUI 환경이 필요 없습니다. 따라서 아래 명령어로 제거해줍니다.

sudo systemctl disable lightdm.service

 GUI와 관련된 x11 또는 qt 관련 파일들과 그들의 의존성 패키지들을 전부 제거해줍니다.

sudo apt-get purge libx11.* libqt.* && apt-get autoremove


2.3 cups 삭제

 2.2 를 진행하시면 다음부터 apt 명령어 작업을 하실 때 뭔가 의존성 문제를 계속 뿜습니다. cups 관련 패키지들이 없다는 말인데, 프린터 관련 패키지인 cups 자체를 지워줍니다.

sudo apt-get purge cups* && apt-get autoremove


2.4 Chromium, Firefox, Kodi 삭제

 이번에 하드커널에서 배포한 우분투 이미지엔 Chromium과 Kodi, GStreamer 가 기본 설치되어 있습니다. Firefox는 우분투의 원래 기본 설치 패키지이구요.

 Kodi는 개인적으로 안 쓰니 삭제하고, Chromium과 Firefox 또한 GUI가 아니기 때문에 필요 없습니다.

 GStreamer는 설명에 보면 비디오 인코딩/디코딩을 위해 존재한다고 합니다. 간단히 찾아보니 Plex Media Server 사용 시 트랜스코딩할 때 ffmpeg 대신 사용할 수 있다는 것 같네요. 아직은 사용할 줄 모르지만 훗날을 위해 남겨둬 보겠습니다.

sudo apt-get purge chromium* firefox* kodi* && sudo apt-get autoremove


2.5 재부팅

 많이 제거해줬으니 한 번 재부팅 해줍니다.

sudo reboot


2.6 패키지 업그레이드

 이제 살아남은 기본 패키지들을 업그레이드 해줍니다.

sudo apt-get update && sudo apt-get dist-upgrade -y

 커널 업데이트가 포함되어 있으니 재부팅 해줍니다.

sudo reboot

 재부팅 후 기존 커널 관련 파일들을 autoremove로 지워줍니다.

sudo apt-get autoremove


2.7 vim 설치

 앞으로 vi를 이용한 설정 파일 수정이 많기 때문에, vim를 설치하겠습니다.

sudo apt-get install vim


2.8 한글 설정

 터미널에서 정상적으로 한글을 출력하기 위해 기본 문자셋을 한글로 바꿔주는 작업입니다.

 한글 패키지를 다운 받습니다.

sudo apt-get install language-pack-ko-base

 로케일을 한글로 업데이트 시켜줍니다.

sudo update-locale LANG=ko_KR.UTF-8

 환경변수도 설정해줍니다.

sudo vi /etc/environment

 마지막에 다음 두 줄 추가

LANG="ko_KR.UTF-8"
LANGUAGE="ko_KR:ko:en_US:en"

 마지막으로 시간대를 서울로 바꿔주기 위해 ~/.profile 마지막에 추가합니다.

vi ~/.profile
TZ='Asia/Seoul'; export TZ

 새로운 사용자에게도 적용하기 위해, /etc/skel/.profile 에도 추가합니다

sudo vi /etc/skel/.profile
TZ='Asia/Seoul'; export TZ

 추가로 기본 시간대를 바꿔줍니다.

dpkg-reconfigure tzdata

 Asia/Seoul 로 설정해주시면 됩니다.

 재부팅 해줍니다.

sudo reboot


3. 사용자 추가

3.1 기존 계정 삭제

 기본 계정 중 odroid란 계정이 있습니다. 과감히 지워줍시다.

sudo deluser -remove-all-files odroid

 원래 이러면 홈디렉토리를 포함하여 삭제해주는데 이상하게 남아있네요. 제거해줍니다.

sudo rm -rf /home/odroid

 170502 과감히 지우려 했는데, 커널 업데이트할 때 사용자 odroid가 없다고 뭐라 하네요. 남겨놔야 하는 것 같습니다. 


3.2 사용자 계정 추가

 자신만의 계정을 추가해줍니다.

sudo adduser {계정이름}

 실행 시 묻는 질문들에 적절히 대답해 줍니다.


3.3 추가한 계정에 sudo 권한 부여

 이젠 SSH로 root 접속을 불가능하게 할 것입니다. 따라서, 추가한 계정에 sudo 권한을 부여해줍니다.

sudo usermod -G sudo awesometic


4. root 로그인 설정

4.1 root 패스워드 변경

 root 계정의 패스워드가 아직도 odroid입니다. 어렵게 바꿔줍시다.

sudo passwd


4.2 SSH로 root 로그인 방지

 SSH에 root로 로그인할 수 없도록 해주는 과정입니다.

sudo vi /etc/ssh/sshd_config

 내용 중 

 PermitRootLogin yes 를 찾아 yes를 no 로 바꿔 저장합니다.

 그리고 sshd 서비스를 재시작해줍니다.

sudo service sshd restart




 우분투 설치 및 기본 설정을 마쳤습니다.

 이제 개인 클라우드 서버를 위한 작업들을 진행하겠습니다.



출처 : http://awesometic.tistory.com/19?category=964086


Posted by 타카스 류지
|