第四節 刪除python2後,yum 報錯 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

這篇文章並沒有解決刪除python2後,產生的一系列問題,包括yum不可用,yum使用的是系統原始的python。重新安裝的沒有yum模塊及rpm模塊,雖然文章有安裝的過程,但最終也不可用,yum模塊又涉及到了intltool-update,而intltool-update又涉及到了perl,一系統的相互關係,最後關係暈了,最主要的是yum不可用,所有的依賴都需要自已去找,沒頭沒了。有興趣看看失敗過程的朋友,可以看看。最終還得重裝系統。(>!!<),重新安裝vim及python的支持。好可憐。

解決方法參見 https://blog.csdn.net/zsl10/article/details/52315319

如果沒有刪除原來的系統自帶的python可以使用上面的解決方法,如果已經刪除了,我相信你已經哭了,希望本文對你有幫助。

1.首選下載源碼  http://yum.baseurl.org/wiki/#Topullanonymouslyfromgitdothefollowing

  • yum:

git clone git://yum.baseurl.org/yum.git

  • yum-utils:

git clone git://yum.baseurl.org/yum-utils.git

  • yum-metadata-parser:

git clone git://yum.baseurl.org/yum-metadata-parser.git

  • yum-updatesd:

git clone git://yum.baseurl.org/yum-updatesd.git

  • yum-docs:

git clone git://yum.baseurl.org/yum-docs.git

下來後以爲直接安裝就行了,不要太天真,還有很多坑

2. 進入yum目錄

   執行 make install

  報錯提示 make[1]: intltool-update: Command not found

 安裝intltool-update intltool主要用於國際化(I18N)與本地化(L10N)

 我安裝的是intltool-0.40.6 ./configure提示 configure: error: XML::Parser perl module is required for intltool

下載perl-XML-Parser-2.440.0-12.mga7.aarch64.rpm

http://rpmfind.net/linux/rpm2html/search.php?query=perl-XML-Parser

安裝 rpm -ivh perl-XML-Parser-2.440.0-12.mga7.aarch64.rpm

提示需要高版perl 安裝ActivePerl-5.26.1.2601-x86_64-linux-glibc-2.15-404865.tar.gz

重新編譯intltool-0.40.6成功,不用安裝perl-XML-Parser-2.440.0-12.mga7.aarch64.rpm

重新make install提示mv: cannot stat ‘/usr/share/yum-cli/yum-updatesd.py’: No such file or directory

將yum/bin下的yum-updatesd.py拷貝到 /usr/share/yum-cli/目錄下

cp bin/yum-updatesd.py /usr/share/yum-cli/

make install

提示錯誤:make[1]: Entering directory `/home/ddbo/Downloads/yum/yum/yum-cron'

                 make[1]: *** No rule to make target `install-', needed by `install'.  Stop.

我們直接進入yum-cron目錄下make install-common

以爲結束了,太天真了

運行yum提示:

[root@localhost yum]# yum
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^

   SyntaxError: invalid syntax


查啊查。運行python 並import yum發現yum模塊有了,但是rpm模塊沒有,添加rpm python模塊

[root@localhost yum]# python
Python 2.7.15 (default, Jun 23 2018, 04:16:47)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "yum/__init__.py", line 23, in <module>
    import rpm
ImportError: No module named rpm

一步步接近成功了。瘋了,已經過了一天了。

下載rpm-python包及其依賴:

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/anaconda-core-21.48.22.134-1.el7.centos.x86_64.rpm

rpm -ivh 安裝anaconda-core-21.48.22.134-1.el7.centos.x86_64.rpm出錯

[root@localhost yum]# rpm -ivh anaconda-core-21.48.22.134-1.el7.centos.x86_64.rpm
error: Failed dependencies:

    yum-utils >= 1.1.11-3 is needed by anaconda-core-21.48.22.134-1.el7.centos.x86_64

make install yum-utils又出錯,這是要瘋了吧

intltool-update --gettext-package=yum-utils --pot
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at /usr/local/bin/intltool-update line 986.
make[1]: *** [yum-utils.pot] Error 2






wget http://mirrors.163.com/centos/7/os/x86_64/Packages/setroubleshoot-server-3.2.29-3.el7.x86_64.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-meh-0.25.2-1.el7.noarch.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/createrepo-0.9.9-28.el7.noarch.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-32.el7.x86_64.rpm


後面yum和rpm-python都裝成功後,又出現新問題

[root@localhost site-packages]# python
Python 2.7.15 (default, Jun 23 2018, 04:16:47)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "yum/__init__.py", line 23, in <module>
    import rpm
  File "rpm/__init__.py", line 9, in <module>
    from rpm._rpm import *
ImportError: rpm/_rpm.so: undefined symbol: PyUnicodeUCS4_AsUTF8String
>>>

到這裏我承認失敗,當把系統的python刪除後,造成了這後面的一系列問題,想恢復看來已經不可能,已經兩天時了,不在這裏浪費了,結束這段旅程,開始新的征程。重新安裝系統。


教訓,不要刪除系統的東西,由其是重新的東西,比如yum


























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章