IOT 오픈소스 > 라즈베리파이
라즈베리파이 시스템 관리 (2)

 

제07강. 시스템 관리(2)

 

무선 이더넷카드 설정

무선 네트웍 어댑터는 기본으로 장착되어있지 않지만 USB WiFi 어댑터를 연결하여 사용할 수 있다.

주의: USBWiFi 어댑터는 전력을 많이 소모한다. 라즈베리파이의USB 포트에 직접 연결하기 보다는 유전원 USB 허브를 통해 연결할 것을 권한다.

우선 사용할 무선 액세스 포인트의 설정값들을 알아야 한다.

네트웍이름: SSID(Service SetIdentifier)

암호화 종류

패스워드

무선네트웍의 종류: USB 어댑터가 802.11a만 지원하고 AP802.11g만 지원하면 접속 불가

USB무선랜 어댑터를 시스템이 인식하기 위해서는 펌웨어가 필요하다. 가장 일반적인 무선랜 펌웨어는대부분의 배포판에 기본적으로 포함되어 있어 별도로 설치할 필요가 없지만 배포판 크기를 최소화하기 위해 배포판에 기본으로 포함되지 못한 펌웨어들도있다. 그럴 경우 수동으로 펌웨어를 설치해 주어야 한다.

USB무선랜 어댑터를 USB 포트에 연결한다. 정상적으로인식이 되는 경우 ifconfig명령을 이용해wlan0 인터페이스를확인할 수 있다.

그림 720 무선랜어댑터가 인식된 것을 확인

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

인식이 되지 않는 경우에는 링버퍼에출력되는 오류 메시지를 확인한다.

$ dmesg |grep ^usb      ß usb로 시작되는 행을 찾는다.

또는 그냥 usb가 포함된 행을 찾는다.

$ dmesg |grep usb

그림 721: 무선랜어댑터가 장착된 USB를 커널 링버퍼에서 검색

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

Manufacturer를찾아 어댑터에 장착되어 있는 칩셋 제조사를 확인한다.

주의: 결과를찾을 수 없으면 firmware, wlan 또는 wireless를검색해 본다. 그래도 찾지 못하면 lsusb 명령으로 모든 USB 장치를 찾아본다.

apt-cache명령으로 펌웨어 파일을 찾는다.

$apt-cache search ralink

apt-cache명령으로 찾을 수 없으면 다음 목록을 이용하여 유추해 본다.

atmel-firmware - Atmel AT76C50Xchipset

firmware-atheros - Atheroschipsets

firmware-brcm80211 - Broadcomchipsets

firmware-intelwimax - IntelWiMAX chipsets

firmware-ipw2x00 - Intel ProWireless adapters (2100, 2200, 2915 포함)

firmware-iwlwifi - 기타 Intel wireless adapters (3945, 4965, 5000 시리즈 포함)

firmware-ralink - Ralinkchipsets

firmware-realtek - Realtekchipsets

zd1211-firmware - ZyDAS 1211chipset

유선랜으로 인터넷에 연결되어 있으면다음 커맨드로 펌웨어를 설치

$ sudoapt-get install firmwarepackage

네트웍 연결이 없는 경우 다른 컴퓨터에서

구글 검색 창에 firmaware-realtek Debian wheezy 입력 검색

확장자가 .deb인 펌웨어 설치 파일을 받아 SD카드의 /home/pi에 복사

라즈베리파이에 SD카드를 넣고 부팅 후

$ cd ~

$ sudoapt-get install firmware-ralink_0.35_all.deb

펌웨어 설치 후 USB 무선랜 카드를 분리했다가 다시 연결한다.

주변의 무선랜 액세스 포인트를 검색한다.

$ sudoiwlist scan | less           ß 스크린 단위로 멈춘다.

그림 722:iwlist로 무선 네트웍을 검색

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

이 시점에서 네트웍 인터페이스가 다운되었다거나하는 등의 오류를 접하게 되면 올바른 펌웨어를 설치했는지 점검해보고 USB 무선랜 어댑터가 유전원 USB 허브에 연결되어 있는지를 확인한다.

iwconfig명령으로무선랜 네트웍 인터페이스 상태를 조회하거나 설정 가능하다.

iwconfig명령 출력에 보이는 항목들의 의미는 다음과 같다.

Interface Name - 각 네트웍 장치의이름. 무선 장치가 아니면 상세 정보가 표시되지 않는다. 라즈베리파이에서무선 연결의 기본 명칭은 wlan0 이다.

