centos系统执行中新手容易出现的两个错误操作,手抖把Python2.7卸载了导致yum不能利用;执行了yum update出现了黑屏
摘要:
简单介绍下我是为何如此操作的过程.
①首先因为学习渗透测试,想安装Python3版本
②Python3系列和Python2系列版本不向下兼容,所以我就想卸载了机器自带的Python2.7,先执行了yum remove python,然后出现依赖错误就清除了依赖,删的干干净净.
③然后我下载了Python3.8的包.
④我开始使用yum命令安装Python3.8的相关依赖.
⑤结果是发现yum不可用了,如下报错信息
网上找的截图,大概类似:

一、直接卸载python2.7,面临问题
因为卸载了Python2.7,导致yum不可用了,后面发现很多命令都是用到yum去执行。
首先思路就是想能不能用我下载的Python3来代替,尝试过更换依赖最后发现还是不行,可能技术不够;然后查了很多发现在 CentOS 系统中,卸载 Python 2.7 会导致系统核心工具 yum 不可用,因为 yum 依赖于 Python 2.7 来运行。
所以最后打算重新安装Python2.7进行还原。
二、检查是否彻底删除干净
2.1、检查Python2.7是否删除干净,防止后面安装出现问题
#卸载python
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
##删除所有残余文件
whereis python |xargs rm -frv
##验证删除,返回无结果
whereis python
2.2 然后删除yum,也是防止安装python会出现依赖错误
#删除yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
#删除残留文件
whereis yum |xargs rm -frv
#验证删除完成,返回无结果
whereis yum
三、下载安装python2.7和yum
3.1首先查看linux版本
#命令
cat /etc/redhat-release
#版本号
CentOS Linux release 7.0.1406 (Core)
3.2在官网找到对应的包
#官方网站http://vault.centos.org
#我的版本号的官方网站https://vault.centos.org/7.0.1406/os/x86_64/Packages/
#如下7个包
python-2.7.5-16.el7.x86_64.rpm
python-devel-2.7.5-16.el7.x86_64.rpm
python-iniparse-0.4-9.el7.noarch.rpm
python-pycurl-7.19.0-17.el7.x86_64.rpm
rpm-python-4.11.1-16.el7.x86_64.rpm
python-libs-2.7.5-16.el7.x86_64.rpm
python-urlgrabber-3.10-4.el7.noarch.rpm
3.3进行下载安装python包
3.3.1创建目录python和yum用以存放rpm包
#mkdir /usr/local/src/python
#mkdir /usr/local/src/yum
3.3.2使用wget分别下载python以及yum的rpm包
(1)下载python
# 进入python目录
cd /usr/local/src/python
# python安装
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-2.7.5-16.el7.x86_64.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-devel-2.7.5-16.el7.x86_64.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-pycurl-7.19.0-17.el7.x86_64.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-urlgrabber-3.10-4.el7.noarch.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/python-libs-2.7.5-16.el7.x86_64.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/rpm-python-4.11.1-16.el7.x86_64.rpm
(2)下载yum
#进入yum目录
cd /usr/local/src/yum
# yum安装
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/yum-3.4.3-118.el7.centos.noarch.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -ivh --nodeps http://vault.centos.org/7.0.1406/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-24.el7.noarch.rpm
3.3.3安装python以及yum的rpm包
(1)安装python
#进入python目录
cd /usr/local/python
#安装python, --nodeps --force为不考虑依赖包,强制安装。
rpm -ivh python-* rpm-python-* --nodeps --force
#检查安装是否成功
python
(2)安装yum
#进入python目录
cd /usr/local/yum
#安装python, --nodeps --force为不考虑依赖包,强制安装。
rpm -ivh yum-*
#检查安装是否成功
yum
四、安装python3
安装python3不要卸载python2.7!!!
4.1依赖包安装
#在不卸载Python2版本的同时使用Python3.*
#环境: centos7.4
#版本:python3.8
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
4.2下载python3压缩包
#下载路径(里面有不同的版本)https://www.python.org/ftp/python/3.8.0/
#下载命令
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.tgz
4.3解压
tar -zxvf Python-3.8.0.tgz
4.4安装
cd Python-3.8.0
#指定编译目录
./configure --prefix=/usr/local/python3
#编译安装
make && make install
4.5建立软连接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
4.6检测安装是否成功
python3
pip3
五、直接执行yum update导致黑屏
可能是兴奋过头了,刚解决卸载python2.7的问题,安装完python3就直接执行了yum update导致黑屏,大家如果也是发生了黑屏我建议大家重装,因为我试过很多办法都没得到解决。
导致原因可能有在执行update中网络异常导致部分文件更新出现异常导致前后版本不一致,或者是更新包不兼容,其次是内核被升级产生了不兼容的问题,前前后后去查找文件都没得到修复,不如重新安装来的快,所以切记不要随意执行remove或者update命令,也是涨教训了。

浙公网安备 33010602011771号