自動更新スクリプトを使用した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パッケージに切り替えるつもりですが、他の人もこれに悩まされるかもしれないと思います。
このような問題(およびその他の動機付け要因)のために、プロジェクトからdialog
を完全に削除したため、このようなエラーは将来のリリースでは不可能になります。
それは、armhf / Alpineのcertbot-0.9.3-r0で追加されています。
certbot certonly \
--domain $DOMAIN \
--email $EMAIL \
--authenticator standalone \
--agree-tos
--non-interactive
は問題を修正しますが、クラッシュしないはずです。
最も参考になるコメント
この問題は、コマンドラインに
-n/--noninteractive/--non-interactive
または-q/--quiet
を追加することで解決できます。 ドキュメントでは、systemdまたはcronと非対話的にコマンドを実行する場合は、--quiet
を使用することをお勧めします。