本文最后更新于 2024年12月4日 晚上
简介
本教程用于源码部署安装的NetBox进行升级,使用Rocky Linux 9.5 作为示范系统。
Netbox 系列文章:https://songxwn.com/categories/NetBox/
升级路线图
如上图所示,3.0 升级 4.0 版本前需要升级到 3.7的最新版,4.0之后的版本升级最新目前无最低版本要求。
升级版本要求
Python3 要求大于 3.10
PostgreSQL 要求大于 12
Redis 要求大于 4.0
PS:主要是注意Python版本
开始升级
注意:升级前,先停止NetBox服务 sudo systemctl stop netbox netbox-rq
示例升级前旧版本为 4.0-bate2,安装目录为 /opt/netbox-4.0-beta2
安装Python 3.12
1 2 3 4 5 6 7
| dnf install python3.12 python3.12-pip python3.12-devel python3-pip -y
python3.12 -V # 验证版本
Python 3.12.x
|
下载解压新版本
1 2 3 4 5 6 7 8 9 10
| NEWVER=4.1.7
wget https://github.com/netbox-community/netbox/archive/v$NEWVER.tar.gz
sudo tar -xzf v$NEWVER.tar.gz -C /opt
sudo ln -sfn /opt/netbox-$NEWVER/ /opt/netbox
|
查看目录如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| tree -L 2 /opt/ /opt/ ├── netbox -> /opt/netbox-4.1.7/ ├── netbox-4.0-beta2 │ ├── base_requirements.txt │ ├── CHANGELOG.md │ ├── contrib │ ├── CONTRIBUTING.md │ ├── docs │ ├── gunicorn.py │ ├── LICENSE.txt │ ├── mkdocs.yml │ ├── netbox │ ├── NOTICE │ ├── __pycache__ │ ├── pyproject.toml │ ├── README.md │ ├── requirements.txt │ ├── scripts │ ├── SECURITY.md │ ├── upgrade.sh │ └── venv └── netbox-4.1.7 ├── base_requirements.txt ├── CHANGELOG.md ├── contrib ├── CONTRIBUTING.md ├── docs ├── LICENSE.txt ├── mkdocs.yml ├── netbox ├── NOTICE ├── pyproject.toml ├── README.md ├── requirements.txt ├── ruff.toml ├── scripts ├── SECURITY.md └── upgrade.sh
|
迁移配置文件到新的版本目录下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| OLDVER=netbox-4.0-beta2
# 配置旧安装目录的名字为变量
sudo cp /opt/$OLDVER/local_requirements.txt /opt/netbox/
# 复制插件安装PIP列表过去,如果没有可以忽略
sudo cp /opt/$OLDVER/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
# 复制主配置文件过去
sudo cp /opt/$OLDVER/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/
# 复制LDAP配置文件过去 ,如果没有可以忽略
sudo cp -pr /opt/$OLDVER/netbox/media/ /opt/netbox/netbox/ sudo cp -r /opt/$OLDVER/netbox/scripts /opt/netbox/netbox/ sudo cp -r /opt/$OLDVER/netbox/reports /opt/netbox/netbox/
# 复制媒体、脚本、报告文件夹到新版本安装目录
sudo cp /opt/$OLDVER/gunicorn.py /opt/netbox/
# 复制gunicorn.py 文件
|
运行升级脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| cd /opt/netbox
# 进入安装目录
sed -i '1i pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple' /opt/netbox/upgrade.sh
# 替换PIP为清华源,若不需要可忽略。
sudo PYTHON=/usr/bin/python3.12 ./upgrade.sh
# 执行升级
sudo systemctl restart netbox netbox-rq
# 重启进程
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
# 如果是从3.0 升级到4.0,需要此操作,若不是则不需要。
|
参考官方文档
https://netboxlabs.com/docs/netbox/en/stable/installation/upgrading/
技术交流群
发送邮件到 ➡️ me@songxwn.com
或者关注WX公众号:网工格物
博客(最先更新)
https://songxwn.com/