NetBox 최신 버전으로 업그레이드하는 방법
우분투 서버에 설치된 NetBox v4.5.4를 v4.7.4로 업그레이드하는 방법입니다.
데이터베이스와 설정 파일을 백업한 후 최신 소스 코드를 적용하고 플러그인 및 데이터베이스 마이그레이션을 진행한다.
현재 버전 및 서비스 상태 확인
cd /opt/netbox
# 현재 체크아웃된 버전 확인
git describe --tags --exact-match
# NetBox 서비스 상태 확인
sudo systemctl status netbox netbox-rq --no-pager
# Python 버전 확인
python3 --version
# PostgreSQL 버전 확인
sudo -u postgres psql -c "SELECT version();"
# Redis 버전 확인
redis-server --version
1. 사전 백업
업그레이드 중 문제가 발생할 경우를 대비해 데이터베이스, 설정 파일 및 미디어 파일을 백업한다.
데이터베이스 백업
sudo -u postgres pg_dump -Fc -d netbox_db \
-f /var/backups/netbox_v4.5.4_backup_$(date +%Y%m%d).dump
설정 파일 및 미디어 백업
sudo cp -a /opt/netbox/netbox/netbox/configuration.py \
/opt/netbox/netbox/netbox/configuration.py_$(date +%Y%m%d)
sudo cp -a /opt/netbox/netbox/media /opt/netbox/netbox/media_$(date +%Y%m%d)
2. 최신 소스 코드 적용
NetBox 공식 릴리스 노트를 확인한 후 목표 버전으로 변경한다.
cd /opt/netbox
sudo git fetch --tags
sudo git checkout v4.7.4
# 버전 확인
sudo git describe --tags --exact-match
플러그인을 사용하는 경우 NetBox v4.7.4와의 호환성을 먼저 확인한다.
플러그인 의존성 확인
사용 중인 플러그인 및 추가 패키지를 등록한다.
sudo vim /opt/netbox/local_requirements.txt
netbox-topology-views
netbox-reorder-rack
django-auth-ldap
기존에 사용 중인 패키지와 플러그인만 등록하고 각 플러그인의 호환 버전을 확인한다.
3. 업그레이드 스크립트 실행
NetBox 설치 디렉터리에서 업그레이드 스크립트를 실행한다.
cd /opt/netbox
sudo ./upgrade.sh
스크립트는 Python 의존성 설치, 데이터베이스 마이그레이션 및 정적 파일 수집 등의 작업을 수행한다.
정상적으로 완료되면 다음 메시지가 출력된다.
...
Completed. Total entries: 3161
Upgrade complete! Don't forget to restart the NetBox services:
> sudo systemctl restart netbox netbox-rq
일반적으로 별도의 수동 마이그레이션은 필요하지 않다. 스크립트 실행 중 오류가 발생했다면 원인을 확인한 후 조치한다.
참고: 데이터베이스 마이그레이션 및 정적 파일 수집
# 데이터베이스 마이그레이션 상태 확인
sudo /opt/netbox/venv/bin/python \
/opt/netbox/netbox/manage.py showmigrations
# 데이터베이스 마이그레이션 적용
sudo /opt/netbox/venv/bin/python \
/opt/netbox/netbox/manage.py migrate
# 정적 파일 수집
sudo /opt/netbox/venv/bin/python \
/opt/netbox/netbox/manage.py collectstatic --no-input
문서 빌드 패키지 업데이트
sudo /opt/netbox/venv/bin/pip install --upgrade \
mkdocs mkdocstrings mkdocstrings-python
4. 서비스 재시작
설정 파일 존재 여부를 확인합니다.
sudo test -f /opt/netbox/netbox/netbox/configuration.py \
&& echo "configuration.py: OK"
NetBox 서비스를 재시작한다.
sudo systemctl restart netbox netbox-rq
Nginx 설정이나 관련 구성에도 변경 사항이 있다면 설정을 검증한 후 재시작한다.
sudo nginx -t
sudo systemctl restart nginx
5. 업그레이드 결과 확인
서비스 상태 확인
sudo systemctl status netbox netbox-rq nginx --no-pager
오류 로그 확인
sudo journalctl -u netbox -n 50 --no-pager
sudo journalctl -u netbox-rq -n 50 --no-pager
최종 점검
브라우저에서 NetBox에 접속해 로그인, 기존 데이터 조회, 플러그인 기능 및 첨부 파일 표시 여부를 확인한다.
참고URL
'리눅스' 카테고리의 다른 글
| 우분투 26.04에서 Vim Visual Mode 진입 키 비활성화하기 (0) | 2026.08.24 |
|---|---|
| HP DL380 Gen9 펌웨어 업그레이드(Firmware Update)하는 방법 (0) | 2026.06.25 |
| 우분투 24.04 Fluent Bit 최신 패키지 설치 및 다운그레이드 방법 (0) | 2026.06.22 |
| 우분투 24.04에서 운영체제를 최신 상태로 업데이트하는 방법 (0) | 2026.06.17 |
| CentOS 7에서 Python 3 버전을 소스 코드로 직접 컴파일하여 설치하는 방법 (0) | 2026.06.17 |