说明:以下所有操作均是由超级管理员完成

我一个朋友遇到这个问题,就是利用yum安装的时候报错。如图:

wKioL1jHP0TTWz8OAAA3hUVLirU322.png-wh_50

当时他问我的时候,我一开始以为是Python版本不兼容问题,可能是Python升级后带来的问题,所以就给他说了两种方法

1、修改yum配置文件:

vim/usr/bin/yum

修改第一行

#!/usr/bin/python改为#!/usr/bin/python2.6.6

2、升级yum

然后我朋友让我远程帮他,当我远程帮他修改这一行之后,又出现了新的问题。(此处没有截图)

找不到Python2.6.6,然后我解压下载了Python2.6.5,然后安装,安装过程如下:

cd/usr/local/src/
wget
tarxfpython-2.6.5.tar.bz2
cdpython-2.6.5
./configure
make&&makeinstall
#创建软连接
mv/usr/bin/python/usr/bin/python2.6.6
ln-s/usr/local/bin/python2.7/usr/bin/python
#检查
python-V

安装成功

然后执行yum,依然是这一问题,我想着是不是环境变量的问题,于是增加了环境变量

echo"exportPATH=/usr/bin/python:$PATH">>/etc/profile
source/etc/profile

又出现了没有权限的问题,然后我还是将配置文件修改为

#!/usr/bin/python2.6.6

然后执行,出现了No module named yum问题 ,查看Python路径

wKiom1jHRC3xdkmrAABh4QA2kfs736.jpg-wh_50

然后发现Python路径混乱比较混乱。同样的有三种方法解决这一问题。

方法一:

就是修改文件/usr/bin/yum,将那一行修改,但是很明显不可以,网上看是因为设置了环境变量,又安装了其他的Python版本,出现了连接混乱,导致yum找不到Python路径,于是将环境变量注释然后重新运行了环境变量,问题依然没有解决,然后尝试第二种方法。

方法二:

就是将Python回滚到默认的2.6.6版本。执行了下面两行。

rpm-qa|greppython-|grep2.6
rpm-ivh--force--nodeps

但是祸不单行,执行第二句代码的时候出现报错(由于这是问题解决后才写的文档,所以此处的错误并没有截图)

很无奈,只好尝试第三种方法。

方法三:

下载RPM包(根据自己的版本选择)

python-2.6.6-36.el6.x86_64.rpm
yum-Metadata-parser-1.1.2-14.1.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
#执行安装
rpm-ivh--force--nodeps*.rpm

http://yum.baseurl.org/wiki下载tar包:yum-3.4.3.tar.gz

tarxfyum-3.4.3.tar.gz
cdyum-3.4.3
./yummain.pyupdate

很显然这个方法也不适用,还比较麻烦。

我再次尝试着重新安装yum和Python。以下是过程:

下载需要的RPM包到此目录。(要下载的包看你的系统版本号,只要和你的系统版本号一致即可)

cd/usr/local/src/python-2.6.6#此目录看你的系统版本号
python-2.6.6-36.el6.x86_64.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm
python-devel-2.6.6-36.el6.x86_64.rpm
python-libs-2.6.6-36.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm

然后执行安装

rpm-Uvh--replacepkgs*.rpm

#执行这一步的时候我朋友问我--replacepkgs的作用,这里我说明一下,这个参数的意思是用一个副本替换一个包,当我们遇到需要重复安装软件包的时候,但是一般会报错,如果想要继续重复安装,就会用到这个参数。

与这个参数相关的参数还有如下几个:

--replacefiles #替换另一个包所拥有的文件,即就是软件包在安装的时候有某个文件已经被其他软件包安装调用过,再次安装就会报错,如果想要继续再次安装,就会用这个参数。

--nodeps #安装或者升级的时候不检查依赖,即当安装的软件包所需要的依赖未安装的时候,就会报错,若是仍然要安装,就会用到这个参数。

--force #忽略包和文件的冲突强制安装,此方法不建议。

