Skip to main content

라즈베리파이3 OS 설치과정 – part2 (WordPress 블로그 용도)

라즈베리파이 공식홈페이지에서 배포하는 이미지를 이용하여 micro sd에 기록하고, 실제 라즈베리파이3 기기에 장착해 부팅 및 원격 접속하는 부분까지 진행했습니다.

이제 기기를 본격적으로 사용하기 위해 필요한 필수적인 세팅을 하겠습니다.

디스크 공간 확장이 필요한 이유

공식홈페이지에서 배포한 이미지는 이미 OS (여기서는 Debian)이 설치되어 있는 상태라고 말씀 드렸습니다. 컴퓨터에 윈도우를 설치해본 경험이 있으신 분이라면, 설치 과정중 어느 하드에 얼마큼의 용량을 나누어서 쓸 건지에 대한 부분을 묻는 창을 기억하실지 모르겠습니다. 하나의 하드디스크 밖에 없는데 윈도우에서는 C드라이브, D드라이브 처럼 여러개로 보인다면, 설치 시에 용량을 나누어서 다른 용도로 쓰도록 구성한 것입니다.

하지만 여기서 micro sd에 기록한 이미지는 이미 설치가 완료된 상태였으니 용량 구성 자체도 이미 끝난 상태입니다. 실제로 이 부분을 확인하고자 하신다면 ssh 프로그램인 putty.exe를 실행하여 라즈베리파이에 접속한 후 아래의 명령어를 입력하세요. 접속시 아이디와 패스워드는 각각 pi / raspberry 입니다.

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 28G 3.7G 23G 15% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 6.5M 481M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mmcblk0p1 60M 20M 41M 34% /boot

df -h 라는 명령어를 입력하고 엔터키를 입력하면 볼 수 있는 화면입니다. 여기서 주목할 것은 2번째 줄에 있는 “/dev/root 28G 3.7G 23G 15% /” 부분입니다. 총 용량이 28GB 중 3.7GB를 사용하고 남은 여유공간이 23GB라는 의미입니다. 아마 이걸 따라하시는 분은 이렇게 나오지 않고 총 용량이 2GB로 표시될 것입니다. 왜 그럴까요? micro sd에 기록한 이미지를 만들 당시 총 용량을 2GB로 설정하여 설치작업을 완료했기 때문입니다. 그렇기 때문에 실제 micro sd 카드의 용량이 2GB보다 큼에도 불구하고 2GB로 인식하는 것1입니다.

이미지 내부에는 라즈베리파이를 쉽게 설정하기 위해 만들어 놓은 스크립트가 내장되어 있습니다. 이 스크립트 중 micro sd카드 총 용량을 전부 사용할 수 있도록 확장해주는 스크립트도 포함되어 있어 몇 번의 입력 만으로 간단하게 확장이 가능합니다. 현재 제가 사용하는 micro sd 카드도 확장이 완료된 상태입니다.

디스크 확장하기 전 알아야 할 사항

윈도우도 마찬가지지만 라즈베리파이의 기본 OS인 리눅스도 시스템에 설치되어 있는 메모리의 한계를 넘어서는 프로그램의 구동시 일부를 파일에 저장하여 메모리를 유동적으로 관리합니다. 라즈베리파이3에는 1GB의 메모리가 내장되어 있고 설치한 이미지에는 512MB의 스왑 파티션이 구성되어 있어 총 1.5GB 정도의 메모리 사용이 가능합니다.

하지만 좀 더 무거운 프로그램을 구동한다면 미리 구성된 스왑 파티션을 확장하는 것이 바람직합니다. 이 부분은 뒤에 설명할 기본 내장된 설정 스크립트로는 해결할 수 없는 부분이기도 합니다. 만일 라즈베리파이로 이런 작업을 하길 원하신다면 스왑 파티션을 확장하는 방법을 설명한 아래 포스트를 참고하시기 바랍니다.

라즈베리 파이(라즈비안) 파티션 확장&스왑 파티션 설정하기

보통 시스템 메모리와 스왑 파티션을 합쳐 2GB 정도면 무거운 프로그램도 어느정도는 구동이 가능하나 라즈베리파이의 시스템 자체가 일반 PC에 비해 저성능이므로 큰 기대를 하기는 어렵습니다.

sudo란 무엇인가?

윈도우에서 무슨 프로그램을 설치할 때나 실행할 때 마주하는 창이 있습니다. 바로 사용자 계정 컨트롤이라고 불리우는 관리자 권한을 요청하는 창입니다.

사용자 계정 컨트롤

무언가 시스템을 변경해야 하거나 그럴 가능성이 있는 프로그램은 관리자 권한을 획득하지 못하면 의도한대로 동작을 할 수 없습니다. 변경하거나 상태를 볼 권한이 없기 때문입니다.

리눅스도 예외는 아닙니다. 권한이 없는 파일이나 혹은 시스템의 설정을 변경하는 작업을 위해서는 관리자의 권한을 얻어야 합니다. 하지만 라즈베리파이에는 창을 띄울 수 없습니다. 커서만 깜박이고 있을 뿐이죠. 그래서 실행하고자 하는 명령어 앞에 sudo 라는 단어를 붙여주는 것으로 윈도우의 권한 요청 창에서 계속 혹은 예를 누른 효과를 얻을 수 있습니다. 관리자 권한을 얻는 것은 때론 매우 위험할 수 있으므로 계정의 패스워드를 요청합니다. 바로 로그인할 때 물어보는 그 패스워드와 동일합니다.

