zoukankan      html  css  js  c++  java
  • __rpm.so: underfined symbol : rpmpkgverifySigs 故障分析

    前言:

    近期漏洞修复频繁,各种组件需要升级,经多次碰撞,发现 yum update 来升级组件是最有效最安全的方式(绿盟通过版本比对的扫描结果可以忽略)。

    然而,各家的设备各家管,一到升级就发现一堆问题了。呐这就发生了这么一个报错:

     

    yum update yum -y   #随便写一个,其实都一样

    There was a problem importing one of the Python modules

    required to run yum. The error leading to this problem was:

      /usr/lib64/python2.7/site-packages/rpm/__rpm.so : underfined symbol rpmpkgverifySigs

    please install package which provides this module, or verify that module is installed correctly.

    It's possible that the above module doesn't match the current version of Python, which is:

    2.7.5 (default , Jun 11 2019, 12:19:05)

    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

     

    看到以上内容,相信大家都会:

    1.急急忙忙地找 python 包

    2. 查rpmpkgverifySigs 是什么

    3.再不行就去升级gcc 

    然而告诉大家: 都错了!

    正确的逻辑是:

    1. rpmpkgverifySigs 这个变量是 __rpm.so 进行调用,但是脚本不认识,说明python版本错了

    2. 按照红帽的习惯,像python这种多组件使用的脚本语言,红帽并不会给rpm这么重要的工具使用公用库,而是使用独有封装的库

    3. 检查rpm有关的.rpm包,在里面搜索python: rpm -qa|grep rpm| grep python

    4. 显示: rpm -python-4.11.3-32.el7.x86_64  答案呼之欲出,只要重装rpm-python

    5. 大家都知道什么是依赖包,其实依赖包之间的关系还真是千丝万缕, 你觉得只重装rpm-python就解决问题么?五十五吧,因为你不知道管理员装python后还弄了什么,所以保障点,一套包全升级了

      rpm -Uvh rpm-libs-xxxxxx.rpm --nodeps

      rpm -Uvh rpm-xxxxxx.rpm --nodeps

      rpm -Uvh rpm-build-xxxxxx.rpm --nodeps

      rpm -Uvh rpm-python-xxxxxx.rpm --nodeps

      rpm -Uvh rpm-sign-xxxxxx.rpm --nodeps

    ps:

    1. rpm 安装时有时2个包互相依赖,装哪个先都会报错,此时只能 --nodeps 解决

    2.rpm 请用 -U参数进行升级安装,不然会留着两个版本的同组件,你的下一手会很麻烦!

  • 相关阅读:
    【已解决】对发现无理数过程的逻辑严谨性的疑惑
    微积分奇观之计算曲线的平均高度
    闲鱼二维码 另外那个号
    联通KD-YUN-811G光猫管理员密码
    人工智能结课作业-BP神经网络/卷积神经网络手写体识别
    人工智能结课作业-遗传算法/粒子群寻优/蚁群算法解决TSP问题
    人工智能结课作业-DFS/BFS/Astar解决八数码问题
    AMD 2020显卡驱动没有切换独立显卡选项
    linux创建文件夹快捷方式
    Ubuntu 18.04 设置开机启动脚本
  • 原文地址:https://www.cnblogs.com/caya-yuan/p/11167383.html
Copyright © 2011-2022 走看看