Certbot: 0.9.1 falla en uso no interactivo (pythondialog, error al abrir terminal)

Creado en 19 oct. 2016  ·  3Comentarios  ·  Fuente: certbot/certbot

Cuadro de actualización automática de Debian8 usando el script de actualización automática, tengo un script de shell + cronjob para actualizar mi certificado @weekly
El 2 de octubre se ejecutó con éxito, el 9 de octubre actualizó 0.8.1 -> 0.9.1 y murió.

Upgrading certbot-auto 0.8.1 to 0.9.1...
Replacing certbot-auto...
Creating virtual environment...
Installing Python packages...
Installation succeeded.
An unexpected error occurred:
Bug in pythondialog: expected an empty output from u'infobox', but got: u'Error opening terminal: unknown.\n'Please see the logfile 'certbot.log' for more details.

Salida del archivo de registro:

2016-10-15 21:01:18,381:DEBUG:certbot.main:Root logging level set at 20
2016-10-15 21:01:18,420:DEBUG:certbot.main:Exiting abnormally:
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py", line 749, in main
    setup_logging(config)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/main.py", line 653, in setup_logging
    logger.info("Saving debug log to %s", log_file_path)
  File "/usr/lib/python2.7/logging/__init__.py", line 1160, in info
    self._log(INFO, msg, args, **kwargs)
  File "/usr/lib/python2.7/logging/__init__.py", line 1279, in _log
    self.handle(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 1289, in handle
    self.callHandlers(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 1329, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python2.7/logging/__init__.py", line 757, in handle
    self.emit(record)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/certbot/log.py", line 64, in emit
    self.width + self.PADDING_WIDTH)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/dialog.py", line 2675, in infobox
    kwargs)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/dialog.py", line 1765, in _widget_with_no_output
    widget_name, output))
PythonDialogBug

Mi caja principal está usando el paquete binario enviado por Debian (0.8.1), por lo que todavía funciona, pero mi caja de inicio se vio afectada, ya que la implementé antes (antes de que Debian proporcionara el paquete). Me imagino que otros usuarios probablemente también estén afectados. , pero es posible que no se hayan dado cuenta. Ciertamente no lo hice durante más de una semana.

Shell script en cuestión:

#!/bin/sh
/letsencrypt/letsencrypt-auto certonly --webroot --renew-by-default -w /var/www/git-ssl-proof/ -d git.nikomo.eu
systemctl reload nginx

Soy demasiado perezoso para solucionar el problema de verdad, así que simplemente voy a cambiar al paquete Debian, pero creo que otras personas también podrían verse afectadas por esto.

Comentario más útil

Puede resolver este problema agregando -n/--noninteractive/--non-interactive o -q/--quiet a la línea de comando. En nuestra documentación, nos recomienda el uso de --quiet cuando se ejecuta el comando no interactiva con systemd o cron.

Todos 3 comentarios

Puede resolver este problema agregando -n/--noninteractive/--non-interactive o -q/--quiet a la línea de comando. En nuestra documentación, nos recomienda el uso de --quiet cuando se ejecuta el comando no interactiva con systemd o cron.

Debido a problemas como este (así como a otros factores motivadores), hemos eliminado completamente dialog del proyecto, por lo que errores como este serán imposibles en nuestras versiones futuras.

Bueno, está ocurriendo con certbot-0.9.3-r0 de armhf/Alpine.

certbot certonly \
    --domain $DOMAIN  \
    --email $EMAIL  \
    --authenticator standalone  \
    --agree-tos

--non-interactive soluciona el problema pero no debería bloquearse.

¿Fue útil esta página
0 / 5 - 0 calificaciones