라즈베리파이 설정 명령어 raspi-config

이제 긴 설명을 마치고 본격적으로 라즈베리파이를 설정 하겠습니다. 명령어는 다음과 같습니다.

$ sudo raspi-config

명령어를 입력하면 아래와 같은 화면이 출력됩니다.
raspi-config

키보드의 아래 화살표를 누를 때마다 빨간 바탕의 줄이 아래로 이동합니다. 위 화살표를 누르면 위로 이동하고 Tab키를 누를 때마다 맨 아래 Select / Finish를 순차적으로 이동 후 원래 있던 1~0으로 이동합니다. 저런 화면이 뜨는 경우 기본적인 이동 방식은 동일하니 이 참에 몇 번 반복해 보시기 바랍니다.

커서(빨간 줄)를 1번에 두고 엔터키를 누르면 자동으로 총 용량이 확장되고 재부팅해야 적용된다는 메시지가 출력됩니다. 몇가지 더 설정해야 하니 확인으로 커서를 이동하고 엔터를 눌러 원래 화면으로 돌아옵니다.

2번째 메뉴 Change User Password를 선택합니다. pi 계정의 새로운 패스워드를 묻는 화면이 뜬다고 알려줍니다. 엔터키를 누르면 패스워드를 입력할 수 있게 되고 2번 반복하면 변경이 완료됩니다. 이제야 비로소 공개되어 찾으면 다 알수있던 pi 계정의 패스워드 raspberry를 잊을 수 있게 되었습니다. 따라서 변경한 패스워드는 잊지 않도록 주의하시기 바랍니다.

3번째 Boot Option은 4가지 선택 옵션을 제공합니다. 1번째는 콘솔 / 자동로그인 off인 현재 상태와 동일하고, 2번째는 콘솔 / 자동로그인 on으로 부팅시 pi 계정으로 자동로그인이 되지만 ssh로 접속하는 경우에는 해당사항이 없으며, hdmi 케이블을 연결해서 보면 pi 계정으로 자동 로그인이 된 것을 확인할 수 있습니다. 3~4번째는 콘솔이 아니고 윈도우처럼 부팅 후 창을 볼 수 있는 상태가 됩니다. 라즈베리파이를 작은 PC처럼 활용하기에 적합한 옵션입니다. 여기서는 웹서버로 활용하기에 1번 값을 기본으로 사용합니다.

4번은 부팅하고 네트워크를 연결할 것인지, 아니면 네트워크를 연결할 때까지 기다렸다가 부팅할 것인지 선택합니다. 둘 다 현재는 의미가 없으니 변경하지 않습니다.

5번은 기본 언어와 시간대를 선택할 수 있습니다. 선택 후 Change Timezon을 클릭하여 차례로 Asia 선택 Seoul 선택으로 진행합니다.

Change Timezone

나머지 부분은 뛰어넘고 9번 Advanced Options를 선택하고 3번 Memory Split을 선택합니다. GPU에 할당할 메모리의 크기를 설정할 수 있습니다. 웹서버로 사용할 경우 가장 작은 16MB를 설정하고 Desktop으로 활용하고자 할 경우 128MB 이상으로 설정하는 것이 유리합니다. 16MB로 설정 하겠습니다. 모두 완료 되었다면 처음 화면으로 돌아와 Finish를 선택하면 원래 콘솔화면으로 돌아옵니다.

디스크 용량 재조정을 위한 재부팅

디스크 용량을 확장할 때 재부팅해야 적용된다는 메시지를 읽었습니다. 이제 적용을 위해 재부팅을 해보겠습니다. 라즈베리파이에는 따로 전원 버튼이 존재하지 않습니다. 따라서 명령어를 통해 해결해야 합니다. 전원과 관련된 명령어는 다음과 같습니다.

# 전원 끄기
$ sudo shutdown -h now
# 재부팅
$ sudo shutdown -r now
# 재부팅 다른 명령
$ sudo reboot

디스크 용량 확인

재부팅 명령을 내리면 putty 프로그램에서 얼마 뒤 ssh 접속이 끊어졌다는 창이 출력됩니다. 얼마의 시간이 지난 후 상단 창 위에서 마우스 오른쪽 버튼을 누르면 뜨는 메뉴 중 Restart Session을 선택하면 재접속이 가능합니다. 잊지 마십시오. 유저명 pi의 패스워드는 더이상 raspberry가 아닙니다.

접속이 완료되면 아까 입력했던 명령을 재입력하여 용량이 증가하였는지 확인합니다.

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 28G 3.7G 23G 15% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 6.5M 481M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mmcblk0p1 60M 20M 41M 34% /boot

다음에는 무선랜 설정을 하겠습니다.


  1. 이미지 작업시 2GB로 설정한 이유는 배포의 용의성을 확보하기 위함입니다. 더 큰 용량으로 설정하면 배포하는 이미지의 크기(현재 이미지의 크기는 1.3GB)도 덩달아 증가하게 됩니다. 용량이 증가하면 할 수록 사용할 수 있는 micro sd 카드가 줄어들고 이미지를 다운로드 하기위해 걸리는 시간도 덩달아 증가하게 됩니다.