使用yum安装kerberos过程中,遇到一些问题:
安装yum的python module之后,使用yum安装软件,仍然有版本问题
rpm是啥: 本意是Red-Hat Package Manager,但是其他Linux版本也支持,可以看成通用的Linux软件包管理的工具。
yum又是啥:Yellow dog Updater, Modified的缩写(不能见名知意),一顿百度之后,我简单理解成,yum是python实现的,基于rpm的一个易用封装(屏蔽了rpm的软件包依赖等细节)
所以回过头来分析遇到的问题:
yum不可用,是一个python问题;
而yum可用,yum安装报版本的错误,其实是通过yum/rpm安装的软件有版本问题;
通过和正常机器的比对,发现本台机器的python2.6,是野路子安装的,不是通过rpm安装。yum安装软件,找不到使用rpm安装的python,于是就有missing requires of python的问题。所以,通过rpm装一个python2.6,理论上就通了。
不过安装过程中,访问正常的rpm仓库( http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages 等),看到的python-2.6.6.rpm包,版本都是python-2.6.6-66.el6_8.x86_64,适合centos6.8以上,理由是其他版本的centos软件包不维护升级,有安全风险。而我们的服务器是centos6.3,不能使用这个包。
收获有二:
任何时候,定位问题最快的方式,还是拿完美环境和问题环境,做对比,找diff,diff的点,往往就是问题点。程序员的控制变量法,颠扑不破。
得搞懂各种概念,之前对rpm、yum只是大概了解,通过这次定位解决问题,有了更深入的了解。
python2.7现在已经正式被放弃了,运行会报错,所以得玩Python3版本了
这里分享Centos7系统下将Python2.7升级3.6.9的方法,非常靠谱本人刚刚测试通过,看了老外的教程
简单三步,就能快速讲过Python2+升级到Python3+
第一步:安装软件仓库
yum install centos-release-scl -yCOPY
第二步:YUM命令安装Python3.6版本
yum install rh-python36COPY
此时用命令查看检查python –version系统依然是Python2.7.5版本
第三步:将Python3.6+设为系统默认版本
sclenablerh-python36 bashCOPY
这个命令所执行的操作是调用脚本/opt/rh/rh-python36/enable,该脚本会自动更改系统Shell环境变量。
这个时候再用python –version命令检查,系统的Python默认版本已经变成了Python 3.6.9
第四步:升级pip
原有的pip版本会很低,所以也需要升级一下,升级命令如下:
pip install --upgrade pip