Standard - 무선랜 표준인 IEEE 802.11표준은 다양한 변형이 존재하며 뒤에 붙는 알파벳으로 구별된다. 이 곳에는 장착된 USB 무선랜 어댑터가 지원하는 표준의 목록이표시된다. 예시된 어댑터가 지원하는 표준은 IEEE 802.11bgn으로 3가지 표준을 지원한다.

ESSID – 어댑터가 연결된 네트웍의 SSID. 연결되지 않은 경우에는 off/any로 표시된다.

Mode – 어댑터가 동작중인 모드. 다음 목록 중의 하나.

Managed – 표준 무선 네트웍, 클라이언트들이 무선 액세스 포인트에 접속. 대부분의 사무실과 가정의환경이 여기에 해당.

Ad-Hoc - 장치 대 장치 무선 네트웍, 무선 액세스 포인트가 없음.

Monitor – 어댑터가 식별이 가능하든 하지않든 모든 트래픽에 귀를 기울이고 있는 특별한 모드. 주로 무선 네트웍 트래픽을 수집하는 네트웍 문제해결에 사용된다.

Repeater – 어댑터를 다른 네트웍 클라이언트에트래픽을 전달하는 신호 증폭기로 동작시킴

Secondary – Repeater 모드의하위 셋. 어댑터를 백업 리피터로 동작시킨다.

Access Point – 무선랜 어댑터가 연결되어있는 액세스 포인트의 주소. 무선랜 어댑터가 연결되어 있는 않은 경우Not-Associated로 표시된다.

Tx-Power – 무선랜 어댑터를 송신 강도. 숫자가 클수록 신호 강도가 세다.

Retry – 무선랜 어댑터의 재전송 횟수. 절충형 네트웍 프로토콜에 사용된다. 설정 값을 변경할 필요가 거의없으며 일부 어댑터는 아예 변경이 불가.

RTS – 혼잡한 네트웍에서 충돌을 방지하기위한 RTS(Ready To Send)/CTS(Clear To Send) 핸드쉐이킹을 위한 어댑터의현재 설정 값. 이 값은 보통 액세스 포인트 연결 시 액세스 포인트에 의해 설정된다.

Fragment – 혼잡한 네트웍에서 패킷을다수의 조각으로 나눌 때의 최대 조각 수. 이 값은 보통 액세스 포인트 연결 시 액세스 포인트에 의해설정된다.

Power Management – 어댑터가 놀고있을 때 소비 전력 절감을 위한 어댑터의 전력 관리 기능의 현재 상태. 배터리로 구동되는 랩톱에서 주로활성화되며 라즈베리파이에는 거의 무효하다.

그림 723무선 네트웍에 연결되지 않은 상태에서의 iwconfig 출력

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

라즈베리파이를 무선 네트웍에 연결하려면 /etc/network/interfaces파일에 무선랜 설정 추가 필요

$sudo nano /etc/network/interfaces

유선랜 설정 밑에 다음 내용을 추가 (기본으로 추가되어 있으면 그대로 둔다)

autowlan0

allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wap_supplicant.conf

ifacedefault inet dhcp

저장 후 빠져 나온다.

그림 724 무선네트웍 액세스를 위한 interfaces 파일 수정

 

wpa-roam으로시작하는 행에서 참조하고 있는 /etc/wpa_supplicant/wpa_supplicant.conf파일은 WPA(Wireless Protected Access) 암호화를 사용하는 네트웍에 쉽게 접속할 수 있도록 고안된 wpasupplicant에 의해 이용된다.

이름과 달리 wpasupplicant 유틸리티는 WPA는 물론 WPA2, AES(Advanced Encryption Standard), TKIP(Temporal KeyIntegrity Protocol), 비교적 오래된 암호화 방식인 WEP(WiredEquivalent Privacy) 등 거의 모든 무선 네트웍에 사용할 수 있다.

wpa_supplicant.conf파일을열어 맨 밑에 다음 내용을 추가한다.

$ cd /etc/wpa_supplicant

$ sudonano wpa_supplicant.conf

network={

      ssid=”Your_SSID”         

암호화를 사용하지 않는 경우

      key_mgmt=NONE    

}

WEP암호화를 사용하는 경우

      key_mgmt=NONE

      wep_key0=”Your_WEP_Key”

}

