취미 생활

장난감 라즈베리파이 세팅

왕거누 2023. 7. 30. 00:57

간단하게 서버 돌릴 일이 있을 때마다 클라우드 프리티어를 전전했는데, 그마저도 질려서 집에 박혀있던 라즈베리파이를 이번에 되살리면서 초기 세팅 정보를 정리한다.

사양

  • 라즈베리파이 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를 설치해주었다.

  1. Raspberry Pi OS Installer 설치
  2. 운영체제 종류 선택
  3. 무선랜 or 유선랜 or 계정 설정 (설치 툴에 설정하는 곳 있음)
  4. 설치 완료

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