라즈베리 파이 에서 라즈비안(Raspbian)이 아닌 우분투를 설치하여 네트워크 설정, 시간대 설정, 시스템 업데이트를 하는 방법 정리
- 제가 사용하는 Raspberry Pi 4 에 맞춰 작성했습니다.
아래 방법으로 진행하여도 Wi-Fi 연결이 되지 않는다면 아래 글을 참조하세요.
2020/03/23 - [컴퓨터/Embedded] - Raspberry Pi, Ubuntu 환경에서 Wi-Fi 연결이 되지 않는 경우
1. 우분투 이미지 다운받기 및 라즈베리 파이 부팅하기
1-1. https://ubuntu.com/download/raspberry-pi 에 접속하기
1-2. Raspberry Pi용 LTS 버전 선택하기 (2020-03-23 현재 18.04.4 LTS)
- 자신의 Raspberry pi에 맞는 OS를 선택합니다.
- 저는 Raspberry Pi 4이므로 아래와 같이 선택했습니다.
1-3. 다운로드 후 바이너리 기록이 가능한 소프트웨어(Win32DiskImager, Balena Etcher 등)를 사용하여 MicroSD에 우분투 이미지를 기록하기
- Balena etcher: https://www.balena.io/etcher/
1-4. Raspberry Pi에 MicroSD카드를 삽입하고 전원 케이블을 꽂아 부팅하기
1-5. 기본계정 설정하기 (기본 아이디 비밀번호: ubuntu/ubuntu)
- 처음 ubuntu/ubuntu를 입력하여 로그인 시, 비밀번호를 변경해야 함.
2. 네트워크 설정 (Wi-Fi 및 이더넷)하기
2-1. Root로 사용자 전환하기
ubuntu@ubuntu:~$ sudo su
2-2. /etc/netplan으로 이동 및 설정파일 확인하기 (*.yaml 파일 확인)
root@ubuntu:/home/ubuntu# cd /etc/netplan/
root@ubuntu:/etc/netplan# ls -l
total 4
-rw-r--r-- 1 root root 593 Mar 23 07:51 50-cloud-init.yaml
2-3-1. 확인된 yaml파일 편집하기 (50-cloud-init.yaml)
root@ubuntu:/etc/netplan# vim 50-cloud-init.yaml
2-3-2. yaml파일 생성하기 (10-network-init.yaml)
- 2-3-1 단계에서 yaml파일이 존재하지 않는 경우 수행
root@ubuntu:/etc/netplan# vim 10-network-init.yaml
2-4. 이더넷 및 Wi-Fi 설정하기
- (가장 첫줄 및 마지막 줄의 ...은 아래 설정 내용의 앞뒤에 어떤 내용이 있을 수 있다는 의미)
- (만약 아래와 동일한 설정항목이 존재할 경우, 아래 항목을 사용)
- 띄어쓰기를 꼭 지켜야 함. (탭 키를 누르는 것이 아니라 스페이스 4칸 사용)
- wlan0의 access-point의 하위에 "SSID"에는 와이파이 이름 (예시: KT-WiFi), "PASSWORD"에는 와이파이 비밀번호 입력
...
network:
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID":
password: "PASSWORD"
version: 2
...
2-5. 설정 한 yaml파일을 적용하기
root@ubuntu:/etc/netplan# netplan generate
root@ubuntu:/etc/netplan# netplan apply
2-6. 설정이 잘 적용되었는지 확인하기 (인터넷에 연결되어있는지 확인하기)
root@ubuntu:/etc/netplan# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.36 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::dea6:32ff:fe70:f9dc prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:70:f9:dc txqueuelen 1000 (Ethernet)
RX packets 966 bytes 337442 (337.4 KB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 509 bytes 62686 (62.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 116 bytes 8988 (8.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 116 bytes 8988 (8.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether dc:a6:32:70:f9:dd txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@ubuntu:/etc/netplan#
3. 시간대 (Timezone) 변경하기
- 라즈베리 파이에 설치된 Ubuntu의 기본 시간대는 UTC+0 입니다.
- 우리나라 시간대는 Korea Standard Time (KST)로 UTC+9 입니다.
- 시간대를 알맞게 설정하지 않은 경우, 부팅 로그나 커널 로그 및 기타 로그를 확인할 때 번거로움이 생깁니다.
3-1. dpkg-reconfigure tzdata 명령어 실행 (root 권한)
ubuntu@ubuntu:~$ sudo dpkg-reconfigure tzdata
3-2. 키보드 화살표 키로 Asia를 선택한 후 엔터를 입력합니다.
3-3. Seoul을 찾아서 엔터를 입력합니다.
- 키보드 화살표 키로 찾는 방법도 있지만, 편리하게 s를 입력하면 S로 시작하는 가장 첫번째 도시가 선택됩니다.
- 이후 Seoul을 찾으면 됩니다.
3-4. 변경된 시간을 확인합니다.
ubuntu@ubuntu:~$ sudo dpkg-reconfigure tzdata
Current default time zone: 'Asia/Seoul'
Local time is now: Thu Mar 26 16:02:27 KST 2020.
Universal Time is now: Thu Mar 26 07:02:27 UTC 2020.
ubuntu@ubuntu:~$
4. 리눅스 시스템 및 사용자 패키지 업데이트
- Windows에는 Windows Update가 있는것 처럼 Ubuntu에는 apt가 존재합니다.
- Windows는 주기적으로 업데이트를 확인하지만, 리눅스는 사용자가 직접 확인을 하고 설치를 해야합니다.
- 업데이트는 리눅스 커널 업데이트, 하드웨어 펌웨어 등의 성능 향상, 기능 추가, 버그 수정, 보안 향상 등이 있으므로 자주 해주는 것이 좋습니다.
4-1. apt update 명령어 실행 (root 권한)
- apt는 로컬(라즈베리 파이)에 카탈로그(시스템 패키지, 펌웨어, 사용자 패키지)를 캐싱해서 사용합니다.
- apt update는 로컬 카탈로그를 최신으로 업데이트 하는 명령어입니다. (실제 패키지 업데이트는 이루어지지 않음)
ubuntu@ubuntu:~$ sudo apt update
Hit:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [74.6 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88.7 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages [641 kB]
Get:6 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main Translation-en [309 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted Translation-en [9208 B]
Get:8 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 Packages [946 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe Translation-en [328 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse Translation-en [4664 B]
Get:11 http://ports.ubuntu.com/ubuntu-ports bionic-backports/main arm64 Packages [2512 B]
Get:12 http://ports.ubuntu.com/ubuntu-ports bionic-backports/main Translation-en [1644 B]
Get:13 http://ports.ubuntu.com/ubuntu-ports bionic-backports/universe arm64 Packages [4012 B]
Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-backports/universe Translation-en [1900 B]
Get:15 http://ports.ubuntu.com/ubuntu-ports bionic-security/main arm64 Packages [436 kB]
Get:16 http://ports.ubuntu.com/ubuntu-ports bionic-security/main Translation-en [216 kB]
Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-security/restricted Translation-en [7260 B]
Get:18 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe arm64 Packages [580 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe Translation-en [216 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse Translation-en [2732 B]
Fetched 3958 kB in 5s (867 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
47 packages can be upgraded. Run 'apt list --upgradable' to see them.
ubuntu@ubuntu:~$
4-2. apt list --upgradable을 입력하여 업데이트 될 패키지 확인하기 (옵션)
- 이 부분은 옵션이며 건너뛰어도 됩니다.
- 어떤 패키지가 업데이트 되는지 확인할 수 있습니다.
ubuntu@ubuntu:~$ sudo apt list --upgradable
Listing... Done
apport/bionic-updates,bionic-security 2.20.9-0ubuntu7.12 all [upgradable from: 2.20.9-0ubuntu7.9]
bsdutils/bionic-updates 1:2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 1:2.31.1-0.4ubuntu3.5]
dmidecode/bionic-updates 3.1-1ubuntu0.1 arm64 [upgradable from: 3.1-1]
fdisk/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
gcc-8-base/bionic-updates,bionic-security 8.3.0-26ubuntu1~18.04 arm64 [upgradable from: 8.3.0-6ubuntu1~18.04.1]
landscape-common/bionic-updates 18.01-0ubuntu3.5 arm64 [upgradable from: 18.01-0ubuntu3.4]
libblkid1/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
libdrm-common/bionic-updates,bionic-security 2.4.99-1ubuntu1~18.04.2 all [upgradable from: 2.4.99-1ubuntu1~18.04.1]
libdrm2/bionic-updates,bionic-security 2.4.99-1ubuntu1~18.04.2 arm64 [upgradable from: 2.4.99-1ubuntu1~18.04.1]
libfdisk1/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
libgcc1/bionic-updates,bionic-security 1:8.3.0-26ubuntu1~18.04 arm64 [upgradable from: 1:8.3.0-6ubuntu1~18.04.1]
libglib2.0-0/bionic-updates,bionic-security 2.56.4-0ubuntu0.18.04.6 arm64 [upgradable from: 2.56.4-0ubuntu0.18.04.4]
libglib2.0-data/bionic-updates,bionic-security 2.56.4-0ubuntu0.18.04.6 all [upgradable from: 2.56.4-0ubuntu0.18.04.4]
libicu60/bionic-updates,bionic-security 60.2-3ubuntu3.1 arm64 [upgradable from: 60.2-3ubuntu3]
libmount1/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
libnss-systemd/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
libpam-systemd/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
libsmartcols1/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
libsqlite3-0/bionic-updates,bionic-security 3.22.0-1ubuntu0.3 arm64 [upgradable from: 3.22.0-1ubuntu0.2]
libstdc++6/bionic-updates,bionic-security 8.3.0-26ubuntu1~18.04 arm64 [upgradable from: 8.3.0-6ubuntu1~18.04.1]
libsystemd0/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
libudev1/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
libuuid1/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
libxml2/bionic-updates,bionic-security 2.9.4+dfsg1-6.1ubuntu1.3 arm64 [upgradable from: 2.9.4+dfsg1-6.1ubuntu1.2]
linux-base/bionic-updates,bionic-security 4.5ubuntu1.1 all [upgradable from: 4.5ubuntu1]
linux-firmware/bionic-updates 1.173.16 all [upgradable from: 1.173.14]
linux-headers-raspi2-hwe-18.04/bionic-updates,bionic-security 5.3.0.1019.8 arm64 [upgradable from: 5.3.0.1017.6]
linux-image-raspi2-hwe-18.04/bionic-updates,bionic-security 5.3.0.1019.8 arm64 [upgradable from: 5.3.0.1017.6]
linux-raspi2-hwe-18.04/bionic-updates,bionic-security 5.3.0.1019.8 arm64 [upgradable from: 5.3.0.1017.6]
mount/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
python3-apport/bionic-updates,bionic-security 2.20.9-0ubuntu7.12 all [upgradable from: 2.20.9-0ubuntu7.9]
python3-problem-report/bionic-updates,bionic-security 2.20.9-0ubuntu7.12 all [upgradable from: 2.20.9-0ubuntu7.9]
python3-twisted/bionic-updates,bionic-security 17.9.0-2ubuntu0.1 all [upgradable from: 17.9.0-2]
python3-twisted-bin/bionic-updates,bionic-security 17.9.0-2ubuntu0.1 arm64 [upgradable from: 17.9.0-2]
rsync/bionic-updates,bionic-security 3.1.2-2.1ubuntu1.1 arm64 [upgradable from: 3.1.2-2.1ubuntu1]
sosreport/bionic-updates 3.9-1ubuntu0.18.04.1 arm64 [upgradable from: 3.6-1ubuntu0.18.04.4]
systemd/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
systemd-sysv/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
udev/bionic-updates 237-3ubuntu10.39 arm64 [upgradable from: 237-3ubuntu10.33]
unattended-upgrades/bionic-updates 1.1ubuntu1.18.04.14 all [upgradable from: 1.1ubuntu1.18.04.13]
util-linux/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
uuid-runtime/bionic-updates 2.31.1-0.4ubuntu3.6 arm64 [upgradable from: 2.31.1-0.4ubuntu3.5]
vim/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.3 arm64 [upgradable from: 2:8.0.1453-1ubuntu1.1]
vim-common/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.3 all [upgradable from: 2:8.0.1453-1ubuntu1.1]
vim-runtime/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.3 all [upgradable from: 2:8.0.1453-1ubuntu1.1]
vim-tiny/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.3 arm64 [upgradable from: 2:8.0.1453-1ubuntu1.1]
xxd/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.3 arm64 [upgradable from: 2:8.0.1453-1ubuntu1.1]
ubuntu@ubuntu:~$
4-3-1. apt upgrade를 입력하여 실제 패키지 업데이트 수행
- 4-2에서 확인된, 업데이트 될 패키지를 실제로 업데이트 합니다.
ubuntu@ubuntu:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-headers-5.3.0-1019-raspi2 linux-image-5.3.0-1019-raspi2 linux-modules-5.3.0-1019-raspi2
linux-raspi2-5.3-headers-5.3.0-1019
The following packages will be upgraded:
apport bsdutils dmidecode fdisk gcc-8-base landscape-common libblkid1 libdrm-common libdrm2 libfdisk1 libgcc1
libglib2.0-0 libglib2.0-data libicu60 libmount1 libnss-systemd libpam-systemd libsmartcols1 libsqlite3-0 libstdc++6
libsystemd0 libudev1 libuuid1 libxml2 linux-base linux-firmware linux-headers-raspi2-hwe-18.04
linux-image-raspi2-hwe-18.04 linux-raspi2-hwe-18.04 mount python3-apport python3-problem-report python3-twisted
python3-twisted-bin rsync sosreport systemd systemd-sysv udev unattended-upgrades util-linux uuid-runtime vim
vim-common vim-runtime vim-tiny xxd
47 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 148 MB of archives.
After this operation, 285 MB of additional disk space will be used.
Do you want to continue? [Y/n]
4-3-2. y를 눌려 업데이트 실행
- 4-3-1에서 업데이트 될 패키지를 보여주며, 실제 업데이트를 수행할 것인지 마지막으로 물어봅니다.
- y를 입력하고 엔터를 눌려 진행하며, Progress가 100%가 될 때 까지 기다립니다.
The following NEW packages will be installed:
linux-headers-5.3.0-1019-raspi2 linux-image-5.3.0-1019-raspi2 linux-modules-5.3.0-1019-raspi2
linux-raspi2-5.3-headers-5.3.0-1019
The following packages will be upgraded:
apport bsdutils dmidecode fdisk gcc-8-base landscape-common libblkid1 libdrm-common libdrm2 libfdisk1 libgcc1
libglib2.0-0 libglib2.0-data libicu60 libmount1 libnss-systemd libpam-systemd libsmartcols1 libsqlite3-0 libstdc++6
libsystemd0 libudev1 libuuid1 libxml2 linux-base linux-firmware linux-headers-raspi2-hwe-18.04
linux-image-raspi2-hwe-18.04 linux-raspi2-hwe-18.04 mount python3-apport python3-problem-report python3-twisted
python3-twisted-bin rsync sosreport systemd systemd-sysv udev unattended-upgrades util-linux uuid-runtime vim
vim-common vim-runtime vim-tiny xxd
47 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 148 MB of archives.
After this operation, 285 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 bsdutils arm64 1:2.31.1-0.4ubuntu3.6 [54.6 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 libuuid1 arm64 2.31.1-0.4ubuntu3.6 [18.5 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 libblkid1 arm64 2.31.1-0.4ubuntu3.6 [105 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 libfdisk1 arm64 2.31.1-0.4ubuntu3.6 [138 kB]
...
Preparing to unpack .../23-linux-headers-5.3.0-1019-raspi2_5.3.0-1019.21~18.04.1_arm64.deb ...
Unpacking linux-headers-5.3.0-1019-raspi2 (5.3.0-1019.21~18.04.1) ...
Selecting previously unselected package linux-modules-5.3.0-1019-raspi2.
Preparing to unpack .../24-linux-modules-5.3.0-1019-raspi2_5.3.0-1019.21~18.04.1_arm64.deb ...
Unpacking linux-modules-5.3.0-1019-raspi2 (5.3.0-1019.21~18.04.1) ...
Progress: [ 62%] [##############################################################.......................................]
4-4. apt autoremove를 이용하여 더 이상 필요하지 않은 패키지 삭제하기
- 시스템 공간을 확보하기 위해, 더 이상 사용하지 않은 패키지를 삭제하는 것이 좋습니다.
- 삭제 할 패키지가 존재하는 경우, 실제 삭제를 할 것인가 물어보는 메시지가 나오면 y를 누르고 엔터를 입력합니다.
ubuntu@ubuntu:~$ sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
ubuntu@ubuntu:~$
'컴퓨터 > Linux' 카테고리의 다른 글
Raspberry Pi, Ubuntu 환경에서 Wi-Fi 연결이 되지 않는 경우 (6) | 2020.03.23 |
---|