2017-02-17 4 views
1

Je fouillais avec Fedora, essayant de désinstaller un module python. Je ne pouvais pas trouver celui que je cherchais, donc le cerveau de demi-linux-primate a pensé à une Idée, pour l'exécuter.DNF et YUM ne fonctionnent pas après avoir purgé usr/lib/python3.5/site-packages/

sudo rm -rf /usr/lib/python3.5/site-packages/ 

Il a fait sa chose, et seulement après cela, j'ai réalisé à quel point j'étais stupide. DNF et YUM dépend et chaque fois que j'exercerai DNF que je reçois

Traceback (most recent call last): 
    File "/usr/bin/dnf", line 57, in <module> 
    from dnf.cli import main 
ImportError: No module named 'dnf' 

Et quand j'exécute YUM

Redirecting to '/usr/bin/dnf ' (see 'man yum2dnf') 

Traceback (most recent call last): 
    File "/usr/bin/dnf", line 57, in <module> 
    from dnf.cli import main 
ImportError: No module named 'dnf' 

La seule chose qui fonctionne est yum-deprecated. Tout le reste est dans la tourmente.

Alors comment résoudre ce problème?

Répondre

2

La purge du répertoire Site-Packages de Python3 supprime un grand nombre de bibliothèques dont Fedora a besoin pour fonctionner correctement. Cela signifie que les outils tels que dnf et yum ne fonctionnent pas.

Voici les étapes que j'ai prises pour résoudre ce problème.

Étape 1: Installez yum-deprecated. Il suffit de taper yum-obsolète sur le terminal et il vous demandera si vous voulez l'installer. Tapez y et il sera installé.

Étape 2: Exécutez cette commande Bash

rpm -qa | egrep "^python3" | sed ':a;N;$!ba;s/\n/ /g' | xargs sudo yum-deprecated reinstall -y 

Ceci trouve tous les noms des python installés 3 paquets, et les remettre en place. Note à l'attention de moi-même: Ne jamais exécuter de commandes comme sudo rm -rf /usr/lib/python3.5/site-packages/ plus jamais.

1

Vous avez essentiellement supprimé un grand nombre de fichiers python. Une grande partie du système dépend du python, y compris dnf lui-même, qui est écrit en python. La meilleure chose à faire serait de sauvegarder tous vos fichiers et de réinstaller le système. Si yum-deprecated fonctionne encore, vous pourriez avoir la chance avec réinstallant dnf:

yum-deprecated reinstall "dnf*" 

mais très probablement vous aurez besoin de beaucoup plus de paquets à prendre par la même procédure.

+0

N'a pas résolu le problème. Pouvez-vous donner les noms des paquets Python que vous avez installés, en tant que fichier d'exigences. –

2

Utilisez 'rpm -Va' pour identifier les paquetages avec des fichiers manquants. Vous devrez ensuite télécharger les fichiers RPM correspondants à partir d'un miroir Fedora, puis utiliser rpm --reinstall pour les corriger. Les paquets dnf et yum de plus haut niveau s'appuient sur Python, ils sont donc susceptibles d'être simplement cassés. Heureusement, la commande rpm de niveau inférieur ne l'est pas, donc si les paquets python sont tout ce que vous avez supprimé, cela devrait vous remettre en forme.

+0

Je l'ai fait et j'ai redirigé la sortie dans ce fichier https://drive.google.com/file/d/0B-fWI8D4m3DxcWk0bmI3R1J5bGc/view?usp=sharing Ce qui représente environ 7000 lignes. Pas particulièrement utile. –

+0

Never Mind, ça marche. Merci –