Как отменить «ням удалить питона»

12

У меня есть VPS на базе Centos 6 с подключением SSH. Недавно, желая установить Python 2.7.2, я смело побежал:

yum remove python

который, по-видимому, удалял саму yum при написании или зависит от python.

Теперь я не знаю, что делать и что еще хуже, я новичок в Linux (командная строка или нет).

Бег rpm -iv http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpmдает:

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

и его сервер x86_64 без вопросов об этом, так как "uname -a" дает:

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

Еще одна вещь: ls /usr/bin/pyth* -laдает:

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
Рабих Кодейх
источник
Спасибо, я видел то же самое сегодня. Сохраняйте спокойствие и никогда не запускайте yum erase python: keepcalmandcarryon.com/creator/?shortcode=qCsMlpyc
Арун Сангал

Ответы:

19

Выберите зеркало из списка зеркал CentOS 6 и установите нужные вам пакеты rpm. Вам нужно будет иметь дело с зависимостями. К счастью для вас, у меня есть довольно пустая виртуальная машина с установленной CentOS 6 x86_64.

Я yum remove pythonсделал снимок виртуальной машины, запустился и повеселился, преодолев круговые зависимости. Конечный результат:

# --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

Замените зеркало на какое угодно. Также убедитесь, что архитектура соответствует. Это должно сработать, хотя!

О, еще одна вещь: на вашем месте я бы запустил yum upgradeсразу после того, как вы закончили установку RPM.

Бельмин Фернандес
источник
Это было бы здорово
Рабих Кодей
После запуска первых команд rpm, python сообщается как нераспознанная команда: -bash: python: команда не найдена
Rabih Kodeih
1
Python не будет работать, пока не будет установлен второй RPM-файл. Ненавижу быть одним из "тех", но попытаться понять команду, прежде чем вставлять ее. Возможно, man rpmв порядке.
Бельмин Фернандес
Я выполнил весь первый набор из 8 команд, то есть. Последние два для ням, и то, что вы сказали, очевидно. Хотя их запуск снова выдает сообщение «уже установлено». Возможно, моя структура каталогов Python испорчена или что-то в этом роде. И, кстати, после установки yum, в любом случае, запуск yum дает: «-bash: / usr / bin / yum: / usr / bin / python: плохой интерпретатор: нет такого файла или каталога»
Рабих Кодей,
Запустите rpm -iv http://centos.mirrors.hoobly.com/6.0/os/x86_64/Packages/python-2.6.5-3.el6.x86_64.rpmи вставьте вывод как редактирование вашего вопроса. Кроме того, вы уверены, что используете x86_64? Запустите uname -aи вставьте вывод этого в редактирование, а также, пожалуйста.
Бельмин Фернандес