/opt + 심볼릭 링크 + /data + systemd 구성 기준
1. 문서 목적
본 문서는 다음과 같은 방식으로 eCash 노드를 설치한 운영자를 위한 유지보수 가이드입니다.
/opt/bitcoin-abc-버전형태로 버전별 바이너리를 저장/opt/bitcoin-abc를 현재 활성 버전으로 심볼릭 링크/usr/local/bin/bitcoind,/usr/local/bin/bitcoin-cli를/opt/bitcoin-abc/bin/...에 연결- 데이터는
/data/bitcoinabc에 저장 - 서비스는
systemd로bitcoinabc.service운영
이 방식에서는 업그레이드 시 데이터 디렉토리(/data/bitcoinabc)는 그대로 유지하고, 바이너리만 새 버전으로 교체하면 됩니다.
2. 먼저 알아둘 점
2.1 현재 최신 버전 확인
Bitcoin ABC 공식 릴리즈 페이지 기준, 현재 최신 버전은 0.32.10입니다. 또한 공식 페이지는 2025년 11월 업그레이드 이후 0.32.0 미만 버전은 더 이상 eCash 네트워크와 동기화되지 않는다고 안내하고 있습니다.
즉, 운영자는 단순한 버그 수정 릴리즈인지, 아니면 필수 네트워크 업그레이드가 포함된 릴리즈인지를 항상 공식 릴리즈 페이지에서 먼저 확인해야 합니다.
3. 업그레이드 전 점검
업그레이드 전에 아래 항목을 먼저 확인합니다.
3.1 현재 노드 상태 확인
sudo -iu xec
bitcoin-cli -datadir=/data/bitcoinabc getblockchaininfo
bitcoin-cli -datadir=/data/bitcoinabc getavalancheinfo
확인 포인트:
blocks와headers가 거의 같거나 이미 일치하는지initialblockdownload가false인지- Avalanche 관련 응답이 정상인지
3.2 현재 버전 확인
bitcoind --version
bitcoin-cli --version
3.3 설정 파일 백업
업그레이드는 바이너리만 교체하는 작업이지만, 운영 원칙상 설정 파일은 백업해두는 것이 좋습니다.
sudo cp /data/bitcoinabc/bitcoin.conf /data/bitcoinabc/bitcoin.conf.bak-$(date +%F)
sudo cp /etc/systemd/system/bitcoinabc.service /etc/systemd/system/bitcoinabc.service.bak-$(date +%F)
4. 업그레이드 절차
4.1 1단계: 노드 정상 종료
먼저 현재 실행 중인 노드를 정상적으로 중지합니다. 공식 업그레이드 절차도 첫 단계로 현재 노드를 멈추는 방식을 안내합니다.
sudo systemctl stop bitcoinabc
정지 확인:
sudo systemctl status bitcoinabc --no-pager
ps aux | grep bitcoind
4.2 2단계: 새 버전 다운로드
공식 릴리즈 페이지에서 최신 버전을 확인한 뒤, /tmp 에 새 버전을 다운로드합니다. 현재 최신 버전은 0.32.10입니다.
cd /tmp
VER=0.32.10
wget https://download.bitcoinabc.org/${VER}/linux/bitcoin-abc-${VER}-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-abc-${VER}-x86_64-linux-gnu.tar.gz
4.3 3단계: /opt에 새 버전 배치
현재 설치 방식 그대로, 새 버전 디렉토리를 /opt 아래로 이동합니다.
sudo mv bitcoin-abc-${VER} /opt/
이후 새 활성 버전을 가리키도록 심볼릭 링크를 갱신합니다.
sudo ln -sfn /opt/bitcoin-abc-${VER} /opt/bitcoin-abc
4.4 4단계: 실행 파일 심볼릭 링크 재확인
현재 구조에서는 /usr/local/bin/bitcoind 와 /usr/local/bin/bitcoin-cli 가 /opt/bitcoin-abc/bin/... 를 가리키고 있어야 합니다.
아래 명령으로 다시 맞춰줍니다.
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoind /usr/local/bin/bitcoind
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoin-cli /usr/local/bin/bitcoin-cli
이 단계의 핵심은
/opt/bitcoin-abc가 새 버전을 가리키게 만드는 것입니다.
systemd 서비스 파일은 여전히/usr/local/bin/bitcoind -datadir=/data/bitcoinabc를 사용하므로, 별도 수정 없이 새 버전이 실행됩니다.
4.5 5단계: 새 버전 적용 확인
bitcoind --version
bitcoin-cli --version
여기서 새 버전 번호(예: 0.32.10)가 출력되어야 합니다. 공식 릴리즈 페이지 기준 최신 버전은 0.32.10입니다.
4.6 6단계: 노드 재시작
이제 systemd 서비스로 다시 시작합니다.
sudo systemctl start bitcoinabc
sudo systemctl status bitcoinabc --no-pager
4.7 7단계: 동기화 및 Avalanche 상태 점검
재시작 후 아래 명령으로 상태를 확인합니다.
sudo -iu xec
bitcoin-cli -datadir=/data/bitcoinabc getblockchaininfo
bitcoin-cli -datadir=/data/bitcoinabc getavalancheinfo
또는 서비스 로그를 바로 확인합니다.
sudo journalctl -u bitcoinabc -f
정상 로그 예시:
UpdateTip: new best=...Avalanche finalized block ...
이런 로그가 보이면 체인 추적과 Avalanche 기능이 정상 동작 중인 것입니다.
5. 이 설치 구조에서 “수정할 필요가 없는 것”
현재 구조에서는 업그레이드 시 아래 항목은 보통 수정할 필요가 없습니다.
5.1 bitcoin.conf
- 위치:
/data/bitcoinabc/bitcoin.conf - 데이터 디렉토리와 Avalanche 설정은 그대로 유지
- 버전 업그레이드만으로는 보통 수정 불필요
5.2 systemd 서비스 파일
- 위치:
/etc/systemd/system/bitcoinabc.service ExecStart=/usr/local/bin/bitcoind -datadir=/data/bitcoinabc- 실행 파일 경로가
/usr/local/bin/bitcoind로 고정되어 있으므로, 심볼릭 링크만 최신 버전으로 바꾸면 그대로 사용 가능
즉, 현재 방식의 핵심 장점은 서비스 파일과 datadir를 그대로 두고, 바이너리만 교체하는 구조라는 점입니다.
6. 업그레이드 후 이상 여부 점검
업그레이드 직후 최소 5~10분 정도는 아래를 확인하는 것이 좋습니다.
6.1 서비스 로그
sudo journalctl -u bitcoinabc -n 100 --no-pager
sudo journalctl -u bitcoinabc -f
6.2 debug.log
tail -f /data/bitcoinabc/debug.log
6.3 포트 및 네트워크
특히 Avalanche 운영 노드라면 인바운드 연결도 함께 확인합니다.
sudo ss -lntp | grep 8333
sudo ufw status
Bitcoin ABC/eCash 쪽 공식 안내는 업그레이드와 별개로, 노드가 네트워크에 잘 연결되어 있어야 하고 포트/연결 품질 관리가 중요하다고 설명합니다.
7. 롤백(이전 버전으로 되돌리기)
현재 구조의 가장 큰 장점은 롤백이 쉽다는 점입니다.
문제가 생기면 /opt/bitcoin-abc 심볼릭 링크만 이전 버전으로 되돌리면 됩니다.
예를 들어 이전 버전이 0.32.7 이었다면:
sudo systemctl stop bitcoinabcsudo ln -sfn /opt/bitcoin-abc-0.32.7 /opt/bitcoin-abc
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoind /usr/local/bin/bitcoind
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoin-cli /usr/local/bin/bitcoin-clisudo systemctl start bitcoinabc
다만, 필수 네트워크 업그레이드 이후에는 구버전으로 내려가면 체인 동기화가 안 될 수 있습니다. 공식 릴리즈 페이지도 특정 버전 미만은 더 이상 네트워크와 동기화되지 않는다고 명시합니다.
8. 오래된 버전 정리(선택)
새 버전이 안정적으로 동작하는 것이 확인되면, /opt 아래 오래된 버전 디렉토리를 삭제할 수 있습니다.
예:
sudo rm -rf /opt/bitcoin-abc-0.32.7
단, 며칠 정도 안정성을 확인한 뒤 정리하는 것을 권장합니다.
9. 현재 기준 설치 방식 기준 업그레이드 “한 번에 실행” 요약
아래는 현재 구조에 맞춘 실제 업그레이드 명령 요약입니다.
sudo systemctl stop bitcoinabccd /tmp
VER=0.32.10
wget https://download.bitcoinabc.org/${VER}/linux/bitcoin-abc-${VER}-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-abc-${VER}-x86_64-linux-gnu.tar.gzsudo mv bitcoin-abc-${VER} /opt/
sudo ln -sfn /opt/bitcoin-abc-${VER} /opt/bitcoin-abc
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoind /usr/local/bin/bitcoind
sudo ln -sfn /opt/bitcoin-abc/bin/bitcoin-cli /usr/local/bin/bitcoin-clibitcoind --version
bitcoin-cli --versionsudo systemctl start bitcoinabc
sudo systemctl status bitcoinabc --no-pager
상태 확인:
sudo -iu xec
bitcoin-cli -datadir=/data/bitcoinabc getblockchaininfo
bitcoin-cli -datadir=/data/bitcoinabc getavalancheinfo
10. 한 줄 정리
현재 설치 방식에서는 “노드 중지 → 새 버전 다운로드 → /opt/bitcoin-abc 심볼릭 링크 교체 → 서비스 재시작” 이 업그레이드의 핵심입니다.
데이터 디렉토리(/data/bitcoinabc)와 서비스 파일은 그대로 두고, 바이너리만 교체하는 구조이므로 유지보수가 매우 간단합니다. 공식 업그레이드 절차 역시 같은 기본 원칙을 따릅니다.