centos7 誤刪除python2.7.x python與yum無法使用 &&python2.7.5升級python3.5.3

centos7 默認安裝python2.7.5

  • 強制刪除已安裝python及其關聯
[root@yang~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
  • 刪除殘餘文件
[root@yang~]# whereis python|xargs rm -frv

執行命令後導致服務器上的yum命令和python命令都無法使用。出現以下報錯:

[root@yang~]# python -V
-bash: /usr/bin/python: No such file or directory
 
[root@yang~]# yum
-bash: /usr/bin/yum: No such file or directory
  • 創建python2.7.5的文件目錄 並進入目錄下載文件
[root@yang~]# mkdir -p /usr/local/python2.7.5/
[root@yang~]# cd /usr/local/python2.7.5
---------------------------------------------------------------------------------------------------------------------
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/lvm2-python-libs-2.02.177-4.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-libs-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-chardet-2.2.1-1.el7_1.noarch.rpm<br>
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/rpm-python-4.11.3-32.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-utils-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-aliases-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
---------------------------------------------------------------------------------------------------------------------
  • 進行安裝
[root@yang~]# rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force   #--nodeps --force表示僅安裝當前的,不考慮安裝所需的依賴
[root@yang~]# rpm -Uvh --replacepkgs python*.rpm --nodeps --force
[root@yang~]# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force

此時python2.7.5 就安裝好了,可以進行測試

[root@Rui ~]# python -V
Python 2.7.5
[root@Rui ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
出現此界面就說明python2.7.5安裝完成
- 測試yum是否可以正常使用
[root@Rui ~]# yum install sshd
Loaded plugins: aliases, fastestmirror, langpacks, protectbase
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
0 packages excluded due to repository protections
No package sshd available.
Error: Nothing to do
[root@Rui ~]# 


python2.7.5 升級 python3.5.3

[root@Rui ~]# mkdir -p /usr/local/python3.5.3 					#創建python3.5.3目錄
[root@Rui ~]# cd /usr/local/python3.5.3						# 進入目錄

wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz      #下載安裝包

tar -zxvf Python-3.5.3.tgz         #解壓安裝包

/usr/local/python3.5.3/Python-3.5.3       #進入安裝目錄
./configure               	      #編譯 或者用這句  ./configure --prefix=/usr/local/python-3.5.3   這個是指定安裝文件夾 
make&&make install                #安裝   要是安裝報錯的話      yum -y install gcc   yum -y install openssl-devel    yum -y groupinstall Development tools
make clean                    	  #清除臨時安裝文件     python3.5安裝完成之後的目錄是   /usr/local/bin  是因爲我沒指定的安裝文件夾的原因麼
mv /usr/bin/python /usr/bin/python.bak_python2.7.5                     #備份原有python   
ll /usr/bin |grep python            #看一下python的軟連接    會發現有個python的連接
rm -rf /usr/bin/python              #把這個刪掉   鏈接就沒有了      
ln -s /usr/local/bin/python3.5 /usr/bin/python     #重新建立個python3.5的連接 如果原本的鏈接沒刪  可以同時用兩個python  這句話就改成 ln -s /usr/local/bin/python3.5 /usr/bin/python3    輸入python還是2.7   輸入python3進入python3.5.3    應該是這樣的吧   沒試     我直接刪了  
python -V       #這樣發現版本是3.5.3了  但是直接輸入python想進入的話   可能就會出現問題了  也可能不出現      
- 裝完之後要改些東西    yum用不了了   firewalld用不了了   改這些東西吧
vi /usr/bin/yum             		   #修改開頭那裏   在python後面加個2.7

vi /usr/libexec/urlgrabber-ext-down      #一樣的  改開頭的python   後面加個2.7      這個2.7是我電腦裏原來的版本    你得看你自己電腦裏的版本來改

vi /usr/sbin/firewalld                   #防火牆要是啓動不了  改這個   和前面一樣   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章