간단하게 서버 돌릴 일이 있을 때마다 클라우드 프리티어를 전전했는데, 그마저도 질려서 집에 박혀있던 라즈베리파이를 이번에 되살리면서 초기 세팅 정보를 정리한다.
사양
- 라즈베리파이 4B 본체
- 쿼드코어(ARM v8) 1.5GHz
- RAM LPDDR4 8GB
- Argon One M.2 SSD 케이스
- 파워 버튼 지원
- 팬 속 지원
- 마이크론 M.2 SSD 250GB
- 라즈베리파이에 SSD를 달아주면 기존 SD카드에 비해 읽기/쓰기 속도가 넘사다
운영체제(Ubuntu 22.04.1 LTS) 설치
나는 개인적으로 데비안 계열의 Ubuntu를 좋아해서 Ubuntu를 설치해주었다.
- Raspberry Pi OS Installer 설치
- 운영체제 종류 선택
- 무선랜 or 유선랜 or 계정 설정 (설치 툴에 설정하는 곳 있음)
- 설치 완료
SSH 접속
라즈베리파이 전원 연결 후 공유기에서 라즈베리파이에 할당된 IP 확인 후 접속
$ ssh 계정명@IP
케이스 설정
쿨링팬/전원 버튼 구동 스크립트
$ curl https://download.argon40.com/argon1.sh|bash
설치 완료 후 아래 세팅 값으로 동작한다.
CPU 온도 | 팬 속도 |
---|---|
55℃ | 10% |
60℃ | 50% |
65℃ | 100% |
커스텀 팬 속도 설정
$ argonone-config
--------------------------------------
Argon One Fan Speed Configuration Tool
--------------------------------------
WARNING: This will remove existing configuration.
Press Y to continue:Y
Thank you.
Select fan mode:
1. Always on # 항상 켜두기
2. Adjust to temperatures (55C, 60C, and 65C) # 55-60-65도일 때 팬 속도 지정
3. Customize behavior # 온도에 따른 팬 속도 커스텀
4. Cancel # 취소
Enter Number (1-4):
전원 버튼 기능
라즈베리파이 본체만 쓰면 불편한 부분이 전원을 끄려면 터미널에서 명령어를 치는 방법 밖에는 없는데, 케이스에 전원 버튼을 사용할 수 있게 된다.
Argon State | Action | Function |
---|---|---|
OFF | Short Press | Turn ON |
ON | Long Press (>= 3s) | Soft Shutdown and Power Cut |
ON | Short Press (< 3s) | Nothing |
ON | Double tap | Reboot |
ON | Long Press (>= 5s) | Forced Shutdown |
초기 설정
서버 세션 타임아웃 설정
$ sudo vi ~/.profile
HISTTIMEFORMAT="%F %T -- " ## history 명령 결과에 시간값 추가
export HISTTIMEFORMAT
export TMOUT=600 ## 세션 타임아웃 설정, 세션이 자동으로 10분 후 종료
$ source ~/.profile
shell 로깅
$ sudo vi ~/.bashrc
tty=`tty | awk -F"/dev/" '{print $2}'`
IP=`w | grep "$tty" | awk '{print $3}'`
export PROMPT_COMMAND='logger -p local0.debug "[USER]$(whoami) [IP]$IP [PID]$$ [PWD]`pwd` [COMMAND] $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" )"'
$ source ~/.bashrc
shell prompt 설정
간단하게 서버 쉘을 이쁘게 꾸미기 위해 사용하면 좋다.
$ sudo vi ~/.bashrc
USERNAME={사용자명}
PS1='[\e[1;31m$USERNAME\e[0m][\e[1;32m\t\e[0m][\e[1;33m\u\e[0m@\e[1;36m\h\e[0m \w] \n\$ \[\033[00m\]'
$ source ~/.bashrc
Timezone 설정
$ sudo timedatectl set-timezone Asia/Seoul