
최근 퍼블릭 클라우드의 비용이 기하급수적으로 증가하면서,
개인 개발자들은 직접 서버를 운영하는 것이 경제적인 대안이 되고 있다.
특히, 개발자라면 개인적인 프로젝트를 실험하고 운영할 수 있는 환경이 필요하다.
요즘은 미니PC 가 대중화되면서 적은 비용, 전력과 공간만으로도 사무용 PC 혹은 홈서버를 구축할 수 있게 되었다.
그래서 미니PC 에 리눅스를 설치하고, 24시간 구동되는 홈서버로 사용하는 과정을 설명하고자 한다.
미니 PC는 N100 과 같은 너무 낮은 사양 말고,
적어도 Kafka, Elasticsearch, MySQL 등을 안정적으로 구동할 수 있는 서버를 구동하고자
Ryzen 8745Hs CPU 베어본 + DDR5 5600 32GB * 2 + NVME SSD PCIE 4.0 1TB 스펙으로 구성하였다.
예산은 약 70만원 중반 정도가 소요됐다.
왜 8745HS 를 구매했는지
준비물 및 가격
SER8 에 SSD, RAM 을 장착해보자.
RAM 은 아래 사진에는 없지만, SER8 은 노트북용 SODIMM 메모리 규격을 사용해야되는 것을 잊지 말자.

아래 사진은 SER8 의 하단을 분해해 SSD 와 RAM 을 부착한 모습이다.
참고로 SER8 모델은 SSD 부착하는 곳에 자동으로 방열판이 달려있다.
추가적으로 NVME SSD 슬롯 두 개와, SODIMM RAM 슬롯 두개임을 참고하자.

이제는 리눅스를 설치해보자.
먼저 리눅스를 설치할 USB 부팅디스크(8GB 이상)를 준비하고,
https://ubuntu.com/download/desktop 서 LTS 버전을 다운받는다.
2025.01 기준 24.04.1 이 최신 LTS 버전이다.

이제는 해당 파일을 Rufus 를 통해 부팅디스크로 만들어보자.
https://rufus.ie/ko/#google_vignette 에서
ISO 파일로 변환 작업을 하는 PC 의 시스템에 따라 적절한 것을 다운받는다.
일반적으로는 rufus-4.6.exe 를 받으면 된다. (x64)

rufus 를 실행하고 나서,
1. 장치에는 연결한 USB 를 선택한다.
2. 부팅 선택에는 다운받은 ISO 파일을 선택한다.
3. 이후 [시작] 버튼으로 진행한다.
참고로 해당 USB 는 자동 포맷 후 부팅디스크로 변환되니 참고하자.
이제 SER8 에 부팅디스크로 만든 USB 를 연결하고 전원을 켜보자.
Beelink 로고가 보이는 순간 [Del] 키를 연타해 바이오스로 진입하자.
그러면 키보드로 상단 바를 좌우로 넘기면서 [Boot] 탭에 진입하면 아래와 같은 화면이 출력된다.

여기서 Boot Option #1 (부팅 옵션 1순위)에 부팅디스크 USB 를 선택하고,

다시 상단 메뉴바의 [SAVE & Exit] 탭으로 넘어가 [Save Changes and Exit] 으로 설정을 저장 후 나간다.

그러면 재부팅이 될텐데, 이때 아래와 같은 화면이 출력된다.
여기서 Ubuntu 를 설치한다는 첫번째 옵션으로 선택후 Enter 를 입력하자.

그러면 몇 분의 로딩 후 Ubuntu가 설치된다.
부팅디스크 USB 는 제거하지말고, 설치가 완료되고 나서 부팅디스크를 제거하라는 문구가 나올때까지 기다렸다가 제거하면 된다.
완전히 Ubuntu 가 설치된 후 부팅이 완료되면 Ubuntu 첫 세팅 가이드가 나오는데, 이것까지 스크린샷을 찍어두었지만 실수로 백업을 하지 않는 바람에 삭제됐다..
별 내용은 없지만 Ubuntu 첫 부팅 시 나오는 세팅 가이드는 다른 글에서 참고하자.
나의 경우엔 Linux 를 SSH 로만 사용해봤지 실제 OS 를 구축해 GUI 상에서 구동시켜 본 적이 없어 기본적인 것은 짚고 넘어간다.

