Après avoir réinstallé python et ufw, j'obtiens l'erreur suivante:
user@machine:~$ Sudo ufw status
Traceback (most recent call last):
File "/usr/sbin/ufw", line 25, in <module>
import ufw.frontend
ModuleNotFoundError: No module named 'ufw'
J'ai essayé de réinstaller ufw plusieurs fois mais je ne le fais pas fonctionner.
Ce que j'ai remarqué à propos de pip
, c'est que Sudo
utilise pip2
Au lieu de pip3
Mais utilise également python3
Comme python
:
user@machine:~$ pip -V
pip 19.3.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
user@machine:~$ Sudo pip -V
pip 19.3.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
user@machine:~$ Sudo -i
root@machine:~# pip -V
pip 19.3.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
user@machine:~$ python -V
Python 3.8.0
user@machine:~$ Sudo python -V
Python 3.8.0
user@machine:~$ Sudo -i
root@machine:~# python -V
Python 3.8.0
Je ne sais pas si cela cause les problèmes.
Histoire d'Apt:
apt remove --purge python3-pip # This broke ufw probably because --purge
apt remove python3
apt install python3
apt remove python3 # Noticed outdated version, uninstall again and built from source afterwards
apt install python3-pip # Was done after building and installing python3 from source
Sudo pip3 list
:
Package Version
---------- ---------
certifi 2019.9.11
chardet 3.0.4
idna 2.8
pip 19.3.1
requests 2.22.0
setuptools 41.2.0
urllib3 1.25.7
python3 -c 'import sys; print(sys.version); print(sys.path)'
:
3.8.0 (default, Dec 1 2019, 09:38:21)
[GCC 7.4.0]
['', '/usr/local/lib/python38.Zip', '/usr/local/lib/python3.8', '/usr/local/lib/ python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages']
ls /usr/lib/python3/dist-packages/ufw/
applications.py backend_iptables.py backend.py common.py frontend.py __init__.py parser.py __pycache__ util.py
Il semble que ufw
ait été supprimé de pip3
, lorsque vous avez désinstallé python3-pip
Essayez ceci pour le réinstaller:
Sudo pip3 install https://launchpad.net/ufw/0.36/0.36/+download/ufw-0.36.tar.gz
Vous n'êtes pas censé supprimer python
d'Ubuntu car de nombreux packages sont construits dessus. Puisque vous avez déjà installé python, veuillez exécuter les commandes répertoriées ci-dessous pour réinstaller ufw
Sudo apt-get purge --auto-remove ufw
Sudo apt-get install ufw
Il ressemble à python la version utilisée par ufw est supprimée et la version installée est différente de ce qu'elle était, donc ufw signale une erreur.
Vous pouvez retracer quelle python version ufw utilise en suivant la commande.
Sudo find /usr/lib/ -name "ufw"
Par exemple, vous aurez une sortie similaire ci-dessous (exacte dépend de votre python utilisée par ufw).
/usr/lib/python3.6/site-packages/ufw
Dans l'exemple ci-dessus, ufw utilise python 3.6. Vous devez réinstaller une version particulière de python selon votre cas).
Dans ubuntu 18.04, toutes les dépendances sont automatiquement gérées par le gestionnaire de paquets. Vous supposez de ne pas installer manuellement la dépendance.
Il semble que vous utilisiez python package qui n'est pas compatible avec UFW. Si vous n'avez pas de projet python en cours d'exécution, essayez de supprimer python et autorisez UFW à réinstaller automatiquement avec les dépendances.
Arrêtez le processus, si vous recevez un message comme un autre paquet sera supprimé.
Toujours un problème. Essayez:
Sudo apt install aptitude
Sudo aptitude install ufw
AVERTISSEMENT: Faire cela à des paquets comme Python rendra probablement votre système inutilisable, N'ESSAYEZ PAS, À MOINS QUE VOUS COMPRENEZ. Ne me blâmez pas si votre système tombe en panne.
La meilleure chose que vous puissiez faire maintenant dans cette situation est de sauvegarder vos données. Si vous avez un disque dur externe ou autre chose, sauvegardez vos fichiers. Vous ne devez pas désinstaller les packages préinstallés dans Ubuntu après l'installation, c'est-à-dire "Les packages que vous n'avez pas installés", à l'avenir si vous souhaitez désinstaller et réinstaller des packages ne les supprimez pas, utilisez ce qui suit:
Sudo apt install --reinstall <package-name>
Je précédemment désinstallé OpenSSL d'Ubuntu en raison d'un petit bogue, et il a désinstallé 129 packages, qui étaient nécessaires pour Ubuntu. J'ai dû réinstaller Ubuntu. Soyez donc prudent lorsque vous désinstallez ou réinstallez des packages.