주의: WEP 암호화는그다지 안전하지 못하다. 손쉽게 입수할 수 있는 소프트웨어를 써서 몇 분이면 암호를 깰 수 있다. WPA 또는 WPA2 암호화를 사용할 것을 권한다.

WPA/WPA2암호화를 사용하는 경우

      key_mgmt=WPA-PSK

      psk=”Your_WPA_Key”

}

그림 725 WPA 암호화된네트웍을 위한 wpa_supplicant.conf 파일 편집

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

이제 라즈베리파이를 재부팅하면 무선네트웍이 기동될 것이다. 재부팅하지 않고 무선네트웍만 활성화 하려면 다음과 같이 한다.

$ sudoifup wlan0

무선랜이 동작하는 것을 확인하려면, 유선랜 케이블이 연결되어 있는 경우 랜 케이블을 빼고 다음과 같이 입력 해 본다.

$ ping –c1 www.raspberrypi.org

그림 726 무선랜연결 확인

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

ifconfig명령을이용하여 무선랜카드의 IP부여 여부를 확인해볼 수 있다.

그림 727 무선랜카드의 IP 부여 여부 확인 

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

주의: 무선랜설치가 완료된 후에 다시 문제가 발생하는 경우 다른 USB 장치와의 호환성 문제일 가능성도 있다. 일부 무선랜 어댑터들은 특정 USB키보드들과 호환성에 문제가 있음이알려져 있다. 문제가 없는 어댑터 목록: http://www.element14.com/community/docs/DOC-44703/l/raspberry-pi-wifi-adapter-testing 및 문제가 있는 어댑터 목록: http://elinux.org/RPi_VerifiedPeripherals#Working_USB_Wifi_Adapters 을 참조할 것.

 

파티션 관리

SD카드에 운영체제 이미지가 담겨서 제공된 라즈베리파이를 사용하는것은 매우 편리하다. 하지만 다소 유연성이 떨어진다. 대부분의배포 이미지는 2GB 또는 4GB면 충분하다. , 8GB 이상의 SD 카드를가진 사용자는 대부분의 나머지 공간을 낭비하게 되는 것이다.

새 파티션 작성

SD카드의 뒷부분에 남아 있는 빈 공간을 활용하는 방법 한 가지는그 곳에 새로운 파티션을 만드는 것이다.

모든 작업을 SD카드를 PC에옮겨 꽂을 필요 없이 라즈베리파이에서 직접 할 수 있다.

주의: 디스크의 파티션을 수정하는 도구들을 사용할 때에는 기존에 존재하는 파티션들을지우지 않도록 주의해야 한다. 특히 /boot 또는 루트파일 시스템을 지우지 않도록 주의한다. 지울 경우 부팅이 불가능해질 수 있다.

SD카드에 새 파티션을 만드는 것은 다음과 같은 순서로 작업한다.

터미널 창에서 다음을 입력
$ sudo fdisk –l
라즈베리파이에 연결된 저장장치와 그 안의 파티션 목록이 표시된다. SD 카드는 /dev/mmcblk0로 표시되고 파티션들은 p0, p1으로 번호가매겨져 표시된다.

메뉴 기반 파티션 관리 도구인 cfdisk를실행
$ sudo cfdisk /dev/mmcblk0
타겟 장치로 SD카드를 지정하였다. 만약 USB 저장 장치를 사용하려고 하는 경우에는 장치명을 해당 장치로 지정하면 된다. (예를 들면 sda)

상하 커서 키로 반전 막대를 움직여 맨 아래의 FreeSpace 행을 선택한다.

좌우 커서 키로 화면 하단의 [New]를 선택하고 Enter 키를 입력한다.

그림 728 cfdisk를 이용하여 새 파티션 만들기

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

Primary 파티션인지 Logical 파티션인지를 묻는다. 기본값은 Primary 파티션이다. Enter키를 누른다.

파티션 크기를 몇 메가바이트(MB)로 할 것인지묻는다. 기본은 남은 여유 공간을 모두 차지하는 크기로 만드는 것이다.Enter 키를 누른다.

좌우 커서키를 움직여 [Write] 옵션을 선택하고 Enter 키를 누르면 파티션 테이블이 SD카드에 기록된다.

변경 사항이 맞는지 재차 확인한다. 맞는지 확인후 yes를 입력하고 Enter 키를 친다.

좌우 커서키를 움직여 [Quit] 옵션을 선택하고 Enter 키를 쳐 cfdisk를 빠져 나온다.

