记一次误删python-2.7.5-58.0.1.el7.x86_64重新安装yum软件的经历

软件包下载地址(根据自己的版本去找对应目录):http://vault.centos.org/7.4.1708/os/x86_64/Packages/

事件原因:
为了安装python的paramiko模块
首先安装crypto
tar -zxvf pycrypto-2.6.1.tar.gz
python setup.py build && python setup.py install
提示如下报错:
src/MD2.c:31:20: 错误:Python.h:没有那个文件或目录

分析得先安装python-devel
[root@its-nsjlwwyy01 ~]# yum install python-devel
已加载插件:langpacks, ulninfo
正在解决依赖关系
–> 正在检查事务
—> 软件包 python-devel.x86_64.0.2.7.5-58.el7 将被 安装
–> 正在处理依赖关系 python(x86-64) = 2.7.5-58.el7,它被软件包 python-devel-2.7.5-58.el7.x86_64 需要
–> 解决依赖关系完成
错误:软件包:python-devel-2.7.5-58.el7.x86_64 (Client1)
需要:python(x86-64) = 2.7.5-58.el7
已安装: python-2.7.5-58.0.1.el7.x86_64 (@anaconda/7.4)
python(x86-64) = 2.7.5-58.0.1.el7
可用: python-2.7.5-58.el7.x86_64 (Client1)
python(x86-64) = 2.7.5-58.el7
您可以尝试添加 --skip-broken 选项来解决该问题
** 发现 6 个已存在的 RPM 数据库问题, ‘yum check’ 输出如下:
authconfig-6.2.8-30.el7.x86_64 有缺少的需求 /usr/bin/openssl
open-vm-tools-desktop-10.1.5-3.0.1.el7.x86_64 有缺少的需求 libhgfs.so.0()(64bit)
open-vm-tools-desktop-10.1.5-3.0.1.el7.x86_64 有缺少的需求 libvmtools.so.0()(64bit)
open-vm-tools-desktop-10.1.5-3.0.1.el7.x86_64 有缺少的需求 open-vm-tools(x86-64) = (‘0’, ‘10.1.5’, ‘3.0.1.el7’)
perl-IO-Socket-SSL-1.94-6.el7.noarch 有缺少的需求 openssl >= (‘0’, ‘0.9.8’, None)
python-meh-0.25.2-1.el7.noarch 有缺少的需求 openssh-clients

一怒之下执行了:rpm -e python-2.7.5-58.0.1.el7.x86_64 --nodeps
导致:
[root@its-nsjlwwyy01 its]# yum info yum
-bash: /bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录

随后在http://vault.centos.org/7.4.1708/os/x86_64/Packages/下载20个包:
python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm
python-2.7.5-58.el7.x86_64.rpm
python-ipaddress-1.0.16-2.el7.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
python-chardet-2.2.1-1.el7_1.noarch.rpm
python-libs-2.7.5-58.el7.x86_64.rpm
rpm-python-4.11.3-25.el7.x86_64.rpm
yum-plugin-protectbase-1.1.31-42.el7.noarch.rpm
yum-3.4.3-154.el7.centos.noarch.rpm
libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-42.el7.noarch.rpm
python-pycurl-7.19.0-19.el7.x86_64.rpm
yum-plugin-aliases-1.1.31-42.el7.noarch.rpm
lvm2-python-libs-2.02.171-8.el7.x86_64.rpm
yum-utils-1.1.31-42.el7.noarch.rpm
python-setuptools-0.9.8-7.el7.noarch.rpm
python-urlgrabber-3.10-8.el7.noarch.rpm
python-iniparse-0.4-9.el7.noarch.rpm
python-backports-1.0-8.el7.x86_64.rpm
python-kitchen-1.1.1-5.el7.noarch.rpm

然后执行:
rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force
rpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force
rpm -Uvh --replacepkgs python*.rpm --nodeps --force
rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
后成功安装yum。

然后安装python-devel,yum install python-devel
查看rpm -qa | grep python-devel
输出:python-devel-2.7.5-58.el7.x86_64

最后回去安装crypto

切记:有依赖关系的rpm不要轻易删除,用 rpm -e python-2.7.5-58.0.1.el7.x86_64 会更安全。

你可能感兴趣的:(python,mysql,linux,python,python2,python-devel,yum安装,src/MD2.c)