IT/Linux

RasberryPi 초기 세팅 사항 정리

nofence 2016. 11. 24. 14:37


라즈베리파이를 두번째로 구입하고 나서 초기 세팅을 해야하는데, 진작에 초기 세팅에 대한 항목과 그 프로세스에 대한 정리화 작업이 선행 되지 않아 이번에도 두서 없이 초기 세팅 작업을 진행할 수 밖에 없었다. 그래서 라즈베리파이를 구비하고 나서 실질적으로 운영하게 되었을 때 필요한 주요 초기 세팅 항목에 대해 정리하고자 한다.


1. SD카드 확장 인식 적용


처음에 구매했던 라즈베리파이와 달리 두번째로 구매한 라즈베리 파이는 자동으로 SD카드 확장 인식이 적용되어 있던 상태였다. 글쎄, 처음에 구매한 라즈베리파이에 적용한 OS는 Raspbian Jessie with PIXEL이었지만, 이번엔 Raspbian Jessie Lite를 적용해서 차이가 발생하는 건지 모르겠다만 어찌 되었거나 SD카드 확장 인식이 기본적으로 적용이 안 될 수도 있음에 대해 인지하고 있자.


관련 명령어는 rasp-config(Expand Filesystem 섹션 선택).


2. IP 주소 설정 및 무선랜(wlan0) 섹션 제거


서버로 운영하게 될 라즈베리파이인 만큼 IP주소는 고정으로 설정하고, wlan 섹션은 제거하거나 주석 처리하여 불필요한 데몬(wp_supplicant)이 활성화 되지 않게 한다.  관련 파일은 /etc/network/interface.


3. 패키지 리스트 업데이트 및 패키지 업데이트


당연한 얘기겠지만, 패키지 업데이트는 필수다. 관련 명령행은 apt-get update && apt-get -y upgrade


4. Time Zone 수정


라즈베리파이 자체가 영국에 위치하고 있는 라즈베리파이 재단에서 제작되었기 때문에 time zone도 영국 시간대에 맞춰 디폴트 세팅되어 있는 실정이다. time zone 을 Asia-Seoul 맞추어 재설정하자. 관련 명령행은 cp -f /usr/share/zoneinfo/Asia/Seoul /etc/localtime


6. Time 서버 동기화


time zone 세팅을 재설정 해 놓았어도, 시스템 시간은 현재 시간과 다르기 때문에 time 서버와의 동기화가 필수다. 관련 명령행은 rdate -s time.bora.net


7. 초기 세팅에 필요한 필수 애플리케이션 설치


필수 애플리케이션의 영역을 한정 지을 순 없겠지만, 적어도 초기 세팅에 있어 당장 필요한 애플리케이션은 vim, rdate, htop이 아닐까 생각해 본다. htop은 불필요 서비스 제거를 위해 참고해야 하는 애플리케이션으로꽤나 유용하다. 관련 명령행은 apt-get -y install vim rdate htop


8. 불필요 서비스 제거 및 부팅 시 자동 적재 비활성화


내가 생각하는 불필요한 서비스들 목록 및 관련 명령행은 다음과 같다.


- dhcpd -

systemctl stop dhcpcd

systemctl disable dhcpcd


 - ntp -

systemctl stop ntp

systemctl disable ntp


- bluetooth -

systemctl stop bluetooth

systemctl disable bluetooth


- avahi-daemon -  // 로컬 네트워크 환경에서 호스트를 탐색

systemctl stop avahi-daemon.socket  // 소켓 서비스부터 kill해야 해당 서비스가 중지 가능하다.

systemctl disable avahi-daemon


- hciuart -     // 블루투스 모뎀 구성 관련

systemctl stop hciuart.servie

systemctl disable hciuart.service



9. Vim 환경 설정 파일 세팅


vim을 유용하게 사용하기 위환경 설정 파일 옵션들은 다양하지만, 그중에 내가 가장 빈번하게 사용하는 옵션들로 손을 꼽자면 아래와 같다.


관련 파일 : ~/.vimrc


관련 옵션 :

set ic

set nu

set hlsearch

syntax off


8. ls 옵션 전역 aliasing


Debian 계열의 배포판은 RedHat 계열과 다르게 'ls -l'에 대한 alias인 ll출력에 대한 컬러화 기본적으로 적용 되어 있지 않으므로 해당 사항을 전역적으로 적용하자.


관련 파일 : /etc/profile


추가 적용 될 내용 :

alias ls='ls --color=auto'

alias ll='ls -l'


10. Cron table에 Time 서버 동기화 적용


Time 서버 동기화에 대한 작업을 하루 에 두번(자정, 정오)으로 나누어 적용하도록 하자.


명령행 : crontab -e

추가 적용 될 내용 : * 00,12 * * * /usr/bin/rdate -s time.bora.net


11. Runlevel 수정


OS를 Raspbian Jessie Lite로 지정했지만, runlevel이 5로 설정 되어 있음이 확인 되었다. 이 부분에 대해선 라즈베리파이 재단에서 교정 작업을 해야 하지 않나 싶다. Lite 버전으로 제작했음에도 불구하고 GUI 환경의 runlevel이 적용 되었다는 건 모순이지 않은가. 어찌 되었든 Runlevel 수정 관련해서는 별도의 포스트를 이미 구성하였으므로 해당 URL을 참고하자. 관련 URL : https://goo.gl/rY6QUx



12. Swap 영역 확장 : 파일 생성 및 부팅 시 자동 마운트 적용


swap 영역은 기본적으로 100MB로 되어 있기 때문에, 라즈베리파이의 메인 메모리 용량의 2배인 2GB로 swap 영역을 확장한다. 물론 요즘 시대에 swap 영역을 2배로 할 필요도 없지만, 어디까지나 일반적인 관행에 어긋나지 않는 선에서 swap 영역을 확장하도록 하자. swap 영역 확장 작업 관련해서는 별도의 포스트를 구성하였다. 관련 URL : https://goo.gl/h9aXTs