Como desfazer "yum remove python"

12

Eu tenho um VPS baseado em Centos 6 com uma conexão ssh. Recentemente, querendo instalar o python 2.7.2, corri corajosamente:

yum remove python

que aparentemente removeu o próprio yum sendo escrito ou depende do python.

Agora não sei o que fazer e, para piorar, sou um novato em Linux completo (linha de comando ou não).

A corrida rpm -iv http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpmoferece:

Retrieving http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpm
Preparing packages for installation...
        package python-2.6.5-3.el6.x86_64 is already installed

e é um servidor x86_64, sem dúvida, como "uname -a" fornece:

Linux xxxxxx 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64   GNU/Linux

Mais uma coisa: ls /usr/bin/pyth* -ladá:

lrwxrwxrwx 1 root root    6 Dec  4 20:31 python2 -> python
-rwxr-xr-x 2 root root 4864 Nov 12  2010 python2.6
-rwxr-xr-x 2 root root 4864 Nov 12  2010 python;4edbd894
Rabih Kodeih
fonte
Obrigado, vi a mesma coisa hoje. Mantenha a calma e nunca executar yum erase python: keepcalmandcarryon.com/creator/?shortcode=qCsMlpyc
Arun Sangal

Respostas:

19

Escolha um espelho na lista de espelhos do CentOS 6 e instale os pacotes necessários rpm. Você precisaria lidar com dependências. Para sua sorte, eu tenho uma VM bastante vazia com o CentOS 6 x86_64 instalado.

Tirei uma foto instantânea da VM, corri yum remove pythone me diverti ao passar por algumas dependências circulares. Resultado final:

# --nodeps: because of circular dependency between python and python-libs
rpm -i --nodeps http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-libs-2.6.5-3.el6.x86_64.rpm
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpm
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/pygpgme-0.1-18.20090824bzr68.el6.x86_64.rpm
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-pycurl-7.19.0-5.el6.x86_64.rpm 
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-urlgrabber-3.9.1-7.el6.noarch.rpm 
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/rpm-python-4.8.0-12.el6.x86_64.rpm 
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
# --nodeps: because of circular dependency between yum and yum-plugin-fastestmirror
rpm -i --nodeps http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm
rpm -i http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/yum-3.2.27-14.el6.centos.noarch.rpm

Substitua o espelho, o que você quiser. Além disso, verifique se a arquitetura corresponde. Isso deve fazer o truque!

Mais uma coisa: se eu fosse você, eu correria yum upgradelogo após a instalação dos RPMs.

Belmin Fernandez
fonte
Isso seria ótimo
Rabih Kodeih
Depois de executar os primeiros comandos rpm, o python está sendo relatado como comando não reconhecido: -bash: python: command not found
Rabih Kodeih
1
O Python não funcionará até que o segundo arquivo RPM seja instalado. Odeio ser um desses ", mas tente entender o comando antes de colá-lo. Talvez a man rpmesteja em ordem.
Belmin Fernandez 04/12/11
Eu executei todo o primeiro conjunto de 8 comandos, ou seja. Os dois últimos são para yum e o que você disse é óbvio. Embora executá-los novamente, seja exibida uma mensagem 'já instalada'. Talvez minha estrutura de diretórios python esteja bagunçada ou algo assim. E, a propósito, depois de instalar o yum de qualquer maneira, a execução do yum está dando: "-bash: / usr / bin / yum: / usr / bin / python: bad intérprete: não
existe
Execute rpm -iv http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpme cole a saída como uma edição da sua pergunta. Além disso, você tem certeza de que está executando o x86_64? Execute uname -ae cole a saída disso na edição também, por favor.
Belmin Fernandez 04/12/11