Przypadkowo usunięty python i mniam nie działa w centos7 [zamknięte]

12

Jestem nowy w systemie Linux i próbowałem usunąć Pythona, aby móc zainstalować go od zera. Zamiast usuwania tylko plików Pythona z katalogu / usr / local / bin / usunąłem również:

/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

Teraz, gdy próbuję użyć mniam, otrzymuję:

-bash: / usr / bin / yum: / usr / bin / python: bad interpreter: Brak takiego pliku lub katalogu

Czy jest jakiś sposób, aby to naprawić lub czy ponowna instalacja centos7 to moja jedyna nadzieja?

Jeśli to drugie, jak mogę to zrobić na zdalnym serwerze, do którego nie mam fizycznego dostępu?

jdhash
źródło
12
„Jestem nowy w Linuksie i próbowałem usunąć Pythona, aby móc zainstalować go od zera” - Instalowanie Pythona od zera jest prawdopodobnie niewłaściwym sposobem postępowania; usunięcie dystrybucji dostarczonej z dystrybucją 2.7 jest zdecydowanie niewłaściwym sposobem. Rozważ pracę z menedżerem pakietów zamiast z nim.
marcelm
4
Dotyczy to Debiana, a nie CentOS, ale rada dotyczy również innych dystrybucji: Don't Break Debian .
Jonathon Reinhart
3
Usunięcie dowolnego pakietu pochodzącego ze świeżej instalacji (szczególnie jeśli wykonałeś minimalną instalację) niesie ryzyko przerwania dystrybucji. Większość dystrybucji Linuksa nie ma tak dużego wzdęcia ... to nie jest tak, jak w Windows10, który ma fabrycznie zainstalowane Crush Candy Crush lub coś takiego.
Giacomo Alzetta
4
Python 2 jest używany przez system w większości wersji Linuksa jako język skryptowy do automatyzacji wszelkiego rodzaju rzeczy. Usuwając pytona, odciąłeś gałąź, na której siedziałeś. Prawdopodobnie najbezpieczniej jest całkowicie ponownie zainstalować system Linux. W przypadku instalacji Pythona przez użytkownika w systemie Linux ogólnie zaleca się korzystanie ze środowiska wirtualnego Pythona w systemie Linux, dzięki czemu python użytkownika jest całkowicie oddzielony od pytona systemowego. Ma tę zaletę, że można zainstalować wiele osobnych wersji Pythona i do ich utrzymania / rozszerzenia potrzebny jest tylko poziom użytkownika, a nie sudo.
Neil_UK

Odpowiedzi:

21

Możesz po prostu pobrać pakiety i zainstalować je ponownie za pomocą rpm, bez posiadania Pythona w systemie i zepsucia yum.

Znajdź zainstalowaną wersję

rpm -qf /usr/bin/python

Następnie znajdź adres URL pobierania i pobierz i zainstaluj za jednym razem lub w osobnych krokach:

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
źródło
Dzięki za odpowiedź. Skończyłem instalowanie Centos na maszynie wirtualnej z tą samą wersją. I skopiowałem wszystkie usunięte pliki na mój serwer. Wygląda na to, że Yum do tej pory działał, ale nie jest pewien, czy szkody zostały całkowicie naprawione.
jdhash
@jdhash Yum wydaje się działać do tej pory, ale nie jest pewien, czy uszkodzenie zostało całkowicie naprawione. I to tylko jeden powód, dla którego nigdy nie zadzierasz z oprogramowaniem zainstalowanym jako część systemu operacyjnego / dystrybucji.
Andrew Henle,
1
Powiedziałbym, że ponowna instalacja oryginalnego systemu jest jedynym sposobem, aby upewnić się, że całkowicie to wyczyściłeś. Opaski, takie jak kopiowanie plików z innych systemów, będą nadal spadać, ponieważ system pakowania myśli, że czegoś brakuje, ale tak nie jest. Metadane nadal nie są zgodne z tym, co jest zainstalowane.
pisklęta