Une catastrophe vient de m'arriver après avoir exécuté la commande yum remove python
et maintenant je ne peux plus démarrer le serveur.
Comment cela s'est produit: j'ai essayé de mettre à jour certaines applications via yum sur mon CentOS 5 VPS et la commande échouait en raison d'une erreur bizarre python 2.4. J'ai remarqué que ma version de python était ancien et j'ai essayé de le réinstaller en le supprimant d'abord, et donc j'ai fait yum remove python
.
Après cela, il m'a demandé quelque chose sur la suppression des dépendances et il ne semblait rien que je puisse manquer, alors j'ai cliqué sur Y
.
La conséquence de cela fut que je ne pus exécuter aucune commande. J'ai même essayé cd /var/www
mais il disait quelque chose comme "command does not exist in /usr/bin
". Quand j'ai utilisé tab pour voir les suggestions de navigation dans les dossiers, la structure du fichier semblait toujours être là (au moins le /var/www
peu qui est vraiment important pour moi). Après cela, j'ai essayé de redémarrer le vps (depuis le panneau d'administration car la commande reboot
ne fonctionnait pas) et maintenant il ne démarre plus.
Maintenant, ma question est: comment une commande comme celle-ci peut-elle détruire mon serveur comme ça?
Je suis sincèrement désolé: je peux ressentir la douleur d'avoir un serveur non amorçable/inutilisable.
Cependant, je suis perdu en lisant cela:
Après cela, il m'a demandé quelque chose sur la suppression des dépendances et il ne semblait rien que je puisse manquer, alors j'ai cliqué sur [Y]
La liste des paquets à supprimer était sûrement vraiment énorme, car python
est une partie essentielle de RHEL/CentOS. Vous devriez jamais confirmer un message d'avertissement que vous ne comprenez pas vraiment.
La meilleure chose que vous puissiez faire, comme déjà suggéré, est de démarrer via un support de récupération (par exemple: livecd), d'extraire les fichiers de données requis et de réinstaller votre machine avec une version plus récente de CentOS (et comme CentOS 6 est assez ancien, j'ai fortement vous propose de rebaser sur CentOS 7).
Franchement, parce que vous avez fait quelque chose que vous ne comprenez pas complètement. Python est une partie essentielle du système d'exploitation et les choses que vous considérez comme sans importance sont très importantes. Restaurer à partir d'une sauvegarde.
Lorsque vous avez supprimé Python, yum
vous a montré une longue liste de packages qui seraient également supprimés. Cette liste contient des éléments essentiels tels que yum
lui-même, coreutils
, net-tools
et d'autres. Vous avez confirmé à miam que vous savez ce que vous faites et que vous voulez quand même continuer. Le résultat de ceci est un système qui ne fonctionne pas. Cela ne devrait pas être surprenant.
Pour mémoire, sur la nouvelle version de CentOS, cela n'est plus possible, car certains packages sont désormais marqués comme protégés et ne peuvent pas être supprimés, seulement réinstallés ou mis à niveau. Et puisque CentOS 5 est maintenant en fin de vie de toute façon, c'est le bon moment pour passer à une version plus récente.
Vous avez fait quelque chose sans comprendre pleinement les conséquences
Cette installation est irrécupérable, nécessiterait beaucoup de travail pour réinstaller centos5. Et c'est un mauvais plan parce que
Solution
Votre meilleur pari est de créer un nouveau VPS, de réinstaller CentOS7, puis de rattacher l'ancien volume de disque centos5 et de le monter en lecture seule. Ensuite, travaillez pour copier (pas déplacer) vos données de l'ancien disque vers le nouveau.
Notez que ce serait ma méthode en utilisant AWS. Si votre fournisseur VPS ne peut pas attacher de disques à différentes machines virtuelles, vous devrez modifier le plan.
Peu importe ce que vous faites, pensez à configurer des sauvegardes automatisées à l'avenir. Cela ne vous sauverait pas, mais cela rendrait la récupération un peu plus flexible. À l'heure actuelle, vous avez besoin des données sur ce disque dans un nouveau serveur de travail. Ne perdez pas le disque existant.
Comment cela pourrait-il arriver? Eh bien, assez simple: en supprimant les parties essentielles à votre serveur.
Prochaines étapes pour vous: redéployez un nouveau système d'exploitation et restaurez vos données à partir de sauvegardes.
Comme souligné par dragon788 et d'autres dans les commentaires, dans Gentoo, les développeurs maintiennent également un ensemble de packages tinderbox qui sont juste des versions binaires pré-construites d'un ensemble de packages de base du système d'exploitation pour de telles situations. Si vous perdez un package principal, vous obtenez simplement le système démarré sur le LiveCD/DVD, montez le lecteur du système d'exploitation du serveur cassé et décompressez le ou les packages tinderbox sur le système de fichiers, démontez, redémarrez et, s'il démarre correctement, reconstruisez les packages selon les spécifications et les configurations de votre serveur.
Donc, pour effectuer quelque chose de similaire dans CentOS, je pense que vous auriez besoin de trouver les bonnes versions des RPM qui ont été désinstallés, puis de démarrer sur un LiveCD/DVD, de monter le lecteur OS et de le chrooter (peut-être ... si vous êtes familier) avec la façon d'utiliser l'indicateur "- relocate" pour rpm , vous pourriez ne pas avoir besoin chroot), puis réinstallez ces packages, démontez et redémarrez.
Bien sûr, étant donné que la prise en charge de CentOS 5 a pris fin le mois dernier, après avoir redémarré le système correctement, vous pouvez le mettre à jour vers une version actuelle.
HTH.
Vous pouvez généralement démarrer à partir du support d'installation, puis chroot
pour exécuter des commandes ou entrer dans les fichiers d'installation et de récupération en cours ou effectuer une réinstallation des packages.