Python accidentellement supprimé et yum ne fonctionne pas dans centos7 [fermé]

12

Je suis nouveau sur linux et j'essayais de supprimer python pour pouvoir l'installer à partir de zéro. Au lieu de supprimer uniquement les fichiers python dans / usr / local / bin / j'ai également supprimé ceux-ci:

/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

Maintenant, chaque fois que j'essaie d'utiliser miam, je reçois:

-bash: / usr / bin / yum: / usr / bin / python: mauvais interprète: aucun fichier ou répertoire de ce type

Existe-t-il un moyen de résoudre ce problème ou la réinstallation de centos7 est-elle mon seul espoir?

Si c'est le dernier, comment puis-je le faire sur un serveur distant auquel je n'ai pas d'accès physique?

jdhash
la source
12
"Je suis nouveau sur linux et j'essayais de supprimer python pour pouvoir l'installer à partir de zéro" - Installer Python à partir de zéro est probablement la mauvaise façon de procéder de toute façon; supprimer votre 2.7 fourni par la distribution est définitivement la mauvaise façon. Pensez à travailler avec votre gestionnaire de packages plutôt que contre.
marcelm
4
C'est pour Debian, pas CentOS, mais le conseil s'applique également aux autres distributions: ne cassez pas Debian .
Jonathon Reinhart
3
La suppression de tout package provenant d'une nouvelle installation (surtout si vous avez effectué une installation minimale) présente le risque de casser la distribution. La plupart des distributions Linux ne viennent pas avec beaucoup de ballonnement ... ce n'est pas comme Windows10 qui est livré avec Candy Crush préinstallé ou des trucs comme ça.
Giacomo Alzetta
4
Python 2 est utilisé par le système dans la plupart des versions de linux comme langage de script pour automatiser toutes sortes de choses. En supprimant python, vous avez scié la branche sur laquelle vous étiez assis. Il est probablement plus sûr de réinstaller complètement Linux. Pour une installation utilisateur de python sous linux, il est généralement recommandé d'utiliser un environnement virtuel python sous linux, qui garde l'utilisateur python complètement séparé du système python. Il a l'avantage que vous pouvez installer plusieurs versions distinctes de python et que vous n'avez besoin que du niveau utilisateur, pas sudo, pour les maintenir / développer.
Neil_UK

Réponses:

21

Vous pouvez simplement télécharger les packages et les réinstaller avec rpm, sans avoir python sur votre système et un cassé yum.

Trouvez la version que vous aviez installée

rpm -qf /usr/bin/python

Trouvez ensuite une URL de téléchargement et téléchargez et installez en une seule fois ou en plusieurs étapes:

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
la source
Merci pour votre réponse. J'ai fini par installer Centos sur une machine virtuelle avec la même version. Et copié tous les fichiers supprimés sur mon serveur. Yum semble fonctionner jusqu'à présent mais ne sait pas si les dommages ont été entièrement réparés.
jdhash
@jdhash Yum semble fonctionner jusqu'à présent mais ne sait pas si les dommages ont été entièrement réparés . Et ce n'est qu'une des raisons pour lesquelles vous ne dérangez jamais avec les logiciels installés dans le cadre du système d'exploitation / distribution.
Andrew Henle
1
Je dirais que la réinstallation du système d'origine est le seul moyen de s'assurer que vous l'avez complètement nettoyé. Les pansements comme la copie de fichiers à partir d'autres systèmes continueront de tomber parce que le système d'emballage pense que des choses manquent, mais ce n'est pas le cas. Les métadonnées ne correspondent toujours pas à ce qui est installé.
poussins