--oldpackage #允许升级到比较旧的软件包。一般当新安装的软件包出现兼容问题等的时候会用到此参数,将软件包升级到比较老的版本。

再次使用yum的时候应该来说就好了,但是令人头疼的是又再次报了一开始的错

wKioL1jHP0TTWz8OAAA3hUVLirU322.png-wh_50

当我再一次查看报错的时候,发现了一个问题

wKiom1jHYDmxDx_FAAB6yAhsilQ478.png-wh_50

我想是不是因为这个文件的问题呢?

于是我进入/lib64此目录,然后将尝试将librt.so.1文件改名

mvlibrt.so.1librt.so.1.bak

结果再次运行出现如下的错

wKiom1jHYkuRek2OAAAq70fAZY8213.png-wh_50

提示找不到这个文件,我赶紧将这个文件还原,但是这次无论如何都不能还原

wKioL1jHYsThqO4gAAA0lyuCEtw123.png-wh_50

我想尝试重启,然而也不能执行这一操作

wKioL1jHYp7TyOUmAAAX6RQrSQs802.png-wh_50

我查看了这个文件的属性,发现他是一个librt-2.12.so的连接文件。我就想,既然是连接文件,那么可不可以再做一个软连接呢?

wKiom1jHYrKwltaFAAAR5qqxjBM554.png-wh_50

但是很快我就发现什么操作都不能做了。

wKiom1jHY9yzCEc-AAAcPfp8cOc280.png-wh_50

wKioL1jHY93RdiAeAAAZJ0H13lQ197.png-wh_50

那么怎么办呢?就在我为难的时候,我朋友将另一台同环境的服务上的librt.so.1这个文件拷贝到了此服务上面,然后再次运行yum,结果这次yum运行正常

wKiom1jHY9zAS8pGAAA-PicyDZU874.png-wh_50




总结:我想应该是librt.so.1这个文件出错导致的。

后来我查了一下这个文件,原来librt.so是glibc中对real-time部分的支持库。

linux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名。如果感兴趣的可以自己再去查看更多的关于这个文件的知识。



其实此文档中已经包含了如何正确的升级Python,可以参考博客

centos6.4升级Python过程总结:

http://www.jb51.cc/article/p-bpxwxgcd-bpo.html

centos6.4下yum报错实例的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. ios – 存档期间不存在Xcode环境变量

    我有一个具有TestFlight构建方案的iOS应用程序.在此方案中,我在“运行”选项卡中设置了一个称为TESTFLIGHT的环境变量,值为1.此外,在构建方案的“配置文件”选项卡中,它已选中“使用RUn操作的参数和变量”选项,并在列表中看到相应的EV.当从Xcode运行应用程序时,这可以正常工作,但是当我在存储设备上运行应用程序时,环境变量TESTFLIGHT不存在.我的问题是有一个我在这里缺少的选项/方案选项卡?

  3. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  4. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  5. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  6. Ubantu下配置swift开发环境

    恭喜.现在可以直接在这里写入临时的swift代码,注意是临时的.如果想要写swift,需要新建一个文件,比如touchhello.swift.用vim打开,在里面写入HelloWorld的代码,保存退出.编译上面的代码源文件,打开终端,找到源代码所在目录,输入命令swiftchello.swift,即可编译,如果没有出现错误,则说明编译成功.运行上面的hello,编译之后会出现一个新文件hello;这是ubantu的可执行文件,直接输入./hello即可执行

  7. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  8. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

  9. Swift中的列表解析

    在Swift中完成这个的最简单的方法是什么?我在寻找类似的东西:从Swift2.x开始,有一些与你的Python样式列表解析相当的东西。(在这个意义上,它更像是Python的xrange。如果你想保持集合懒惰一路通过,只是这样说:与Python中的列表解析语法不同,Swift中的这些操作遵循与其他操作相同的语法。

  10. swift抛出终端的python错误

    每当我尝试启动与python相关的swift时,我都会收到错误.我该如何解决?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部