Linux系统自带Python2&yum的卸载及重装

简介: 介绍Python2和yum卸载及重新安装的全过程,虽然误删除Python及yum不会导致系统挂掉这么严重的问题,但也会增加很多不必要的麻烦,尤其是时间的浪费。所以在执行一些命令,尤其是一些删除、卸载命令时,一定要慎重!

写在前面


事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也给删除了。

rpm -qa|grep python3|xargs rpm -ev--allmatches--nodeps# 卸载python3,带2卸载python2,啥都不带会卸载所有pythonwhereis python3 |xargs rm-frv# 清除Python3残余文件

后来重新下载了Python2安装后,Python2能用了,但是yum命令又出问题了:

网上搜索了一下,出现这种现象答案几乎都是说是因为升级了python以后,yum与高版本python不兼容导致,解决方法也几乎千篇一律,将/usr/bin/yum文件的首行由#!/usr/bin/python改为#!/usr/bin/python2.7(试了,然并卵,底下评论也都这么说),我的解决方法就是将python2和yum全部卸载,然后重新安装一遍,简单粗暴,好在最后全都正常了,万事大吉!

一、卸载Python2及yum

1.卸载Python2

rpm -qa|grep python|xargs rpm -ev--allmatches--nodeps# 卸载Pythonwhereis python |xargs rm-frv# 删除python所有残余文件whereis python  # 查看是否存在pythonpython # 进入python解释器环境,若提示“-bash: python: command not found”则说明卸载成功

2.卸载yum

rpm -qa|grep yum|xargs rpm -ev--allmatches--nodeps# 强制卸载yumwhereis yum |xargs rm-frv# 删除yum残余文件

二、安装python2.7及yum

1.查看系统版本

cat /etc/redhat-release  # 我的系统版本是:CentOS Linux release 7.9.2009 (Core)

2.下载版本对应的依赖包

① 创建目录

mkdir /usr/local/src/python-yum
cd /usr/local/src/python-yum

② 下载依赖包

下载地址:

https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/ 网易云

https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/ 阿里云

【python依赖包】

可能不需要这么多,反正多一个总比少一个好

libxml2-python-2.9.1-6.el7.5.x86_64.rpm

lvm2-python-libs-2.02.187-6.el7.x86_64.rpm

python-2.7.5-89.el7.x86_64.rpm

python-backports-1.0-8.el7.x86_64.rpm

python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm

python-chardet-2.2.1-3.el7.noarch.rpm

python-devel-2.7.5-89.el7.x86_64.rpm

python-iniparse-0.4-9.el7.noarch.rpm

python-ipaddress-1.0.16-2.el7.noarch.rpm

python-libs-2.7.5-89.el7.x86_64.rpm

python-kitchen-1.1.1-5.el7.noarch.rpm

python-pycurl-7.19.0-19.el7.x86_64.rpm

python-setuptools-0.9.8-7.el7.noarch.rpm

python-urlgrabber-3.10-10.el7.noarch.rpm

python-virtualenv-15.1.0-4.el7_7.noarch.rpm

rpm-python-4.11.3-45.el7.x86_64.rpm

rpm-4.11.3-45.el7.x86_64.rpm

rpm-build-4.11.3-45.el7.x86_64.rpm

rpm-build-libs-4.11.3-45.el7.x86_64.rpm

rpm-libs-4.11.3-45.el7.x86_64.rpm

rpm-sign-4.11.3-45.el7.x86_64.rpm

【yum依赖包】

yum-3.4.3-168.el7.centos.noarch.rpm

yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm

yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm

yum-utils-1.1.31-54.el7_8.noarch.rpm

可以先下载到本地,然后通过工具上传到Linux,也可以直接在Linux命令行使用wget工具进行下载(版本号一定要对应),例如:

# 在/usr/local/src/python-yum目录下,下载python依赖包wget https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm
wget https://mirrors.163.com/centos/7.9.2009/os/x86_64/Packages/python-devel-2.7.5-89.el7.x86_64.rpm
......

3.安装python

这里面有一堆的依赖关系在里面,先安装哪个后安装哪个也是有讲究的,网上看了很多教程,如下图,说法不一,按照他们的操作顺序后还是会报各种依赖的错

我嫌太麻烦,剪不断、理还乱,干脆把所有的依赖都放在一起,强制安装,需要哪个你们自己检测去吧,简单粗暴一点,大不了从头再来:

cd /usr/local/src/python
rpm -ivh python-* rpm-python-*  
rpm -ivh python-* rpm-python-* --nodeps--force# 如出现安装依赖报错问题,可带上--nodeps --force参数的意思是不考虑依赖包,强制安装

安装成功后如图所示:

输入python,验证是否安装成功:

4.安装yum

cd /usr/local/src/yum
rpm -ivh yum-*

安装成功如图所示:

验证yum是否安装成功:

小结


以上就是Python2和yum卸载及重新安装的全过程,虽然误删除Python及yum不会导致系统挂掉这么严重的问题,但也会增加很多不必要的麻烦,尤其是时间的浪费。所以在执行一些命令,尤其是一些删除、卸载命令时,一定要慎重

相关文章
|
9天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
124 78
|
12天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
47 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
8天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
61 13
|
9天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
7月前
|
Linux C语言
linux yum安装ffmpeg 图文详解
linux yum安装ffmpeg 图文详解
656 0
|
7月前
|
Linux
linux yum 安装rar和unrar
linux yum 安装rar和unrar
492 0
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
4月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
240 11
|
5月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re