[排错] 解决 openSUSE & SUSE 使用 zipper 命令时报错 “error: can’t create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Resource temporarily unavailable)”

报错代码:

error: can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Resource temporarily unavailable)

解决方法:

步骤一:删除 Zypper 的软件数据库

# rm -rf /var/lib/rpm/_db*

步骤二:重建 Zypper 的软件数据库

# rpm --rebuilddb

步骤三:刷新 Zypper 缓存

# zypper refresh

[CONTENT] The network connections required for system register

Content:

RHEL:

DomainPort NumberPort protocol
subscription.rhsm.redhat.com443TCP
cdn.redhat.com443TCP
RHEL Register Connections Requirement

SLES:

DomainPort NumberPort protocol
scc.suse.com80 or 443
TCP
updates.suse.com80 or 443
TCP
installer-updates.suse.com80 or 443TCP
SLES Register Connections Requirement

Reference:

https://access.redhat.com/solutions/65300

https://www.suse.com/support/kb/doc/?id=000021034#:~:text=%2A%20The%20current%20list%20of%20IPs,for%20scc.suse.com%20and%20registry.suse.com%20are%3A%2099.83.188.102

[步骤] SLES 软件库的启用和禁用

注意:

在启用或禁用 SLES 的软件库前,要先注册此 SLES

正文:

步骤一:显示所有可用软件库

# SUSEConnect --list-extensions

步骤二:启用软件库

# SUSEConnect -p sle-module-live-patching/15.3/x86_64

(补充:这里以启用 sle-module-live-patching/15.3/x86_64 软件库为例)

步骤三:禁用软件库

# SUSEConnect -d -p sle-module-basesystem/15.3/x86_64

(补充:这里以禁用用 sle-module-live-patching/15.3/x86_64 软件库为例)

[步骤] SLES 到 SUSE 官网的注册和取消注册

正文:

步骤一:注册到 SLES 官网

# SUSEConnect -r <ActivationCode> -e <EmailAddress>

(补充:这里的 <ActivationCode> 和 <EmailAddress> 是在注册了 SUSE 账号并购买了对应的的订阅以后获得)

内容二:取消注册 SLES 到 SUSE 官网

2.1 取消注册 SLES 到 SUSE 官网

# SUSEConnect –de-register

或者:

# SUSEConnect -d

2.2 清空客户端与 SUSE 官网相关的缓存

# SUSEConnect --cleanup

2.3 删除客户端与 SUSE 官网相关的文件

# rm -f /etc/SUSEConnect
# rm -rf /etc/zypp/credentials.d/*
# rm -rf /etc/zypp/repos.d/*
# rm -f /etc/zypp/services.d/*

参考文献:

https://www.suse.com/support/kb/doc/?id=000018564