SD카드에 새로운 파티션이 만들어 졌지만 재부팅할 때까지는 운영체제에인식되지 않는다. 인식시키는 가장 쉬운 방법은 재부팅을 하는 것이다.

$ sudo reboot

재부팅 후 다시 로그인 하고 fdisk 명령으로 새로 생긴 파티션을확인해 볼 수 있다.

$ sudo fdisk –l

새 파티션을 사용하기 위해서는 포맷팅을 통해 파일 시스템을 만들어 주어야 한다.

그림 729 파일 시스템 만들기 

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

mkfs.ext4는 리눅스의 기본 파일시스템 타입인 ext4타입을 파일 시스템을 만드는 명령이다.

새로운 파티션 명칭은 mmcblk0p3이기 쉽지만 위의 fdisk –l 명령으로 확인한 후 지정한다.

mkfs명령은 파티션상의 모든 데이터를 삭제하므로 주의하여 실행한다.

새로운 파일 시스템을 기존 사용중인 파일시스템상의 어느 한 지점에 마운트(연결)되어야 한다. 다음과 같이 빈 디렉터리를 만들고 마운트 한다.

그림 730 마운트하기 

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

chown 명령을 사용하면 디렉터리의 소유자를 다른 사용자로 바꿀 수있다

$ sudo chown –R <userid> <directory>

chgrp 명령을 사용하면 그룹에 속한 모든 사용자가 디렉터리를 액세스할 수 있다.

$ sudo chgrp –R users /storage

chmod 명령을 사용하면 그룹에 속한 모든 사용자가 디렉터리에 쓰기권한을 가지도록 할 수 있다.

$ sduo chmod –R g+w /storage

그림 731 모든 사용자에게 쓰기 권한 부여

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

마운트 된 파티션은 라즈베리파이가 재부팅 되면 다시 언마운트(연결해제)된다. 부팅 때 마다 자동으로 마운트 되도록 하기 위해서는 /etc/fstab 파일에 다음과 같은 형식으로 마운트 할 파티션을 지정해 주어야 된다.

/dev/mmcblk0p3            /storage            ext4      defaults            0         2        

여기에서 0 dump 명령어가실행되었을 때 덤프 필요 여부를 지정한다. 0는 필요 없음을 의미한다.2 fsck 명령어가 실행되었을 때 체크되는 순서를 지정한다. 루트 파일 시스템은 반드시 1로 지정되어야 하고 나머지는 병렬 처리될수 있도록 2를 지정한다.

그림 732: 새 파티션 자동 마운트를 위한 fstab파일 편집

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육

재부팅 후 mount 명령 또는df –l 명령으로 마운팅 여부를 확인 할 수 있다.

그림 733 마운트 여부 확인

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

사용 중인 SD카드의 용량이 4GB 이하인경우에는 별도의 파티션을 만들어 마운트 하기 보다는 루트 파티션을 늘려서 사용하는 것이 편리하다. 마운트되어 있는 파티션을 umount 명령을 사용하여 마운트 해제하고/etc/fstab 파일에 추가한 내용을 삭제한 후 cfdisk 명령을 이용하여 추가한파티션을 삭제한다. 재 부팅 후 raspi-config 명령을사용하면 쉽게 루트 파티션을 확장할 수 있다.

 

파티션 크기 변경

SD카드의 빈 공간을 이용하는 더 좋은 방법은 기존 파티션의 크기를변경하는 방법이다. 이 방법을 안전하게 하려면 라즈베리파이에서 SD카드를꺼내어 PC에 연결하고 해야 된다.

자동 크기 변경

라즈베리파이를 위한 데비안 리눅스 배포 이미지에는 raspi-config라고하는 유틸리티가 포함되어 있다. 이 유틸리티는 처음 부팅되었을 때 자동으로 실행되는데 콘솔 또는 터미널창에서 sudo raspi-config 라고 치면 언제든지 실행 할 수 있다. 이 도구는 여러 가지 설정작업을 할 수 있도록 하는 기능이 제공되는데 SD카드의남은 공간을 모두 루트 파일 시스템이 사용하도록 자동으로 확장할 수 있는 기능을 제공한다.

주의: raspi-config를 사용하여 자동 루트 파일 시스템을확장하는 기능은 간혹 데이터를 망가뜨릴 위험이 있다. 중요한 데이터가 있는 경우에는 반드시 백업을 하고, 되도록이면 이 장의 뒤에서 소개하는 수작업에 의한 방법을 사용하도록 한다.

