라즈베리파이3 CentOS 7 설치 – 0부. GUI설치

Last updated on 2023. 06. 17.

라즈베리파이3 에 CentOS 설치하고 있습니다. 처음 리눅스를 배운 게 redhat 계열이다 보니 이쪽 계열을 계속 쓰고 싶어서 찾아보니깐, 라즈베리파이3 에도 CentOS를 올리는 게 가능하네요.

라즈베리파이3 용 다운로드 링크는 다음과 같고… 아래 미러에서 나에게 맞는 걸 찾아야 합니다.

https://www.centos.org/download/altarch-mirrors/

여기서 내가 다운로드한 것 GNOME desktop 버전입니다. 아직 리눅스를 잘 하진 못해서 가끔 GUI 도 전 가끔 필요하니 아래의 버전을 설치하였습니다.

CentOS-Userland-7-armv7hl-RaspberryPI-GNOME-1908-sda.raw.xz

검색을 해 보니 해당 이미지가 라즈베리파이3 에서 돌아간다고 한다. 최근에 나온 라즈베리파이4 는 또 안된다는 거 같고,, 암튼 이걸 다운로드하고 압축을 풀지말고 SD card 에 rufus라는 프로그램을 이용해서 이미지를 넣는다. 그리고 라즈베리파이에 넣고 부팅 시켜 봤다. 오오 잘 된다.

초기설정은 다음과 같은 순서로 하였습니다.

1. 네트워크 설정하기
부팅하면 처음에 네트워크를 설정하는 GUI 화면이 나옵니다. yum 을 사용할 일이 많으니 필히 설정해 주도로 합시다. 여기서는 NetworkManager로 설정하고 바로 무선 네트워크를 잡아서 사용하였기 때문에 별도로 다루지는 않습니다. (사실 좀 어려워서…)

2. SD카드 용량 늘리기
SD카드의 용량이 작은 경우가 많은데 남은 용량을 재할당 해 주어야 합니다. CentOS wiki의 내용으로 여기를 참조하였습니다. root 권한으로 실행하여야 합니다.

/usr/bin/rootfs-expand

3. Epel 저장소 추가
이것도 위의 링크를 참조하였습니다. 역시 root 권한으로 다음과 같이 입력해 줍니다.

[root@host ~]# cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0

EOF
[root@host ~]#

또는 VI 편집기를 이용해서 /etc/yum.repos.d/epel.repo 라는 file 을 작성하면 됩니다.

4. 한글 입력 설정
다음 두 가지 패키지를 설치해 준다. https://centos.pkgs.org 여기서 필요한 거 검색하였습니다.

yum install ibus-hangul
yum install baekmuk-ttf-fonts-common

라즈베리파이의 한글 설정에 폰트 이름을 몰라서 고생을 했네요. 한글 입력하려면 GUI에서 테스트하게 될 것이니 설정 > Language 에서 korean 검색하고 Korean-hangul 을 추가하면 됩니다.

5. SELinux 끄기
CentOS 7 부터는 firewall-cmd를 통해서 제어하기 때문에 보통 끈다고 하는데… 암튼 사용하지 않는 듯

vim /etc/sysconfig/selinux
SELINUX=enforcing → disabled 변경

6. 패키지 업데이트

yum update

7. 부팅 Runlevel 변경
아무래도 GUI는 라즈베리파이3 에선 좀 느리기 때문에, 서버로 설정하고 주로 쓸 거니깐 변경합니다.

systemctl get-default   // 현재 runlevel 보여주기
systemctl set-default multi-user.target   // 멀티유저(runlevel 3)로 변경 
systemctl set-default graphical.target   // 그래피컬(runlevel 5)로 변경

8. ntp 설정
ntp는 인터넷 시간 동기화하는 방법 중 하나이다. 다음과 같이 입력합니다.

yum install ntp

설치 후, ntp 서비스를 이용할 수 있도록 방화벽을 설정 합니다.

firewall-cmd --add-service=ntp --permanent  // 방화벽 설정
systemctl start ntpd  // ntp 서비스 시작

9. Kdump service 관련 설정

관련 내용은 여기를 참조하여 작성했습니다. 다음과 같이 실행해 줍니다.

systemctl start kdump

그러면 안 된다고 하면서 뭔가 명령어가 하나 뜨는데 똑같이 입력해 줍니다.

journalctl -xe

무언가 출력하면서 붉은색 글씨 윗부분에 ‘Kdump is not supported on this kernel’ 이 보이면 해당 서비스가 지원이 안 되는 것이니 해당 서비스를 비활성화 시킵니다.

systemctl disable kdump

이 정도면 어느 정도 초기 설정이 되지 않았나 싶네요. 이제 웹서버로 활용하든 이것저것 해 보아야겠네요. 네트워크 설정이 좀 어려워 보이던데 ㅠ 좀 더 공부 해야겠습니다.