openwrt: 판올림 후 extroot 인식 불가? 재설치/재설정 간단 정리.

지금껏 이런 적은 없었는데, openwrt 펌웨어(19.07.7 -> 19.07.8) 판올림 후 extroot 인식이 안되는 사태(?)가 벌어졌다. 물론, 매번 하던 대로 조치를 취했으나, 여전히 extroot 는 내 품으로 돌아와주질 않았다. (아! 더운 여름, 귀찮은 일만 자꾸 생기네.)

왜 그런지 메시지라도 볼 수 있으면 좋으련만, USB 드라이브를 붙이고 전원을 넣으면 아예 공유기가 제대로 부팅을 하지 않으니 별 도리가 없다. (이 때 로그를 볼 방법도 있긴 할텐데.. 거기까지 파보기엔 내 열정이 너무나 차갑게 식어있다.)
이 상황에서 그나마 정신건강을 지키면서 공유기를 되살릴 방법은 extroot 초기화 뿐!

그나마 설정파일은 고스란히 남아있으므로, 내가 쓰던 꾸러미들 설치만 해주면 크게 신경쓸 일은 없다.
여기선, 내가 그동안 openwrt 에서 쓰던 프로그램들 목록을 기록해두는 의미와 함께, 기타 간단한 설정만 언급하기로 한다.


EXT Root 재 설정

예전에 쓴 글 내용을 참고하여, 새롭게 ext root 를 만든다. 기존에 사용하던 디렉토리는 임시로 다른 디렉토리로 옮겨놓고 작업한다.
작업한 후, 부팅해서, mount 상태를 확인해보고(Luci 에서 mount 메뉴를 통해. /overlay 의 용량이 USB 드라이브 용량과 같은지 확인하면 간단하다.), 이상이 없다면 새로 생성된 /etc/config 디렉토리로 지금까지 사용해왔던 설정 파일을 모두 복사해준다.

그외.. 몇가지 더 복사할 파일이 있을 수도 있겠는데.. 아무튼 이럴 필요가 있다면 원래 파일들을 새 위치로 복사해주면 된다.

꾸러미 설치

openwrt 에서 사용해오던 꾸러미들 목록.

자질 구레 파일들

opkg install coreutils-whoami coreutils-ls rsync tar lsblk vim-full usbutils mc whereis shadow-su wakeonlan rpcbind grep tmux

rpcbindrpcinfo 를 포함하고 있는 꾸러미다.

사용자 계정 생성, sudo 및 openssh

여기는 명령어를 한번에 적을 순 없고, 이전 글을 참고하여 그대로 따라하면 되겠다. (다만, /etc/passwd 등은 그대로 보존이 되어 있으니 다시 만들 필요는 없다.)

사용자 계정을 생성한 후, 기존 /home/user 디렉토리에 있던 모든 파일을 복사해준다. 특히, .ssh 산하 공개키를 복사해야 ssh 연결이 가능해진다.
만약, /etc/passwd 에 사용 Shell 이 zsh 로 되어 있다면, openssh 를 설치했다하더라도 zsh 가 설치되기 전까진 접속이 되지 않는다. 따라서, zsh 까지 설치한 후 ssh 접속을 해야 한다.

zsh 및 ohmyzsh 설치

opkg install ca-certificates zsh wget git-http

oh my zsh 는, 일반 계정으로 로그인 후 거기서 다음 스크립트를 수행한다.

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Duck DNS

opkg install ddns-scripts ca-certificates wget luci-app-ddns

nfs

opkg install nfs-utils kmod-fs-nfs kmod-fs-nfs-v3

WireGuard

opkg install luci-proto-wireguard luci-app-wireguard

** openwrt 21.02.0 이후부터는, 커널 5 를 사용하기 때문에 wireguard 꾸러미는 불필요하다. 커널에서 지원을 하므로 그냥 설정하면 되는 듯은 한데, 혹시 안된다면 kmod-wireguard 꾸러미가 필요할 수도 있겠다. (이전판까지는 wireguard 꾸러미를 설치해야먄 했다.)

Wireguard 설치 후, 재부팅을 해야 기존에 설정해놓은 network 카드 설정이 제대로 인식된다. (또는 network 서비스만 재실행해도 될 지는 모르겠다.)

extroot 가 날아가고, 따라서 wireguard 를 못쓰게 되고 나서야 깨달았는데, 내가 WireGuard 를 꽤 자주 사용하고 있었다. 없으니 은근히 불편함이 많네..

설정 및 복사해줘야할 파일?

/sbin/backup-to-nfs
/etc/config/*
/etc/crontabs/*
/usr/share/mc
/home/user

이 정도면 된 듯 한데..??

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.