Window 키를 누르면 기본적으로 메뉴 진입창에 들어온다.
참고로 Windows 의 파일 탐색기와 같은 Terminal 명령어는 아래와 같다.
# 뒤에는 디렉토리 경로 및 파일 경로를 적는다.
xdg-open ./
<Window 키 진입 시>

<Terminal 과 같은 메뉴 진입시 키워드 입력으로 가능>

기본적인 스크린샷은 printscreen 단축키로 가능하다.
우분투 다크모드 적용법
Settings > Apperance 에서 Dark 로 적용.

lscpu
현재 1개의 CPU 소켓이 있고,
그 1개의 소켓에는 8개의 물리 CPU 코어가 있고,
하이퍼쓰레딩으로 인해 8 * 2 = 16 개의 논리 CPU가 존재함을 볼 수 있다.
그래서 CPU : 16 으로 출력된다.

free -h
total, used, free 를 확인한다.
여기에는 부팅을 위해 하드웨어가 기본적으로 사용하는 메모리는 제외되므로, 64GB 전체가 표시되지 않을 수 있음에 참고하자.

sudo fdisk -l
여러 파티션들이 나오는데, 제일 용량이 높은 것이 1TB 임을 확인한다.

가장 대중성과 신뢰성이 높은 Geekbench 로 테스트해보자.
CPU 에 다양한 백그라운드 프로세스로 부하를 주어
Single / Multi Core 점수를 매기는 툴이다.
아래처럼 설치 후 실행해보자.
약 5분정도가 소요되니 손톱이나 깎으면서 기다리자.
다른 프로세스는 모두 종료하고 터미널만 열린 상태에서 수행하자.
wget https://cdn.geekbench.com/Geekbench-6.2.1-Linux.tar.gz
tar -xvf Geekbench-6.2.1-Linux.tar.gz
cd Geekbench-6.2.1-Linux
./geekbench6
아래 결과를 보면 https://browser.geekbench.com/v6/cpu/10155002 에 내 점수가 기록되었다고 출력된다.

Single 코어 점수 : 2550
Multi 코어 점수 : 13489
점이다.

내가 정말 괜찮은 제품을 뽑았는지는 절대적인 점수만 봐서는 모르니까,
다른 사람들과의 점수를 비교해보자.
Google 에 CPU 명 + Geekbench 를 검색하자.
나의 경우엔 8745HS 여서 아래에서 다른 사람들의 점수를 확인 가능한데,
https://browser.geekbench.com/search?q=8745HS
다른 사람들에 비해 나쁘지 않은 점수가 나온 것을 알 수 있다.

멀티코어 점수가 10% ~ 20% 가량 더 높은 것이 보이는데,
일반적으로 SER8 에는 32GB 램이 부착되어 나오지만 나는 64GB 으로 세팅해 조금 더 여유있는 환경이라 그러지 않았을까 추측한다.
혹시 몰라서 다시 한 번 수행해보았다.
https://browser.geekbench.com/v6/cpu/10155127
Single 코어 점수 : 2626
Multi 코어 점수 : 13583
으로 이전보다 살짝 더 높게 나왔다.
평균치보다 더 높게 나오니, 특히 멀티 코어 점수가 8845HS 에 비빌만한 점수가 나와 기분이 살짝 좋긴 하네

