2022年5月8日日曜日

dockerのmailman3でメールのアーカイブができない

GWを使って、mailman3を構築している。下記のサイト(※)を見つつ進めたところ、メールのアーカイブができない事象に遭遇。

※ mailman-coreコンテナのmailman.logがこんな感じ。
tail -f core/var/logs/mailman.log
May 07 16:17:59 2022 (27) Exception in the HyperKitty archiver: <html><title>Auth required</title><body>
                    <h1>Authorization Required</h1><p>The archiver key is now
                     required to be sent over the Authorization HTTP header.
                     You need to upgrade the mailman-hyperkitty package to
                     1.2.0 or newer.
                    </p></body></html>
May 07 16:17:59 2022 (27) Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
    return url
  File "/usr/lib/python3.8/site-packages/mailman_hyperkitty/__init__.py", line 210, in _send_message
    except ValueError as e:

メッセージのとおり、mailman-hyperkittyモジュールを1.2.0以上にする必要があるようす。githubで、maxking/docker-mailman/Dockerfileを見たら所、4/14にmailman_hyperkittyが1.2.0に変更されているが、コンテナイメージが更新されていない。

対処として、コンテナに入ってmailman-hyperkittyをアップデート(pip install -U mailman-hyperkitty)して、コンテナを再起動(docker container restart mailman-core)したら、無事にアーカイブできるようになった。さらに、過去の投稿も登録された。

  • コンテナイメージをアップデートしてくれないかなぁ…
  • pipを使ったら、pipのバージョンがふるいって言われるなぁ…
  • コンテナイメージとしてrollingを使うのが正しいのかぁ…
(※)サイト

https://github.com/maxking/docker-mailman

https://rohhie.net/ubuntu20-04-building-a-multi-domain-mailing-list-with-mailman3-first-half/

2022年5月5日木曜日

tcpdump で syn/fin/rst をキャプチャする

tcpdump -n \(tcp[tcpflags] \& \( tcp-syn\|tcp-fin\|tcp-rst \) != 0 \)

