Problema con Certbot después de la actualización de Ubuntu a 22.04

Problema con Certbot después de la actualización de Ubuntu a 22.04

Tengo un problema con Certbot después de actualizar a Ubuntu 22.04. Intenté reinstalar Certbot sin éxito. Luego intenté instalar Certbot con snap y tengo el mismo problema:

 certbot --version
Traceback (most recent call last):
  File "/usr/local/bin/certbot", line 33, in <module>
    sys.exit(load_entry_point('certbot', 'console_scripts', 'certbot')())
  File "/usr/local/bin/certbot", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 957, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 548, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for certbot

No puedo renovar los certificados de mis dominios. ¿Cómo puedo resolver esto?

Respuesta1

En el mensaje de error proporcionado en la pregunta, noté que el ejecutable problemático de Certbot es /usr/local/bin/certbot.

Por lo general, los archivos ejecutables ubicados en /usr/local/binson una especie decostumbreinstalaciones y tienen prioridad sobre las instaladas por los administradores de paquetes, debido a la estructura predeterminada de la $PATHvariable; para verificarla, ejecute:

echo $PATH

Por otro lado, los paquetes instalados con aptse pueden encontrar en otros directorios como /usr/bino /usr/sbin, o /bin, o /snap/binpara los snappaquetes, etc.

Por lo tanto, podrían existir diferentes versiones de un comando (con el mismo nombre) en diferentes directorios que pertenecen a su archivo $PATH. Para saber cuál tiene prioridad sobre los demás, puedes utilizar el comando:

which certbot

Para encontrar las ubicaciones de todos los archivos ejecutables nombrados certbotdentro de los directorios en el $PATHuso del comando:

which -a certbot

En un caso, el comando anterior genera más de una línea, por ejemplo:

/usr/local/bin/certbot
/usr/bin/certbot
/bin/certbot

Puede intentar renovar sus certificados con el segundo (o tercer) comando llamándolo con su ruta completa, es decir, /usr/bin/certbot.

Si esto funciona, puedes eliminar de forma segura el ejecutable obsoleto /usr/local/bin/certbotque probablemente se instaló hace mucho tiempo mientras seguías alguna guía que no recuerdas en este momento :)

información relacionada