Linux 최초 설정 시 root 계정부터 세팅해야 한다.
sudo passwd root
... 암호 설정
# root 권한 잘 수행되는지 확인 및 최신 패키지 설치
su
exit
sudo apt update
블로그 포스팅을 위해 스크린샷을 편하게 찍고, 여러가지 편집할 도구가 필요하다.
Linux 에서도 동작하는 pinta 오픈소스를 설치해보자.
ubuntu 24 에서는 apt respoitory 안에 pinta 가 없어 snap 으로 설치한다.
sudo snap install pinta
# pinta 버전 확인
pinta --version
이제 명령어로 스크린샷을 찍을 수 있게 해보자.
기본 단축키인 prtsrc 조합으로 가능하지만, 그때마다 일일이 pinta 를 열기도 귀찮으므로 우선 명령어로 조금이나마 자동화를 해보자.
# 단축키 입력 시 스크린샷을 찍게 해주는 명령어를 위한 gnome 설치
sudo apt install gnome-screenshot
# 스크린샷 테스트
# -a : 선택한 영억
# -w : 활성창
# 위 옵션이 없으면 기본적으로 전체화면 캡처
# -f : 해당 위치에 해당 이름으로 저장
gnome-screenshot -a -f ~/Pictures/Screenshots/test.png
# 명령어 수행 확인 (스크린샷이 저장된 디렉토리 또는 스크린샷 파일 열기)
xdg-open ~/Pictures/Screenshots/
xdg-open ~/Pictures/Screenshots/test.png
gnome-screenshot 명령어가 잘 수행된다면, 캡처 후 pinta 를 자동으로 여는 스크립트를 만들어보자.
# script 전용 디렉토리 생성
mkdir ~/scripts
cd ~/scripts
vi screenshot_pinta.sh
# 이제 vi 편집창에서 아래 스크립트 입력 후 저장
# gnome-screenshot 앞서 설명한 -a -w -f 옵션 중 본인이 원하는 옵션으로 설정한다.
#!/bin/bash
SCREENSHOT_PATH="$HOME/Pictures/Screenshots/screenshot_$(date +%Y%m%d%H%M%S).png"
gnome-screenshot -w -f "$SCREENSHOT_PATH"
pinta "$SCREENSHOT_PATH" &
# 스크립트 수행 확인
./screenshot_pinta.sh
아래와 같이 정상적으로 열리는 모습을 보인다.

이제 Ctrl + Shift + S 키보드 조합을 캡처 후 pinta 편집 창을 열게 해보자.
우선 Settings > Keyboard > View and Customize Shortcuts 으로 키보드 단축키 설정에 진입한다.

이후 Custom Shortcuts 에 진입한다.

Add Shortcut 을 진입해 새로운 단축키를 만든다.
나는 pinta Screenshot 이라는 이름의 단축키에
/home/${username}/scripts/screenshot_gimp.sh 라는 명령어를 수행하도록 했다.
단축키는 Shift + Ctrl + S 으로 지정했다.
~/ 와 같은 유저별 상대경로는 안되는 것으로 확인되어 절대경로로 지정해야 한다.

간단한 사용법은 아래와 같다.
https://andrewpage.tistory.com/390
Ubuntu 24 에 들어오면서 한글 입력을 위해선 Korean > Korean 이 아닌,
Korean > Hangul 로 적용해야 된다.
Settings > Region & Language 탭에 진입한다.

이후 Manage Installed Languages 에 진입한다.

Install/Remove Languages 에 진입한다.

Korean 을 선택한다.

Download 가 완료되면 [한국어] 가 추가되었는지 후 Close 한다.

이후 우분투 OS 자체를 Reboot 해주어야 한다.
GUI 상으로 우측 상단에 있는 것으로 reboot 가능하지만,
터미널에 익숙해져보자.
sudo reboot
reboot 이 완료되었다면 ibus-setup 에 진입하자.
ibus-setup
[Input Method] 탭에 Add 에 진입하자. 나는 이미 Hangul 이 적용되어 있지만, 없다고 가정하고 진행해보자.

Korean 을 입력해 진입하면,

아래와 같이 Hangul 이 나온다.
Hangul 이 나오지 않으면 reboot 을 하지 않았거나 Korean 이 제대로 설치되지 않은 것이므로 위 설치 단계로 다시 넘어가자.
그리고 Ubuntu 24 부터는 Hangul 로 해야만 적용되므로 참고하자.

아직 작업을 추가로 해주어야 한다.
Settings > keyboard > Add Input Source 에 진입한다.
나는 이미 Korean (Hangul) 로 적용되어 있지만, 세팅이 안된 사람이라면 English (US) 으로 써있을 것이다.

그러면 Korean 을 진입해

Hangul 을 추가해보자.

그 이후에는 기존에 있던 English (US) 를 삭제해야 한다.
그러면 우측 상단에 [한] 클릭 시 Korean(Hangul) 이 나오면 된 것이다.

이제는 한/영키로 변환할 수 있게 해보자.
기본 설정은 Shift + Space 으로 변환되게 설정되어있다.
이를 수정하기 위해 이전의 화면에서 메뉴버튼의 Preferences 에 진입한다.

