CentOS7的yum运行问题。 OS为: [root@USp11 ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stat
CentOS7的yum运行问题。
OS为:
[root@USp11 ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:50:56:21:41:56 brd ff:ff:ff:ff:ff:ff inet 10.99.244.228/24 brd 10.99.244.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:fe21:4156/64 scope link valid_lft forever preferred_lft forever3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:b7:d2:32 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:b7:d2:32 brd ff:ff:ff:ff:ff:ff[root@USp11 ~]# hostnameUSp11[root@USp11 ~]# uname -a Linux USp11 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux[root@USp11 ~]# more /etc/system-releaseCentOS Linux release 7.2.1511 (Core) [root@USp11 ~]#
yum源来自163网易。yum安装报错:
[root@USp11 yum.repos.d]# lltotal 28-rw-r--r-- 1 root root 1572 May 18 2015 CentOS7-Base-163.repo-rw-r--r-- 1 root root 1309 Dec 9 2015 CentOS-CR.repo-rw-r--r-- 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo-rw-r--r-- 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo-rw-r--r-- 1 root root 630 Dec 9 2015 CentOS-Media.repo-rw-r--r-- 1 root root 1331 Dec 9 2015 CentOS-Sources.repo-rw-r--r-- 1 root root 1952 Dec 9 2015 CentOS-Vault.repo[root@USp11 yum.repos.d]# yum install -y tomcat-javadoc.noarchLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package tomcat-javadoc.noarch 0:7.0.69-11.el7_3 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================================================================================================================ Package Arch Version Repository Size================================================================================================================================================================================Installing: tomcat-javadoc noarch 7.0.69-11.el7_3 updates 2.6 MTransaction Summary================================================================================================================================================================================Install 1 PackageTotal download size: 2.6 MInstalled size: 50 MDownloading packages:Error downloading packages: tomcat-javadoc-7.0.69-11.el7_3.noarch: [Errno 5] [Errno 2] No such file or directory[root@USp11 yum.repos.d]#
解决方案:将yum的rpm安装文件下载并重新安装。其中包含了python相关的rpm文件。
python-urlgrabber-3.10-8.el7.noarch.rpmyum-3.4.3-150.el7.centos.noarch.rpm
后来依然多次出问题,经过别人尝试,保证/usr/bin/python这个为老版本即可。
Python安装问题
安装python2.7.13,源代码安装。安装后缺少一些so文件。通过与centos6.5上的相同版本python的比较,得到如下是差异文件:
./lib-dynload/_curses_panel.so./lib-dynload/_curses.so./lib-dynload/_hashlib.so./lib-dynload/readline.so./lib-dynload/_ssl.so
例如做import ssl时就会报_ssl模块不存在。
比较sys.path:
python 2.7.13 in centos 7/usr/local/python2.7.13/lib/python27.zip/usr/local/python2.7.13/lib/python2.7/usr/local/python2.7.13/lib/python2.7/plat-linux2/usr/local/python2.7.13/lib/python2.7/lib-tk/usr/local/python2.7.13/lib/python2.7/lib-old/usr/local/python2.7.13/lib/python2.7/lib-dynload/usr/local/python2.7.13/lib/python2.7/site-packagespython 2.7.13 in centos 6.5/usr/local/lib/python27.zip/usr/local/lib/python2.7/usr/local/lib/python2.7/plat-linux2/usr/local/lib/python2.7/lib-tk/usr/local/lib/python2.7/lib-old/usr/local/lib/python2.7/lib-dynload/usr/local/lib/python2.7/site-packages/usr/local/lib/python2.7/site-packages/ansible-2.4.0-py2.7.egg/usr/local/lib/python2.7/site-packages/pycrypto-2.6.1-py2.7-linux-x86_64.egg/usr/local/lib/python2.7/site-packages
这样考虑我认为只把差异的so文件补上即可。
然后安装pip,依赖包的关系如下:
pip dependencies:pip -> setuptools -> six | packaging | pyparsing | appdirs
另外,对于这种问题,根据网上解释,我理解为python安装时找不到相关的lib,例如openssl的lib,参考这里:
http://hunt1574.blog.51cto.com/1390776/1630961
这里提供一种方法是修改python安装文件中的setup.py,修改其中openssl相关的lib所在目录的路径。但是这种方法我没有测试。