결국 의문사한 라즈베리파이...
정확히 말하면 라즈베리파이가 의문사한 것은 아니고 유플러스 공유기 때문에 외부 접속이 되지 않는 것 같다.
공유기 외부 IP로 라즈베리파이 접근이 갑자기 어제부터 안되기에...
(안되는 이유는 1편 참고)
제우스의 조언으로 기존 GUI로 설치한 라즈베리파이 OS를 포맷하고 라즈베리파이 OS Lite CLI 버전으로 설치하기로 한다.
깔고 보니 정말 아무것도 없어서 오히려 좋았다. 딱 필요한 것만 있는 태초의 상태.
지난번 print 관련 모듈의 에러로그 때문에 저장공간을 다 써서 모든 docker container가 내려간 사건도 있었다.
라즈베리파이 OS 포맷하기
라즈베리파이 OS를 싹 밀어버리는 것은 간단하다.
SD카드 포맷을 해버리면 된다 ㅎㅎ.
맥에서 '디스크 유틸리티'로 접근해보면 아마 SD 카드 전체 용량 인식이 안될 것이다.
예를 들어 나의 경우, 256GB짜리 SD 카드였는데 boot 파티션의 500MB 정도만 인식되었다.
이는 맥이 파일시스템을 읽지 못해서 나타나는 현상이다.
따라서 맥에서 SD 카드를 깨끗이 포맷하려면 SD Card Formatter 를 이용한다.
해당 링크에서 다운받을 수 있고, brew로도 설치 가능하다.
$ brew install --cask sdformatter
설치한 것을 열면 요렇게 생겼는데, Select를 하고, 포매팅 옵션 두개를 선택하면 된다.
Quick format은 파티션을 없애는 포맷인데, 이름 그대로 빠르다.
나는 Overwrite Format을 했다. 완전 깨끗하게 만들어보고 싶었다.
근데 한 2~30분 걸렸던 것 같다.

라즈베리파이 OS Lite CLI 설치하기
그럼 이제 OS를 설치하자.
라즈베리파이 imager를 열고 아래 두 단계를 거치자.
만약 other를 눌렀는데 images 파일을 선택하라하면, 두번째 사진이 나올때까지 imager 프로그램을 껐다 켜면 나온다..
(역시 껐다 켜는게 최고의 약)
그러면 커스텀 옵션으로 OS 설치할 때, wifi 정보랑 ssh를 설정할건지 물어보는데 굳이 여기서 안해도 된다.
심지어 여기서 wifi 정보를 넣었는데, 안들어가있더라. 다시 해줬음


설치 완료 된 뒤 SD 카드를 다시 라즈베리파이에 꽂고 부팅하면 터미널창만 보인다.
ls 명령어를 쳐보면 진짜 아무것도 없다. 깨끗한 상태.
오히려 마음에 들었다.
와이파이 연결하기
정말 새 상태라서 와이파이부터 연결해줘야한다.
ping을 날려보면 아마 `ping : connect: Network is unreachable` 이런 에러가 나올텐데, 인터넷이 없어서 그렇다.
ping -c 4 8.8.8.8
ifconfig 명령어를 입력하면 `wlan0`에 집 와이파이가 뜨지 않을 것이다.
먼저 현재 잡을 수 있는 wifi 목록을 가져오자.
nmcli dev wifi list
그럼 와이파이 목록이 있는데, 아래 그림에서처럼 U+ 와이파이가 보인다.
저 와이파이에 연결해준다. U+자리에 본인의 집 와이파이 SSID를 넣고 패스워드 자리에 와이파이 비밀번호를 넣는다.
nmcli dev wifi connect "U+NetA97C" password "패스워드자리"
그럼 연결 성공이 뜰거고, 만약 에러가 나면 패스워드를 잘 입력했는지 보자.
그 이후 ping을 날려보면 잘 갈 것이다.

여기까지 인터넷 연결 완! 이후 ssh 연결을 설정해주면 된다.
ssh 연결 다시해주기
아마 라즈베리파이의 mac주소를 인식하는지, 내 맥북과 ssh 연결을 다시 하려고 할때(고정 IP는 192.168.~.~ 로 OS 포맷과 변경이 없었음), 그냥 그대로 하면 될줄 알았다.
하지만 `원격 호스트 키가 변경되었으며 포트 전달이 비활성화되었습니다.` 요런 에러가 뜨면서 ssh 연결이 거부당했다.
아래와 같은 메시지가 나오기도 할텐데, 원격 호스트 식별 정보가 변경되며 기존에 등록되어있던 RSA key가 달라서 그런 것 같았다.
WARNING : REMOTE HOST IDENTIFICATION HAS CHANGED
따라서 내 맥북에서 known_hosts의 내용을 갱신해주었다.
ssh-keygen -R 192.168.~.~
그러면 ssh 연결까지 다시 성공!
이제 docker 설치와 기존 코드잽 서버를 가져올 차례다.