本地模型修复系统dnf/yum/rpm同时损坏问题(Qwopus3.6-27B-Coder-MTP-GGUF)
·
问题描述:
openeuler-2003-sp1操作系统执行
dnf update --allowerasing --skip-broken --nobest
升级系统到2203-sp4。
升级后dnf/yum损坏无法使用,经我一顿’rpm -ivh xxxx --force’ 和scp拷贝库文件等操作后导致rpm也损坏。
准备重装系统
Qwopus3.6-27B-Coder-MTP-GGUF
现场:
[root@master05 ~]# dnf
Traceback (most recent call last):
File "/usr/lib64/python3.7/site-packages/libdnf/error.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
File "<frozen importlib._bootstrap>", line 583, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 1043, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: /usr/lib64/libsolvext.so.1: undefined symbol: rpmdbFStat
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/dnf", line 57, in <module>
from dnf.cli import main
File "/usr/lib/python3.7/site-packages/dnf/__init__.py", line 30, in <module>
import dnf.base
File "/usr/lib/python3.7/site-packages/dnf/base.py", line 29, in <module>
import libdnf.transaction
File "/usr/lib64/python3.7/site-packages/libdnf/__init__.py", line 8, in <module>
from . import error
File "/usr/lib64/python3.7/site-packages/libdnf/error.py", line 17, in <module>
_error = swig_import_helper()
File "/usr/lib64/python3.7/site-packages/libdnf/error.py", line 16, in swig_import_helper
return importlib.import_module('_error')
File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_error'
rpm损坏后:
rpm -ivh https://artifactory.xxx.com.cn/thirdpart-rpm-openeuler-remote/openEuler-22.03-LTS-SP4/update/x86_64/Packages/rpm-4.17.0-45.oe2203sp4.x86_64.rpm --force
获取https://artifactory.csc.com.cn/thirdpart-rpm-openeuler-remote/openEuler-22.03-LTS-SP4/update/x86_64/Packages/rpm-4.17.0-45.oe2203sp4.x86_64.rpm
警告:/var/tmp/rpm-tmp.Vnkuor: 头V4 RSA/SHA256 Signature, 密钥 ID b675600b: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:rpm-4.17.0-45.oe2203sp4 ################################# [100%]
PANIC: unprotected error in call to Lua API (version mismatch: app. needs 503.0, Lua core provides 504.0)
[root@master05 ~]# rpm -q rpm
PANIC: unprotected error in call to Lua API (version mismatch: app. needs 503.0, Lua core provides 504.0)
Aborted(核心已转储)
rpm -q
rpm: symbol lookup error: /usr/lib64/librpm.so.9: undefined symbol: rpmverParse
处理过程:
1、尝试本地模型Qwopus3.6-27B-Coder-MTP-GGUF,进行恢复
AI给的修复过程总结:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 从 repo 下载 rpm-4.17.0-38 和 rpm-libs-4.17.0-38 | 使用 curl + Python 解析 RPM v3 xz 压缩格式 |
| 2 | 提取 librpm.so.9.2.0、librpmbuild.so.9.2.0、librpmio.so.9.2.0、librpmsign.so.9.2.0 | 新版库包含 rpmdbFStat 符号,依赖 liblua-5.4.so(与 rpm 二进制匹配) |
| 3 | 提取 libsolvext.so.1、libsolv.so.1 (0.7.22-2) | 与新版 librpm 兼容的 libsolv |
| 4 | 通过 SFTP 上传到服务器 /usr/lib64/ | — |
| 5 | 更新符号链接 librpm.so.9 → librpm.so.9.2.0 等 | 确保动态加载使用新版库 |
| 6 | 替换 libsolvext.so.1、libsolv.so.1 | 解决原始 dnf 故障的根因 |
| 7 | ldconfig + rpm --rebuilddb | 刷新缓存,修复数据库后端 |








更多推荐

所有评论(0)