如何通过Landscape为离线VLAN中的Ubuntu服务器提供更新?
如何通过Landscape为离线VLAN中的Ubuntu服务器提供更新?
我来帮你解决这个问题,其实Landscape完全支持给离线环境的Ubuntu服务器推送更新,核心思路是先在有网的Landscape节点上搭建本地APT镜像源,再通过Landscape批量配置离线机器使用这个本地源,最后用Landscape的更新管理功能推送更新,具体步骤如下:
1. 在Landscape所在的VLAN11服务器上搭建本地APT镜像源
首先得把Ubuntu官方源的软件包同步到本地,这样离线机器就能从这里获取更新。推荐用apt-mirror工具来做:
- 安装apt-mirror:
sudo apt install apt-mirror - 编辑配置文件
/etc/apt/mirror.list,添加你需要同步的Ubuntu版本和组件(比如以Ubuntu 22.04为例):
如果你有其他版本的Ubuntu服务器,比如20.04,就把deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu jammy-security main restricted universe multiversejammy换成focal即可。 - 运行同步命令开始下载包:
这个过程可能需要较长时间,取决于你的带宽和需要同步的包数量,耐心等待完成即可。sudo apt-mirror
2. 配置本地源的HTTP访问
离线机器需要能访问到这个本地镜像,所以得在Landscape服务器上搭一个简单的HTTP服务,比如用Apache:
- 安装Apache:
sudo apt install apache2 - 将镜像目录软链接到Apache的网站根目录,方便通过HTTP访问:
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu-mirror - 确保VLAN11和VLAN12之间的防火墙允许80端口的访问,这样离线机器能顺利连接到本地源。
3. 通过Landscape批量配置离线机器的APT源
既然你的Ubuntu服务器已经全部注册到Landscape了,就不用逐个修改机器的源配置,直接用Landscape的批量配置功能:
- 登录Landscape控制台,找到「配置管理」板块,创建一个新的APT源配置项。
- 将机器原来的外网APT源替换成你的本地源地址,格式为
http://<你的Landscape服务器IP>/ubuntu-mirror,注意对应不同Ubuntu版本的release名称(比如jammy、focal)。 - 把这个配置应用到所有VLAN12的机器上,Landscape会自动推送配置并更新机器的
/etc/apt/sources.list或/etc/apt/sources.list.d/下的文件。
4. 通过Landscape推送更新
当本地源同步完成、机器APT源配置好之后,就可以用Landscape管理更新了:
- 在Landscape控制台中选中所有VLAN12的机器,查看它们的更新状态(Landscape会自动检测本地源中的可用更新)。
- 你可以批量选择要安装的更新,或者设置自动更新策略(比如定期安装安全更新),Landscape会在后台自动执行
apt update && apt upgrade类的命令,完全不需要机器连接外网。
额外注意事项
- 定期在Landscape服务器上运行
sudo apt-mirror,同步最新的软件包,保证本地源的更新时效性。 - 如果你的机器需要第三方PPA或自定义软件源的更新,也要把这些源添加到
apt-mirror的配置中同步到本地,再通过Landscape配置机器使用对应的本地源。 - 确认VLAN之间的防火墙允许Landscape客户端与服务器的通信端口(默认是443和8080,具体以你的Landscape配置为准),否则机器无法接收Landscape的配置和更新指令。
备注:内容来源于stack exchange,提问作者InternetEnabledSquirrel
相关产品推荐
相关产品推荐

