SLES 15 SP4离线安装NetworkManager循环依赖与网络故障问询
SLES 15 SP4 相关问题解决方案
NetworkManager离线安装循环依赖问题
这个循环依赖是SLES RPM包的正常设计,不是包损坏或依赖关系配置错误:
NetworkManager主包强制要求安装对应发行版的品牌定制包NetworkManager-branding,用来加载SUSE默认的网络配置规则、界面标识、适配参数NetworkManager-branding包做了版本强绑定,必须匹配完全一致版本的NetworkManager主包才能安装,因此反过来声明了对主包的依赖
解决方法非常直接,不要拆分两个包单独安装:
- 命令行直接安装时,把两个RPM包作为参数同时传给rpm命令,安装程序会自动处理双向依赖完成部署,示例命令:
注意两个包的版本号必须完全对应,否则还是会触发依赖报错。rpm -ivh NetworkManager-1.38.6-150400.3.3.1.x86_64.rpm NetworkManager-branding-SLE-1.38.6-150400.3.3.1.x86_64.rpm - 如果离线包数量多,更推荐搭建本地zypper源安装:把所有下载好的RPM包放到同一个目录,执行以下命令生成本地源,zypper会自动解析所有依赖包括循环依赖,不需要手动指定包顺序:
zypper addrepo /opt/local-rpm-repo local-offline-repo zypper refresh --repo local-offline-repo zypper install NetworkManager
eth3网卡UP状态下无法获取DHCP地址排查
不需要等NetworkManager安装完成,用系统自带工具就能先排查修复网络问题:
- 先确认物理链路状态:执行
ethtool eth3查看输出中Link detected字段,若值为no,说明物理层不通,需要排查网线连接、交换机端口状态、网卡双工速率配置,网卡显示UP仅代表驱动加载成功,不代表链路连通。 - 跳过YaST直接手动触发DHCP请求:执行
dhclient -v eth3,加上-v参数可以看到完整的DHCP交互过程,如果能正常获取IP,说明是SLES默认的网络管理服务wicked配置异常,检查/etc/sysconfig/network/ifcfg-eth3文件中BOOTPROTO参数是否设置为dhcp,确认后执行systemctl restart wicked恢复服务即可。 - 如果手动执行dhclient也无法获取地址,执行
tcpdump -i eth3 port 67 or port 68 -nn抓包看DHCP交互:- 如果没有抓到发出的DHCP Discover包,检查网卡是否配置了错误的VLAN标签、本地防火墙是否拦截了UDP 67/68端口的出站流量
- 如果发出了Discover包但没有收到DHCP Offer,排查二层网络VLAN配置是否正确、DHCP服务器对应地址池是否耗尽、交换机端口是否配置了端口隔离阻断了DHCP报文
内容的提问来源于stack exchange,提问作者Edwin Lai
相关产品推荐
相关产品推荐