※ (と&と|はシェルに解釈されないようにエスケープ

tcp-syn|tcp-fin|tcp-rst の論理和(であってる?)と、tcp[tcpflags]で論理積をとって、0でなければどれかのフラグが立っているといる。

(参考)

https://eijiyoshida.hatenablog.jp/entry/20100805/1280995787

2022年4月2日土曜日

暗号化の考え方

公開鍵では、Lock「錠(じょう)」とKey「鍵(かぎ)」が作成される。
  • Lockを公開錠として、Keyを秘密鍵とすることで、データを秘密裏に受け取ることができる。
    • 受信者が送信者にLock(公開錠)を渡す
    • 送信者がデータをLockして、送付
    • 受信者が暗号化されたデータをKye(秘密鍵)で開錠してデータを確認する。
  • Keyを公開鍵として、Lockを秘密錠とすると、自分を証明することができる。
    • 送信者の証明書をLock(秘密錠)して相手に送付
    • 受信者はデータをKey(公開鍵)で開封して証明書を取り出す。
    • 証明書は、認証局でLock(秘密錠)されており、認証局のKey(公開鍵)で開封できれば、証明書が認証局でLockされたものと確定できる。(認証局のKeyで開封できるのは、認証局のLockで暗号化されているものだけだから) ※ この辺りは少しあやふや。
      • 送付内容をLockしたものと、原文のまま(暗号化されてないまま)送る
      • 受信者が開封して出てきた内容と、原文のまま届いた内容が同じであれば、Keyの所有者からもらった内容であると証明される
  • PFS(Perfect Forward Secrecy:前方秘匿性)
    • DHEを使う。詳細はここ。https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%95%E3%82%A3%E3%83%BC%E3%83%BB%E3%83%98%E3%83%AB%E3%83%9E%E3%83%B3%E9%8D%B5%E5%85%B1%E6%9C%89
    • ざっくりいうと、通信するそれぞれが、「相手の公開鍵と自分の秘密鍵」で共通鍵を作ることができる。

2022年2月11日金曜日

LANG=C xdg-user-dirs-gtk-update

 探せば簡単に出てくるのですが、どうしても忘れるのでメモっておきます。

Ubuntuなどでホームディレクトリの名前が日本語でつけられるのを変更する方法です。

LANG=C xdg-user-dirs-gtk-update

以上です。


ちなみに「LANG=C」を外して再度実行すれば、自分のLANGで設定しなおしてくれるようです。 

2021年4月25日日曜日

FreeBSD13 を Windows10上のVirtualbox6.1.18に導入。

FreeBSD13 を Windows10上のVirtualbox6.1.18に導入中。

  • X設定に困る。解像度が出ない。
  • virtualbox-ose-additionを入るが、vboxvideoはうまく動かない。
  • xf86-video-vmwareを入れるとうまくいった。。。

VirtualBoxのビデオ(設定→ディスプレイ→グラフィックコントローラのところのやつ)で対応がちがうのだな。よく考えれば、そういうものかも。ビデオカードによってドライバ変更するんだもんな。。。

VMSVGA(デフォルト)になっている。
vmwareのvideoで認識してくれる。
VBoxVGA
vboxvideoで認識してくれる
VBoxSVGA
FreeBSD自体が起動しない。起動シーケンスの途中でpanicで落ちる

2020年3月22日日曜日

ubuntu18.04 on virtulbox のディスク拡張

virtualboxで利用しているubuntuのDISKが足りなくなったので、拡張する。

こちらのサイトの内容とほぼ同じ。
http://ism67ch.net/?p=283

  1. ■ざっくり方針
    1. DISKイメージ(.vdi)を大きくする。
    2. fdisk/parted/resize2fsで領域拡張。
  2. ■事前準備
    1. 電源OFF
    2. 念のためディスクのファイルをコピー(意味あるかは不明)
  3. ■DISKイメージのサイズ拡張
    1. virtualboxの「ファイル」→「仮想メディアマネージャ」でDISKのサイズを増やす対象のVMのDISKサイズを大きくすればよい。
  4. ■ubuntuをメンテナンスモードで起動
    1. 起動時に「ESC」を押し続ける
    2. ブートメニューが表示されたら最後に「(recovery mode)」とついているやつを選択
    3. リカバリーメニューが表示されるので、「root」を選択
  5. ■DISK処理(状態確認)
    1. 「fdisk -l」と「lsblk」コマンド
    2. /dev/sda2と/dev/sda5のStartとEndがかぶっていてよくわからないなと思っていたら、どうも拡張領域(Extended)から論理ボリュームを切り出している様子。約1G。※ sda2/sda5はswap領域で消えてもよいデータなので、削除してsda1を拡張して、最後にswap用に再生成することにした。
      最初の状態
  6. ■sda1を拡張するためにsda2(とsda5)を削除する。※ 先にswapoffをしたほうよい
    1. 「fdisk /dev/sda」コマンドでfdiskの起動。
    2. 「d」で削除。sda2のパーティションを削除する(sda5はsda2上に作られた論理パーティションなので一緒に消える)
    3. sda1の拡張は「parted」コマンドで実施するので、「w」で書き込みして「q」で「fdisk」を抜ける。特定のデバイスつかっているよとエラーが出て、swapを外してなかったことを思い出す。
    4. 「swapon -s」で状態確認、「swapoff /dev/sda5」でswap外し
      sda2パーティション削除

      fdiskの終了

      swap外し(ちょっとグダグダ)
  7. ■sda1を拡張する
    1. 最初のサイトにあった「(prated) resize」はもう使えないと。「(parted) resizepart」で拡張。なにが違うんだろう。
    2. 終わったら「resize2fs /dev/sda1」でFSの拡張も対応。
      partedで領域拡張

      拡張完了

      一応fdiskでも確認
      resize2fsを実行
  8. ■消したsda2/5を作っておく
    1. 「fdisk」コマンドで作成した。
    2. 「swapon」
  9. ■再起動
    1. sda1の拡張はうまくいった様子。
    2. swapは認識していなかった。fstabがUUIDで設定されており、それが変更(というか無い?)ためかと思う。
    3. mkswap /dev/sda5を実施して、表示されるUUIDを/etc/fstabに設定する。
    4. 「swapon -a」でマウント

2018年10月14日日曜日

ubuntu16.04LTSから18.04LTSへのアップグレード失敗

とりあえずubuntu16.04LTS→18.04LTSに失敗して、なんとか復旧できたのでメモを公開。あとで清書しよう。。。。
  • do-release-upgradeでubuntuを16.04LTSから18.04LTSにアップグレード
  • 色々エラーが出ているが気にせず再起動
  • OSは起動してXでのログイン画面が出てくるが、パスワード打ってログインしたら、固まる。
    • このあたり「alt-ctl-F2」とかF1,F3,F4を押すとコンソールになったりする機能があるので、それをつかえればもっと作業しやすかったかも。これに気が付いたのが最後のほうだったので、あまり有効に使えなかった。
  • ALT-CTRL-DELETEで再起動はできる。
  • 起動時にshiftキーを押しておくと「リカバリモード」で起動可能。
    • https://kledgeb.blogspot.com/2012/08/ubuntu-1204_28.html
  • pkg fixでも治らない
  • (何度か再起動)
  • networkを有効にしてroot promptに入る
  • なぜかresolve.confが更新されないので、手動で作る。echo 'nameserver 8.8.8.8' > /etc/resolv.conf
  • ググるとでてくる、「https://bugs.launchpad.net/ubuntu/+source/systemd-shim/+bug/1773859」これっぽい。
    • 「/usr/share/dbus-1/system-services/org.freedesktop.systemd1.service 」を「/usr/share/dbus-1/system-services/org.freedesktop.systemd1.service.systemd」にmvしようとするが、失敗して止まる。多分「「/usr/share/dbus-1/system-services/org.freedesktop.systemd1.service.systemd」がすでにあるの場合に失敗するのかと思われる。(少なくとも私の環境ではすでにあった。)
    • 別の名前にmvする。
  • apt-get -f install でインストール失敗しているpkgをインストール
    • これって、apt-get updateでローカルのパッケージ一覧を更新している前提があって、「-y install」で、失敗しているpkgをインストールできることになるという理解であってますかね。。。
  • やはり途中で止まる。。。「リカバリモード」のrootでログインして、「apt update」「apt upgrade」を実行したら「dpkg --configure -a」を実行しろとのこと。いわれるまま進める。
  • サービス起動(?)の「Started Braille Device Support.」で刺さる。「ctrl-z」でとめて、「killall systemctl」を打ってから、「fg」。もう意味わからないけど、とりあえず進む。
    • https://askubuntu.com/questions/731671/botched-upgrade-dpkg-hangs-on-started-braille-device-support
  • これも出た。「python3-aptdaemon.pkcompat : Conflicts: packagekit
                                          Conflicts: packagekit:i386」
    「apt remove」でpython3-aptdaemon.pkcompatを消してから、「apt upgrade」する。
  • https://askubuntu.com/questions/837927/trying-to-upgrade-packages
  • systemdあたりでひっかかったらひたすら「killall systemctl」でしのぐ