Add 버튼을 누르고,

일반적인 키보드의 한/영키를 입력하면 아래와 같이 Alt_R 로 인식되고,
OK 를 누르면 이제 한/영키 전환이 잘 될것이다.

선택) 한/영키 + space 누를 시 window menu 나오는 현상 수정
Ubuntu 는 기본적으로 ALT + Space 를 입력하면 Window Menu 가 나오는게 매우 불편하므로.. 변경해보자.
특히 나는 블로그를 쓰면서 한/영 전환을 매우 자주하므로 불편하다.
Settings > Keyboard > View and Customize Shortcuts 에 진입한다.

Windows 에 진입한다.

Activate the window menu 를 Alt + Space 가 아닌 다른 단축키로 설정한다.

vi 는 리눅스에서 가장 많이 쓰이는 에디터이지만, 기본적으로 방향키 등도 B, C, D 와 같은 문자열로 입력되는 현상을 수정해보자.
cd ~
# vi로 .exrc 파일 생성
vi .exrc
# 아래 내용 입력 후 저장
set bs=2
set nocp
# 위 설정을 저장
source .exrc
참고 : 터미널에서 복사/붙여넣기 단축키는 Shift + Ctrl + C, Shift + Ctrl + V 이다.
vim 설치 (선택)
vim 은 vi 에서 조금 더 진화된 에디터이다.
특정 키워드의 색상을 다르게 하거나, 화살표로 커서를 이동하는 것들을 기본적으로 지원한다.
sudo apt install vim
# 검색어 강조 설정
echo "set hlsearch" >> ~/.vimrc
echo "set incsearch" >> ~/.vimrc
curl 설치
curl(Client URL) 이란 의미로 Client에서 URL을 사용해 서버와 데이터를 송수신하는 명령어 툴이다.
특히 Linux 환경에서 HTTP, HTTPS, SMTP, TELNET, FTP, LDAP 등 다양한 프로토콜을 지원하여 자주 쓰이는 명령어라 설치해두자.
sudo apt install curl -y
git 설치
git은 소스코드 관리나 여러 repository 들을 직접 불러올 때 쓸모가 많으므로 무조건 설치하자.
# git 설치
sudo apt install git -y
# 설치 확인
git --version
# git 사용자 정보 적용 (선택)
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# config 정보 확인
git config --list
프롬프트 테마 설치
대중적으로 사용되는 터미널 입력창의 테마가 있다.
Powerline 을 설치해보자.
# powerline 설치
sudo apt install powerline fonts-powerline
# powerline 적용
echo 'if [ -f /usr/share/powerline/bindings/bash/powerline.sh ]; then' >> ~/.bashrc
echo ' source /usr/share/powerline/bindings/bash/powerline.sh' >> ~/.bashrc
echo 'fi' >> ~/.bashrc
source ~/.bashrc
적용이 잘 된 모습

만약 powerline 폰트가 깨지는 경우
터미널 우측 상단의 메뉴 > Preferences

좌측의 Unnamed > Text > Custom font 체크 후 폰트 선택

Monospace 선택

폰트 캐시 삭제
sudo fc-cache -f -v
이후 터미널 재실행
tree 설치
리눅스에서 현재 디렉토리와 하위 디렉토리 구조를 표현할 때 tree 구조보다 가시성이 좋은 것은 없다.
누군가에게 설명할 일이 있거나 파일 구조를 터미널에서 쉽게 보고자 한다면 설치해보자.

sudo apt install tree
Ubuntu 24.04에서는 apt-key 명령어가 더 이상 권장되지 않으며, 대신 GPG 키를 /etc/apt/keyrings/ 디렉토리에 저장하는 방식으로 변경해야 한다.
# 저장소 추가
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 패키지 목록 업데이트
sudo apt update
# Docker 패키지 설치
sudo apt install docker-ce docker-ce-cli containerd.io
# Docker 설치 확인
sudo docker --version
sudo docker run hello-world
# 현재 유저에 docker 명령어 실행 권한 주기
sudo usermod -aG docker $USER
newgrp docker
# docker-compose 설치
sudo apt-get install docker.io docker-compose