Certbot: 0.9.1は非対話型の使用で失敗します(pythondialog、ターミナルを開くときにエラーが発生します)

作成日 2016年10月19日  ·  3コメント  ·  ソース: certbot/certbot

自動更新スクリプトを使用したDebian8自動更新ボックス。証明書を@weekly更新するためのシェルスクリプトとcronジョブがあります。
10月2日は正常に実行され、10月9日は0.8.1-> 0.9.1を更新して、停止しました。

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.

ログファイルの出力:

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

私のメインボックスはDebianで出荷されたバイナリパッケージ(0.8.1)を使用しているので、それはまだ機能していますが、以前に実装したので(Debianがパッケージを提供する前に)、ホームボックスがヒットしました-他のユーザーもおそらく苦しんでいると思います、しかし彼らは気づいていないかもしれません。 私は確かに一週間以上しませんでした。

問題のシェルスクリプト:

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

私は怠惰すぎて実際に問題を解決できないので、Debianパッケージに切り替えるつもりですが、他の人もこれに悩まされるかもしれないと思います。

最も参考になるコメント

この問題は、コマンドラインに-n/--noninteractive/--non-interactiveまたは-q/--quietを追加することで解決できます。 ドキュメントで、systemdまたはcronと非対話的にコマンドを実行する場合は、 --quietを使用することをお勧めします。

全てのコメント3件

この問題は、コマンドラインに-n/--noninteractive/--non-interactiveまたは-q/--quietを追加することで解決できます。 ドキュメントで、systemdまたはcronと非対話的にコマンドを実行する場合は、 --quietを使用することをお勧めします。

このような問題(およびその他の動機付け要因)のために、プロジェクトからdialogを完全に削除したため、このようなエラーは将来のリリースでは不可能になります。

それは、armhf / Alpineのcertbot-0.9.3-r0で追加されています。

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

--non-interactiveは問題を修正しますが、クラッシュしないはずです。

このページは役に立ちましたか?
0 / 5 - 0 評価