터미널 창 또는 콘솔 창에서

$ sudo raspi-config

상하 커서키로 expand_rootfs를 선택하고 Enter 입력

그림 734: raspi-config 도구의 메뉴화면

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

파티션 크기 변경 작업이 수 초간 진행된 후 라즈베리파이 재부팅 후 작업이 완결된다는 메시지가 나오면 Enter 키를 입력한다.

탭 키를 두 번 쳐서 <Finish>를 선택하고 Enter키를 입력하여 빠져 나온다.

재부팅 한다.

$ sudo reboot

파티션 크기 변경작업 완료 후 재부팅이 완료된다.

변경된 파티션 크기를 확인한다. 콘솔 또는 터미널 창에서

$ df –h            ß -h 옵션은 human friendly 의미

그림 735 df 명령으로 확인

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

수작업으로 파티션 크기 변경

가장 안정적인 방법은 PC에서 부팅 가능한 무료 CD Parted Magic 을 사용하는 방법이다. PC와 맥에서 모두 동작하며 온전히 메모리 상에서 동작한다. 또한데비안 종속적인 raspi-config 도구와는 달리 모든 라즈베리파이 배포판에 적용이 가능하다.

: 리눅스 사용자는 CD를사용하여 부팅하는 대신 Parted Magic에 사용되는 그래픽 파티셔닝 도구인 gparted를 설치하여 사용할 수 있다.

$ sudo apt-get install gparted

$ sudo gparted

PC에서 Parted MagicISO 이미지를 다운로드한다:

http://partedmagic.com

CD 버닝 프로그램을 이용하여 빈CD에 기록한다.

구워진 CD를 드라이브에 넣은 상태에서 PC를 리부팅하면 Parted Magic 메뉴 시스템이 로드 되고 Standard Settings를 선택한다.

Parted Magic은 커스터마이즈된 리눅스 운영체제로써 저장장치관리를 위해 고안된 것이다. SD카드를 컴퓨터에 넣고 바탕화면의Partition Editor 아이콘을 더블 클릭하여 실행한다.

그림 736: Parted Magic 데스크톱 화면

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

Partition Editor는 기본적으로 시스템의 첫 번째 드라이브(주로 하드드라이브)를 찾는다. 오른쪽위에 있는 장치 선택 버튼을 클릭하여 SD 카드를 선택(주로 /dev/sdb) 한다.

그림 737: Parted Magic의 파티션 편집도구 화면

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육 

주의: 파티션을 옮기거나 크기를 변경하는 작업은 매우 위험한 작업이다. 작업 도중 SD카드가 제거되거나 전원이 꺼지면 카드의 데이터가 깨질수 있다. 파티션을 수정하기 전에 중요한 데이터는 반드시 백업을 해두어야 한다.

배포판에 따라 작업할 정확한 파티션을 선택한다. 데비안의 경우, 두 번째 파티션의 크기를 변경하고자 할 것이다(일반적으로 sdb2). 파티션 에디터가 로드된 상태에서 다음 순서로 작업한다.

어떤 리눅스 배포판들은 이미지의 맨 마지막 부분에 스왑 파티션을 가지고 있다파티션 에디터에서는 linux-swap 타입의 작은 파티션으로 표시된다. 스왑 파티션이없으면 5번으로 건너뛴다.

목록의 마지막에 있는 스왑 파티션을 클릭한 후 도구 막대에서 Resize/Move를 선택한다.

대화상자가 표시되면 왼쪽 위의 박스를 선택하여 오른쪽 위 끝으로 끌어다 놓는다. Free Space Flowing 상자에는 있는 값이 0이 된다.

오른쪽 아래 단의 Resize/Move 버튼을클릭한다. 변경된 새로운 파티션 테이블은 부팅에 지장을 초래할 수 도 있다는 경고메시지가 나오지만 무시해도된다. 부팅 파티션에 손을 댄 것이 아니기 때문이다. 그냥 OK를 클릭한다.

목록에서 가장 큰 파티션을 클릭한다. sdb2라고되어 있는 파티션이다. 도구 모음에 Resize/Move를다시 클릭한다.

이번에는 파티션의 오른쪽에 있는 화살표를 클릭하여 맨 오른쪽까지 끌고 간다. 이렇게 하면 파티션의 크기를 최대로 늘리게 된다.

Resize/Move 버튼을 클릭한다. 경고 박스가 나타나면 OK를 클릭한다.

