tohokuaikiのチラシの裏

技術的ネタとか。

Debian10でCertbotがこける

先月、サーバーをdebian10に変更した。

しばらく何の問題も無かったが、Certbotがこけているのに気が付いた。これはどう考えてもPythonが悪い。しかし、今気づいてよかった。

# /usr/local/bin/certbot-auto
Upgrading certbot-auto 0.31.0 to 1.0.0...
Replacing certbot-auto...
Error: couldn't get currently installed version for /opt/eff.org/certbot/venv/bin/letsencrypt:
Traceback (most recent call last):
  File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/main.py", line 5, in <module>
    import logging.handlers
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, collections
  File "/usr/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

そもそも最近までDebian7だったのでもう思い当たる節がありまくり。

パッケージインストールでは無かったと思うのが、debian10にはパッケージがあるようだ。ということで

# apt install certbot

で、何か入ったっぽい。

…が、which certbox-autoしても /usr/local/bin/certbot-auto という以前入れたのしか出ない。

当然これを実行しても同じエラーが出る… ということで、検索

# find / -type f -name "certbot-auto"

…何も出ない。

おそらく、/usr/local/bin/certbot-autoがあったままだと正常にcertbot-autoがインストールされないのでは…と思い、これを削除(rm /usr/local/bin/certbot-auto)して再インストール。とりあえず動いた…。SSL更新できないみたいなエラー出てるけど、エラーメッセージ出てるだけ相当マシ。