Случайно удаленный питон и yum не работает в centos7 [закрыто]

12

Я новичок в Linux и пытался удалить Python, чтобы я мог установить его с нуля. Вместо удаления только файлов python в / usr / local / bin / я также удалил эти:

/usr/bin/python
/usr/bin/python2.7
/usr/lib/python2.7
/usr/lib64/python2.7
/etc/python
/usr/include/python2.7
/usr/share/man/man1/python.1.gz
/usr/src/Python-3.7.3/python

Теперь, когда я пытаюсь использовать yum, я получаю:

-bash: / usr / bin / yum: / usr / bin / python: плохой интерпретатор: нет такого файла или каталога

Есть ли способ это исправить или переустановка centos7 моя единственная надежда?

Если это последнее, как я могу сделать это на удаленном сервере, к которому у меня нет физического доступа?

jdhash
источник
12
«Я новичок в Linux и пытался удалить Python, чтобы я мог установить его с нуля» - Установка Python с нуля, вероятно, в любом случае является неправильным способом; удаление поставляемого дистрибутива 2.7 - определенно неправильный путь Рассмотрите возможность работы с вашим менеджером пакетов, а не против него.
marcelm
4
Это для Debian, а не CentOS, но совет применим и к другим дистрибутивам: не ломайте Debian .
Джонатон Рейнхарт
3
Удаление любого пакета, который приходит из новой установки (особенно если вы сделали минимальную установку), может привести к поломке дистрибутива. Большинство дистрибутивов Linux не содержат столько раздува ... это не похоже на Windows10 с предустановленной конфетой или тому подобное.
Джакомо Альзетта
4
Python 2 используется системой в большинстве версий linux в качестве языка сценариев для автоматизации всех видов вещей. Удалив питона, вы отпилили ветку, на которой сидели. Вероятно, безопаснее полностью переустановить Linux. Для пользовательской установки python в linux обычно рекомендуется использовать виртуальную среду python в linux, которая полностью отделяет пользователя python от системного python. Преимущество заключается в том, что вы можете установить несколько отдельных версий Python, и для их поддержки / расширения требуется только уровень пользователя, а не sudo.
Neil_UK

Ответы:

21

Вы можете просто скачать пакеты и установить их снова rpm, не имея python в вашей системе и не сломав его yum.

Найдите версию, которую вы установили

rpm -qf /usr/bin/python

Затем найдите URL-адрес для загрузки и загрузите и установите его за один раз или за несколько шагов:

rpm --reinstall -v http://mirror.centos.org/centos-7/7/updates/x86_64/Packages/python-2.7.5-80.el7_6.x86_64.rpm
HBruijn
источник
Спасибо за Ваш ответ. Я закончил тем, что установил Centos на ВМ с той же версией. И скопировал все удаленные файлы на мой сервер. Yum, кажется, работает до сих пор, но не уверен, был ли ущерб полностью устранен.
jdhash
@jdhash Yum, кажется, работает до сих пор, но не уверен, был ли ущерб полностью исправлен. И это только одна из причин, почему вы никогда не возитесь с программным обеспечением, установленным как часть ОС / дистрибутива.
Эндрю Хенле
1
Я бы сказал, что переустановка исходной системы - единственный способ убедиться, что вы полностью очистили ее. Такие бинты, как копирование файлов из других систем, будут падать, потому что система упаковки считает, что чего-то не хватает, но это не так. Метаданные все еще не соответствуют тому, что установлено.
птенцы