도구 막대에서 Apply를 클릭한다. 경고박스가 나타나면 다시 한번 Apply 클릭. SD카드의 속도에 따라 파티션 크기 변경 작업에 수 분이 소요된다.

작업이 완료되면 PC를 꺼도 되고 SD카드를 꺼내어 다시 라즈베리파이에 넣는다.

이제 파티션 에디터를 이용하여 대부분의 리눅스 배포판에서 시스템 파일들과 사용자 데이터를 모두 담는데 사용되는 SD카드의 주 파티션을 최대로 활용할 수 있게 되었다.

더 큰 SD카드로 옮기기

라즈베리파이를 어느 정도 사용했다면 처음에는 충분하리라 여겼던 4GB SD카드가꽉 차가고 있을 것이다. 8GB 16GB 또는 더 큰 SD카드도 충분히 싼 가격에 구입할 수 있다. 하지만 사용하던 파일들을잃고 싶지는 않을 것이다.

SD카드에 있는 컨텐츠를 새로운SD카드로 옮기는 작업은 아주 간단하다. 작업의 뒤쪽 반은 라즈베리파이 만나보기장에서 이미 경험했던 SD카드에 리눅스 배포판 이미지를 굽는 것과 동일하다. 나머지 다른점은 사용하던 SD카드의 컨텐츠를 이미지 파일로 복제하는 작업이다.

더 큰 SD카드로 옮겨가는 과정의 첫 번째 작업은 기존 카드의 이미지를추출하는 것이다. 두 개의 SD카드를 동시에 사용할 수 있는카드리더기를 가지고 있다면 후 반 작업에서 데이터 소스 부분에 이미지 파일 대신 사용하던 SD카드를지정하면 된다.

주의: SD카드를 복제하는 작업은 기존의 카드의 내용을 훼손하지는 않는다. 3자에게 사용하던 SD카드를건네줄 경우에는 모든 데이터를 삭제할 필요가 있다. SD카드에서는이 장 앞에서 살펴본 것처럼 파티션 크기를 변경할 필요가 있다.

 

윈도우 상에서 이미지 추출

라즈베리파이 만나보기장에서사용했던 Win32DiskImager 유틸리티를 사용하거나Parted Magic CD에서 제공하는 dd 유틸리티를 사용한다. dd를 사용하는 방법은 다음과 같다.

Parted Magic CD PC에 넣고 재부팅 한다. Standard Settings를 선택한다.

바탕화면의 세 번째에 있는 모니터 모양으로 생긴 아이콘을 더블 클릭하여 터미널 창을 실행한다.

하드디스크와 SD카드 장치 이름을 확인한다.
$ fdisk –l
하드디스크는 /dev/sdXN, SD카드는/dev/mmcblkX 형태로 나타난다. 하드디스크는 크기로 유추한다.

하드디스크를 마운트 한다.
$ mkdir /media/harddrive
$ mount /dev/sdXN /media/harddrive –o=rw

사용하던 SD카드를 카드리더기에 넣고 다음 명령으로디바이스 노드를 확인한다.
$ fdisk –l
/dev/mmcblkX
또는 /dev/sdY 형태로 나타난다.

SD카드의 모든 데이터를 이미지 파일로 추출하여저장한다.
$ dd of=/media/harddrive/temporaryimage.img if=/dev/sdY bs=2M

그림 738: Parted Magic terminal 아이콘

라즈베리파이, raspberry pi, 라즈베리파이 실습, 라즈베리파이 예제, 라즈베리파이 교육

이제 사용하던 SD카드의 이미지 파일을 만들었다. 다음은 라즈베리파이 만나보기에서했던 것처럼 이미지를 새 SD카드에 써 주면 된다.

 

작업이 완료되면 원래 카드와 새 카드가 동일한 내용을 가지게 된다. 그의미는 원래 카드가 2GB이면 새 카드가 16GB 카드이더라도라즈베리파이는 2GB까지만 접근할 수 있다는 뜻이다. 나머지용량을 모두 사용하기 위해서는 이 장의 앞부분에서 했던 것처럼 파티션 크기 변경 작업을 해 줄 필요가 있다.

 

이전글
라즈베리파이 시스템 관리 (1) 2014/07/12
리눅스에 발 들여 놓기 2014/07/12
다음글
아두이노 보드 2015/06/18
라즈베리파이 3 라즈비안 설치 (1) 2016/12/09