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命令,也是涨教训了。

posted @ 2026-01-06 18:43  gccbuaa  阅读(11)  评论(0)    收藏  举报