适用于:✔️ Linux VM
总结
本文讨论使用 SUSE Linux Enterprise Server (SLES) 映像设置Microsoft Azure虚拟机(VM),但 VM 无法连接到 SUSE 订阅管理工具(SMT)存储库的问题。 本文提供了一些基本的故障排除步骤,以及针对特定情况应采取的措施,例如在 SUSE 中用于管理软件包的 Zypper 命令行工具发生故障时的处理方法。 Microsoft的 Linux 专家根据 SUSE 的支持经验和文档汇编了此信息。
请务必阅读每个命令的输出以获取更多线索。 保存结果和消息,以便进一步进行故障排除。
先决条件
- 从 VM 进行 Internet 访问
- Python 语言解释器
- 客户端 URL (curl) 工具
- Zypper 包管理器
- OpenSSL 工具包
- SUSEConnect 工具
- registercloudguest 工具
备注
如果 SLES VM 位于代理服务器后面,请查看 通过代理访问公有云更新基础结构中讨论的技术注意事项。 对于Azure上的 SLES VM,以下条件适用:
-
从 SLES VM 连接到更新服务器依赖于公共 DNS 服务器无法解析的主机名解析。 因此,某些 Linux/Unix 代理服务器实现可能需要在代理服务器端手动将记录 放入 /etc/hosts 中,以便可以解析“smt-azure”名称。
下面是一个示例记录:
52.165.88.13 smt-azure.susecloud.net smt-azure可用 IP 地址因Azure区域而异。 有关详细信息,请参阅此 smt XML 文件中的IP 地址列表。
-
实例元数据服务(IMDS)使用的 IP 地址 168.63.129.16 和 169.254.169.254 应绕过代理访问。 无法通过代理服务器访问这些特殊的 IP 地址,SLES VM 需要来自 IMDS 的信息来识别它们正在运行的云环境,并查找适当的 SUSE 更新服务器。
例如,
NO_PROXY应在 SLES VM 上配置 /etc/sysconfig/proxy* 中的*变量,如下所示:NO_PROXY="localhost, 127.0.0.1, 168.63.129.16, 169.254.169.254"
故障排除清单
步骤 1:运行存储库诊断脚本
运行 SUSE 工程提供的 SUSEcloud 存储库检查脚本 。 此Python脚本执行以下任务:
- 检查是否连接到 SUSE 公有云存储库。
- 尝试解决任何现有问题。
- 在
/var/log/目录中创建日志存档,并将其命名为 sc-repocheck_<>YYMMDD_hhmmss.tar.xzq。 如果连接或注册问题仍然存在,则此日志可能很有用。
若要启动脚本,请运行以下命令,将脚本从其GitHub位置传输到Python解释器:
sudo python3 <(curl --location --silent https://raw.githubusercontent.com/rfparedes/susecloud-repocheck/main/sc-repocheck.py)
若要成功运行,该命令需要从 VM 进行 Internet 访问。 否则,需要先下载脚本,然后修改命令,使其运行。
步骤 2:检查服务器 IP 地址在端口 443 上的连接性
VM 必须能够在端口 443 上与 SUSE 存储库服务器 smt-azure.susecloud.net (基于 VM 所在的区域)以及区域服务器打开 TCP 连接。 可以在以下位置找到存储库服务器和区域服务器的 IP 地址列表。
| IP 地址类型 | 包含 IP 地址列表的 URL |
|---|---|
| 所有区域的 SMT 服务器 IP 地址 | https://susepubliccloudinfo.suse.com/v1/microsoft/servers/smt.xml |
| 区域服务器 IP 地址 | https://susepubliccloudinfo.suse.com/v1/microsoft/servers/regionserver.xml |
要检查您所在区域的存储库服务器和区域服务器的连接,请使用 OpenSSL s_client 命令 来测试安全套接字层(SSL)和传输层安全(TLS)客户端连接。 将占位符的相应 IP 地址插入到以下语法中:
sudo openssl s_client -connect <IP address>:443
运行此命令后,将显示服务器证书。 该命令还会启动正确的 SSL 连接。
以下示例显示了美国东部 2 区域中 SUSE 存储库服务器的成功命令输出(位置代码: eastus2,IP 地址: 20.186.112.116):
$ echo "" | openssl s_client -connect 20.186.112.116:443
CONNECTED(00000003)
Can't use SSL_get_servername
depth=1 C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net
verify return:1
depth=0 C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net
verify return:1
---
Certificate chain
0 s:C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net
i:C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net
---
Server certificate
-----BEGIN CERTIFICATE-----
<64-character lines of printable ASCII characters>
.
.
.
-----END CERTIFICATE-----
subject=C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = Public Cloud, CN = Update server certificate (smt-azure.susecloud.net), emailAddress = suse-public-cloud@susecloud.net
issuer=C = DE, ST = Bavaria, L = Nuremberg, O = SUSE, OU = CSM, CN = SUSE, emailAddress = suse-public-cloud@susecloud.net
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2538 bytes and written 373 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 4096 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE
备注
若要查看不同 SUSE 版本的支持范围,请参阅 SUSE 生命周期。
方案 1:未显示服务器证书或 SSL 会话
输出不显示服务器证书或 SSL 会话。
原因
当命令跨越执行 SSL 数据包检查的网络虚拟设备(NVA)时,通常会发生这种情况。 此检查会导致 NVA 将自己的 SSL 证书注入加密会话。
由于 SUSE 使用证书绑定,注入的另一个 SSL 证书可能会导致绑定操作中断。 如果固定断开,SUSE 存储库将拒绝连接。
解决方案
确保 NVA 不会执行以下操作:
- 阻止访问 SUSE 存储库 IP 地址。
- 对与 SUSE 存储库的安全连接执行 SSL 数据包检查。
- 在服务器上插入 NVA SSL 证书。
场景 2:Cloud-regionsrv-client 问题和注册失败
若要诊断此方案,请从 Zypper 历史记录或已安装 RPM 包的列表检查已安装 cloud-regionsrv-client 包的状态:
-
从 Zypper 历史记录:
sudo grep cloud-region /var/log/zypp/history2021-07-12 08:20:49 cloud-regionsrv-client.rpm installed ok -
从已安装的 RPM 软件包列表中:
sudo rpm -qa | grep cloud-regioncloud-regionsrv-client-9.1.5-6.43.1.noarch cloud-regionsrv-client-plugin-azure-1.0.1-6.43.1.noarch
主客户端包应至少为版本 10.x。
如下例所示,如果重试手动重新注册或在步骤 1中使用存储库检查,将显示以下输出/var/log/cloudregister:
sudo tail /var/log/cloudregister
2025-01-29 20:20:05,876 INFO:Using API: regionInfo
2025-01-29 20:20:05,981 INFO:Region server arguments: ?regionHint=northcentralus
2025-01-29 20:20:05,981 INFO:Getting update server information, attempt 1
2025-01-29 20:20:05,981 INFO: Using region server: 104.45.31.195
2025-01-29 20:20:06,184 ERROR: No response from: 104.45.31.195
2025-01-29 20:20:06,184 INFO: Using region server: 23.100.36.229
2025-01-29 20:20:06,286 ERROR: No response from: 23.100.36.229
2025-01-29 20:20:06,286 INFO: Using region server: 52.187.53.250
2025-01-29 20:20:06,915 INFO:No current registration server set.
2025-01-29 20:20:06,917 ERROR:No response from: [('23.101.171.119', '2603:1030:603::2e9'), ('23.101.164.199', '2603:1030:603::625'), ('23.96.231.74', '2603:1030:603::2e6')]
输出指示存在连接错误。 但是,此指示不是真的。 之所以发生此错误,是因为注册脚本中的错误处理过程不显示旧库中的证书错误。
脚本输出也可能错误地指示找不到命令输出中显示的 sudo tail /var/log/cloudregister 其中一个 SMT IP 的证书。 此问题也是库问题,而不是影响 VM 上的 CA 列表的问题。
原因
如果未定期更新实例,它们可能会与更新基础结构 API 不兼容。 这种情况会导致更新实例所需的存储库失败。
解决方案
-
创建一个即用即付实例,该实例使用与具有损坏存储库的 OS 相同的 OS。
-
创建临时目录。
sudo mkdir -p /root/packages/rpms -
根据受影响的 VM 的 SLES 版本下载以下包:
SLES 12
sudo zypper --pkg-cache-dir /root/packages/ download cloud-regionsrv-client cloud-regionsrv-client-plugin-azure regionServiceClientConfigAzure python3-azuremetadata python3-cssselect python3-lxml python3-M2Crypto python3-zypp-plugin python3-dnspython suseconnect-ruby-bindings suseconnect-ngSLES 15
sudo zypper --pkg-cache-dir /root/packages/ download cloud-regionsrv-client cloud-regionsrv-client-plugin-azure regionServiceClientConfigAzure python3-azuremetadata suseconnect-ng python3-cssselect python3-toml python3-lxml python3-M2Crypto python3-zypp-plugin python3-dnspython libsuseconnect suseconnect-ruby-bindings docker docker-bash-completion runc containerd libcontainers-common bash-completion -
运行以下命令。
sudo find /root/packages/ -type f -name "*.rpm" -exec cp {} /root/packages/rpms/ \; sudo cd /root/packages sudo tar -czvf suse-public-registration.tgz rpms -
将
suse-public-registration.tgz传输到损坏的实例。sudo scp /root/packages/suse-public-registration.tgz user@targetip:/tmp备注
替换
user并targetip根据需要。 -
登录到损坏的实例以解压并安装这些软件包。
sudo cd tmp sudo tar xvfz suse-public-registration.tgz sudo cd rpms sudo zypper --no-refresh --no-remote --non-interactive install --force *.rpm -
再次注册 VM。
sudo registercloudguest --force-new -
Zypper 无法在非交互模式下运行。 由于请求选择解决方案的其他依赖项,会发生此故障。 如果发生此故障,请运行以下命令并选择解决方案:
sudo zypper --no-refresh --no-remote install --force *.rpm sudo registercloudguest --force-new- 若要以最后方式运行,请运行:
sudo rpm -Uvh *.rpm --force sudo registercloudguest --force-new
有关详细信息,请参阅 云实例存储库由于包过时而失败。
方案 3:常规注册问题
原因
您的虚拟机用于访问软件仓库的凭据已过期,或者在尝试进行更新或安装后,您会收到提示您的系统尚未注册的消息。
解决方案
若要解决大多数注册问题,请使用参数指定 SUSEConnect 清理命令和 force-new 命令的组合:
sudo SUSEConnect --cleanup
sudo registercloudguest --force-new
备注
如果 VM 是 SLES SAP,则还可以使用 SLES SAP 产品的名称运行命令:
-
SUSEConnect运行以下命令以获取当前注册状态,包括 SLES SAP 产品的名称:sudo SUSEConnect --url https://smt-azure.susecloud.net --status-text -
运行
SUSEConnect命令并使用产品名称来激活产品:sudo SUSEConnect --url https://smt-azure.susecloud.net --product <SLES-SAP-product-name>
如果这些命令不成功,请清理所有存储库信息,然后尝试注册 VM。 与证书和其他组件相关的任何错误消息都应消失。 运行以下命令:
sudo SUSEConnect --cleanup
sudo rm /etc/zypp/{credentials,services,repos}.d/*
sudo rm --force --recursive /var/cache/zypp/*
sudo rm /var/lib/cloudregister/*
sudo registercloudguest --force-new
最后,再次运行 SUSEConnect 验证 VM 注册状态:
sudo SUSEConnect --status
在 JSON 命令输出中,查找条目 "status":"Registered" 。
方案 4:未提供证明的数据(422)
运行 存储库诊断脚本后,脚本尝试修复影响 zypper update 命令的问题时,可能会看到以下错误条目:
Error: Activating SLES_SAP 12.5 x86_64 ... Error: Registration server returned 'Instance verification failed: No attested data supplied' (422)
原因
由于 SUSE 公有云包过时,VM 无法连接到 SUSE 存储库。
解决方案
-
再次运行存储库诊断脚本。
-
如果“422”错误仍然存在,请
/etc/regionserverclnt.cfg修改配置文件以匹配以下文本:[server] api = regionInfo certLocation = /var/lib/regionService/certs regionsrv = 23.100.36.229,40.121.202.140,52.187.53.250,104.45.31.195,191.237.254.253 [instance] dataProvider = /usr/bin/azuremetadata --api latest --subscriptionId --billingTag --attestedData --signature --xml instanceArgs = msftazure httpsOnly = true -
重新注册 VM:
sudo registercloudguest --force-new
方案 5:尝试注册到 SUSE 存储库时某些模块的错误
尝试将 VM 注册到 SUSE 存储库时,会看到以下 /var/log/cloudregister错误条目:
2024-01-31 19:22:44,947 INFO:Registration: /usr/sbin/SUSEConnect --url https://smt-azure.susecloud.net --product sle-module-legacy/12/x86_64 --instance-data /var/cache/cloudregister/0fc8a276-273c-4bd9-838d-6a2a41a637b0
2024-01-31 19:22:45,492 ERROR: Registration failed: SUSEConnect error: Downloading https://smt-azure.susecloud.net/repo/SUSE/Products/SLE-Module-Legacy/12/x86_64/product.license/directory.yast failed (code: 401): <html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx/1.21.5</center>
</body>
</html>
原因
suseconnect-ng 软件包 1.4.0 版本中的一个缺陷会导致该问题。
这些错误仅在以下模块中发生:
sle-module-legacysle-module-web-scriptingsle-module-hpcsle-sdk
解决方案
-
将以下文件从
/etc/products.d文件夹移动到/tmp该文件夹:sle-module-hpc.prodsle-module-legacy.prodsle-module-web-scripting.prodsle-sdk.prod
sudo cd /etc/products.d sudo mv sle-module-hpc.prod sle-module-legacy.prod sle-module-web-scripting.prod sle-sdk.prod /tmp -
将 VM 注册到 SUSE 存储库:
sudo registercloudguest --force-newRegistration should now be successful. -
刷新存储库缓存:
sudo zypper ref -s -
如有必要,请将
suseconnect-ng包更新为版本 1.6.0 或更高版本:备注
若要验证版本
suseconnect-ng,请运行以下命令:sudo rpm -q suseconnect-ngsuseconnect-ng-1.4.0~git0.b0f7c25bfdfa-3.3.8.x86_64sudo zypper up suseconnect-ng -
更新
suseconnect-ng后,将模块定义文件还原到/etc/products.d。sudo cd /tmp sudo mv sle-module-hpc.prod sle-module-legacy.prod sle-module-web-scripting.prod sle-sdk.prod /etc/products.d -
重新执行存储库的注册过程:
sudo registercloudguest --force-newRegistration Successful
方案 6:注册失败,凭据文件中出现“WARNING: 找到未知条目: system_token=”错误。
该 /var/log/cloudregister 日志显示“在凭据文件”system_token=“中发现未知条目的警告消息,并且 VM 无法注册到 SUSE 公有云存储库。
2023-10-24 17:50:58,140 DEBUG:Starting new HTTPS connection (1): smt-azure.susecloud.net:443
2023-10-24 17:50:58,243 ERROR:Registration with ('52.237.80.2', None) failed. Trying ('52.139.216.51', None)
2023-10-24 17:50:58,244 WARNING:Found unknown entry in credentials file "system_token=
"
2023-10-24 17:50:58,244 INFO:No current registration server set.
2023-10-24 17:50:58,247 INFO:Modified /etc/hosts, added: 52.139.216.51 smt-azure.susecloud.net smt-azure
2023-10-24 17:53:34,841 WARNING:Found unknown entry in credentials file "system_token=
"
原因
由于临时证书捆绑包不正确, ca-bundle.pem.tmp因此会发生此问题。
解决方案
-
删除该文件并更新
ca-certificates:sudo registercloudguest --clean sudo rm /var/lib/ca-certificates/ca-bundle.pem.tmp -
更新证书:
sudo update-ca-certificates -
成功注册 VM:
sudo registercloudguest --force-new
方案 7:VM 由于 azuremetadata 错误而无法连接到 SMT
检查 /var/log/cloudregister时,会看到以下 azuremetadata 错误消息:
sudo tail -10 /var/log/cloudregister
2020-10-30 22:47:43,200 INFO:No current registration server set.
2020-10-30 22:47:43,222 INFO:Modified /etc/hosts, added: 52.147.176.11 smt-azure.susecloud.net smt-azure
2020-10-30 22:48:03,358 ERROR:Data collected from stderr for instance data collection "b'An error occurred when fetching metadata:\ntimed out\nAn error occurred when fetching metadata:\ntimed out\nusage: azuremetadata [-h] [-x] [-j] [-o OUTPUT] [-a API] [--device [DEVICE]]\n [--attestedData [ATTESTEDDATA]]\n [--billingTag [BILLINGTAG]]\nazuremetadata: error: unrecognized arguments: --subscriptionId\n'"
2020-10-30 22:48:04,519 INFO:Writing SMT rootCA: /usr/share/pki/trust/anchors
2020-10-30 22:48:04,526 INFO:Updating CA certificates: update-ca-certificates
2020-10-30 22:48:06,569 INFO:No credentials entry for "*smt-azure_susecloud_net"
2020-10-30 22:48:06,608 ERROR:Unable to obtain product information from server "52.147.176.11,None"
Unprocessable Entity
{"type":"error","error":"The requested product 'SUSE Linux Enterprise Server for SAP Applications 15 SP2 x86_64' is not activated on this system.","localized_error":"The requested product 'SUSE Linux Enterprise Server for SAP Applications 15 SP2 x86_64' is not activated on this system."}
Unable to register modules, exiting.
由于 azuremetadata 错误,VM 无法连接到 Azure SUSE 云存储库,如以下输出所示:
sudo SUSEConnect -s
Error: Invalid system credentials, probably because the registered system was deleted in SUSE Customer Center. Check https://scc.suse.com whether your system appears there. If it does not, please call SUSEConnect --cleanup and re-register this system.
sudo zypper repos
Warning: There are no enabled repositories defined. Use 'zypper addrepo' or 'zypper modifyrepo' commands to add or enable repositories.
原因 1
配置文件 /etc/regionserverclnt.cfg 包括 --subscriptionId 该条目。 此条目会导致 azuremetadata 命令出错:
sudo cat /etc/regionserverclnt.cfg
[server]
api = regionInfo
certLocation = /var/lib/regionService/certs
regionsrv = 23.100.36.229,40.121.202.140,52.187.53.250,104.45.31.195,191.237.254.253
[instance]
dataProvider = /usr/bin/azuremetadata --api 2019-08-15 --subscriptionId --billingTag --xml
instanceArgs = msftazure
解决方案 1
-
在配置文件
--subscriptionId中删除/etc/regionserverclnt.cfg:sudo sed -i "s/--subscriptionId //" regionserverclnt.cfg -
重新注册 VM:
sudo SUSEConnect --cleanup sudo rm -f /etc/SUSEConnect sudo rm -rf /etc/zypp/credentials.d/\* sudo rm /var/lib/cloudregister/* sudo rm /var/cache/zypp/* sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts sudo registercloudguest --force-new
原因 2
使用 /usr/sbin/registercloudguest --force-new 命令将 SUSE 服务器注册到存储库时发生错误。 命令输出不指示注册成功,因为 /etc/zypp/credentials.d/SCCcredentials 文件已损坏。
解决方案 2
-
将
/etc/zypp/credentials.d文件夹移动到临时文件夹:sudo mv /etc/zypp/credentials.d /tmp -
重新注册 VM:
sudo SUSEConnect --cleanup sudo rm -f /etc/SUSEConnect sudo rm -rf /etc/zypp/credentials.d/\* sudo rm /var/lib/cloudregister/* sudo rm /var/cache/zypp/* sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts sudo registercloudguest --force-new
方案 8:由于 SLES 15 SP5 中 Python 3.11 的兼容性问题,导致 SUSE 注册失败。
运行 SUSE 存储库检查脚本 screpocheck.py 时,会显示一条 ModuleNotFoundError: No module named 'cloudregister' 错误信息:
sudo python3 sc-repocheck.py
2024-08-07 13:53:29,261 INFO:sc-repocheck 1.3.1
2024-08-07 13:53:29,291 INFO: Checking package versions. 2024-08-07 13:53:29,307 INFO: Package versions OK. 2024-08-07 13:53:29,312 INFO: Checking baseproduct.
2024-08-07 13:53:29,316 INFO: SLES baseproduct OK.
2024-08-07 13:53:29,321 INFO: Checking /etc/hosts for multiple records. 2024-08-07 13:53:29,325 WARNING: No rmt records exist.
2024-08-07 13:53:29,325 INFO: Checking metadata access.
2024-08-07 13:53:29,360 INFO: Metadata OK.
2024-08-07 13:53:29,364 INFO: Checking regionserver access.
2024-08-07 13:53:31,160 INFO: Region server access OK.
2024-08-07 13:53:31,165 INFO: Checking RMT server entry is for correct region.
2024-08-07 13:53:31,241 ERROR: Cannot get IP of RMT server entry.
2024-08-07 13:53:31,252 INFO: http check unnecessary.
2024-08-07 13:53:31,246 INFO: Checking http port access to RMT servers.
2024-08-07 13:53:31,257 INFO: Checking https port access to RMT servers.
2024-08-07 13:53:31,337 INFO: https access OK.
2024-08-07 13:53:31,342 INFO: Checking https access using RMT certs.
2024-08-07 13:53:31,442 INFO: An exception of type ConnectionError occurred. Disregarding.
2024-08-07 13:53:31,449 INFO: EVERYTHING OK.
2024-08-07 13:53:31,453 INFO: Collecting debug data. Please wait 1-2 minutes maybe longer, depending on machine type. Traceback (most recent call last):
File "/usr/bin/azuremetadata", line 11, in <module>
from azuremetadata import azuremetadatautils, azuremetadata
ModuleNotFoundError: No module named 'azuremetadata'
2024-08-07 13:53:31,565 ERROR: PROBLEM: Issue with azuremetadata output. Check metadata access. Traceback (most recent call last):
File "/usr/sbin/registercloudguest", line 43, in <module>
import cloudregister.registerutils as utils
ModuleNotFoundError: No module named 'cloudregister'
2024-08-07 13:53:34,656 INFO: Check repositories. An attempt was made to fix.
2024-08-07 13:53:34,659 INFO: Debug data location: /var/log/sc-repocheck_240807_135331.tar.xz
2024-08-07 13:53:34,671 INFO: Report bugs to https://github.com/SUSE/susecloud-repocheck/issues
原因
不支持任何模块与 Python 3.11 一起使用。
解决方法
根据 SUSE,该包尚不支持 SLES15 SP5 上的 Python 3.11。 不要将 Python 3.11 用作现有 SLES 系统上的默认 python3 解释器,因为它目前在所有 SLES 系统中不受支持。
有关详细信息,请参阅 incompatible-changes-ahead-for-public-cloud-sdks。
若要解决此问题,请将 VM 设置为使用默认版本 3.6 Python:
-
将Python版本指向
3.6.x:sudo unlink /usr/bin/python3 sudo ln -s /usr/bin/python3.6 /usr/bin/python3 -
验证 VM 中的
python3版本:sudo python3 --versionPython 3.6.15 -
重新注册 VM:
sudo /usr/sbin/registercloudguest --force-newRegistration succeeded -
验证 VM 是否已成功注册:
sudo SUSEConnect -s[{"identifier":"SLES", "version":"15.5","arch":"x86_64","status":"Registered"},{"identifier": "sle-module-basesystem", "version":"15.5","arch":"x86_6 ,"status":"Registered"},{"identifier": "sle-module-containers", "version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-de top-applications","version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-development-tools","version":"15.5"," 64","status":"Registered"},{"identifier":"sle-module-public-cloud", "version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-modu -python3","version":"15.5","arch":"x86 64","status":"Registered"},{"identifier": "sle-module-server-applications","version":"15.5","arch":"x86 64", tatus":"Registered"}, {"identifier": "sle-module-web-scripting", "version":"15.5","arch":"x86 64","status":"Registered"}]
方案 9:已启用 LTSS 的 VM SLES 12 SP5 上的 SUSE 注册失败
启用了 LTSS 的 SLES 12 SP5 VM 无法连接到 SMT 存储库。 以下错误消息显示在 /var/log/cloudregister.
INFO:Registration: /usr/sbin/SUSEConnect --url [https://smt-azure.susecloud.net](https://smt-azure.susecloud.net) --de-register --product SLES-LTSS/12.5/x86_64
INFO:Non free extension SLES-LTSS/12.5/x86_64 failed to be removed
解决方法:
- 验证目录
/etc/products.d下已启用的模块列表。
sudo ls -l /etc/products.d/
total 24
-rw-r--r-- 1 root root 2746 2024-10-08 07:40 SLES-LTSS-Extended-Security.prod
-rw-r--r-- 1 root root 2621 2024-10-08 05:13 SLES-LTSS.prod
-rw-r--r-- 1 root root 2922 2024-09-25 14:21 SLES.prod
lrwxrwxrwx 1 root root 9 2018-01-09 08:47 baseproduct -> SLES.prod
-rw-r--r-- 1 root root 2254 2017-11-23 04:48 sle-module-web-scripting.prod
-rw-r--r-- 1 root root 2363 2019-10-18 06:58 sle-sdk.prod
-
通过重命名 LTSS 相关模块来禁用它们。
sudo mv SLES-LTSS.prod SLES-LTSS.prod-bkpsudo mv SLES-LTSS-Extended-Security.prod SLES-LTSS-Extended-Security.prod-bkp
sudo ls -l /etc/products.d/
total 24
-rw-r--r-- 1 root root 2746 2024-10-08 07:40 SLES-LTSS-Extended-Security.prod-bkp
-rw-r--r-- 1 root root 2621 2024-10-08 05:13 SLES-LTSS.prod-bkp
-rw-r--r-- 1 root root 2922 2024-09-25 14:21 SLES.prod
lrwxrwxrwx 1 root root 9 2018-01-09 08:47 baseproduct -> SLES.prod
-rw-r--r-- 1 root root 2254 2017-11-23 04:48 sle-module-web-scripting.prod
-rw-r--r-- 1 root root 2363 2019-10-18 06:58 sle-sdk.prod
-
使用以下命令重新注册 VM。
sudo SUSEConnect --cleanup sudo rm -f /etc/SUSEConnect sudo rm -rf /etc/zypp/credentials.d/* sudo rm -rf /etc/zypp/repos.d/* sudo rm -f /etc/zypp/services.d/* sudo rm /var/lib/cloudregister/* sudo rm -rf /var/cache/zypp/* sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts sudo /usr/sbin/registercloudguest --force-newRegistration succeeded -
验证 SMT 存储库连接:
sudo zypper refreshsudo SUSEConnect --status -
成功注册 SMT 存储库后,重新启用 SUSE 文章中指定的 LTSS - 如何将长期 Service Pack 支持存储库分配给已安装的系统。