As I Please

MTのいんすとーるの練習と、その他びぼうろく・・・

openvpn 2.6 から 古いserverへの接続

client側を最新のものにしたら 2.6まで上がったが、サーバー側が2.xで上げずにいたら、接続できなくなっていた。
エラーを見て、configに

data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC:AES-256-CBC
を追加。
これまでは、'cipher AES-256-CBC' だったが、これはもうdeprecatedのようで、今は'data-ciphers'を使うらしい。

denyhosts から fail2ban に乗り換え

sshd へのアクセスが多すぎるので denyhosts を入れていたが、最近は sendmail に AUTH LOGIN, AUTH DIGEST-MD5,AUTH CRAM-MD5 でのちょっかいも多いので、両方一度に面倒をみてくれそうな fail2ban に入れ替えることに。

freebsd系なので、libwrap 込みでcompile されているバイナリが多いのでそちらに。
linux系は ipfw あたりのルールの追加などを動的に行うのがデフォルトのようだが、ちょっとそれも怖いかな。

ports で入れようとしたら、いろいんなバージョンの freebsdだと、0.22,1.0,1.1 といろんなバージョンが入って微妙に挙動が違いそうなので、もうこれは諦めて git で最新版を入れることにする。
pythonも3系の新しめ(3.8以降)が入っていれば良さそうなので、ありがたい。

opendkim in FreeBSD-9

Googleが メールについてDMARC対応を求めるという話があるようで、数は少ないとはいえ @gmail.com 宛のメールの配信が出来なくなるのは困るので、spf,dkimを入れることを考える。
と言っても、すでにspfは対応しているので、次は dkimということに。
まず opendkim のインストール。 ports はもうろくに使えないので、sourceから持ってきてインストールする。

sourceは opendkim のダウンロードサイトから。https://sourceforge.net/projects/opendkim/files/
または、githubのhttps://github.com/trusteddomainproject/OpenDKIMから。
最新のものが、2.10.3 、最終更新が 2015-05-12 ということでちょっと古すぎるので嫌な予感が。

単純に ./confugire では、やはりダメ。openssl まわりの headerファイルや libが不整合と言ってくる。
先日、openssl は 1.1.1を入れたのでこれらは想定していたが、patchがやはりあって、そのまんま
opendkim-2.10.3-openssl-1.1.1.patchがひっかかる。これを当てればいい、と思ったが、良く見ると同じディレクトリにopendkim-2.10.3-openssl-1.1.1.patch.r2がある。どうもこっちのほうが新しいので、こちらを patch -p1 で当てる。

これでも ./configure 一発とは行かず、
'./configure --disable-shared --with-openssl=/usr/local/openssl111'
で、やっと通った。
で、make と思ったら、これがまた、

WARNING: 'aclocal-1.13' is missing on your system.
のようなエラーが出た。aclocalは 1.15が入っているのに、なぜかこんなエラーが?
ここは googleに聞いてもすぐには出てこなかったが、いまどきなので claude.ai に聞いてみたら、aclocal をインストールして(これはやってるので飛ばして)、その先で、
その後、opendkimのソースディレクトリで以下を実行して設定ファイルを再生成してください:

aclocal
autoconf
automake --add-missing

これで設定ファイルが更新され、makefileが再生成されるはずです。

とのこと。何と、これで Makefileが再生成されて、その後は一発で make が通った。
最近は install 系の話は chatgpi よりも claude.ai の方が良い答えを返してくれると実感している。

amazonlinux2023への selenium のインストール

先に動いていた amazonlinux2023 上での selenium の環境も。

ubuntuベースで同じかと思っていたけれど、いろいろどうも違うらしい。

# rpm -q --queryformat '%{VERSION}' system-release
2023.1.20230825
venv python version: 3.11.2
selenium 4.13.0
ChromeDriver 117.0.5938.149
path: /usr/lib64/chromium-browser/chromedriver

で、次のテストプログラム。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument("/usr/lib64/chromium-browser/chromedriver")

driver = webdriver.Chrome(options=options)

selenium の ubuntu へのインストール

cloude3.1, chatgpt に聞いても、

apt install chromium-chromedirver
pip install selenium
あたりを言ってくるが、python から呼び出すと、
selenium.common.exceptions.WebDriverException: Message: unknown error: no chrome binary at /usr/bin/google-chrome
と、ちゃんとあるバイナリファイルが無いとばかり言われて、、、いくら見ても、ちゃんとバイナリはシンボリックリンク先も含めてあるし、単体では起動するので、、、原因はよく分からず。

普通に googleで聞くと、import chromedriver_binary と言ってくるので、こちらを install。

pip install chromedriver-binary
ところが、これだと、
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 121
Current browser version is 119.0.6045.159 with binary path /usr/bin/google-chrome
と、どうも version 121 を取ってきて、119よりも新しすぎてダメらしい。
ということで、バージョンを下げて、
pip install chromedriver-binary==119.0.6045.159
とやったが、これはどうも無いらしい。
もうちょっとだけ古い、
pip install chromedriver-binary==119.0.6045.105
としたら、これが venvの環境にインストールされて、無事動いた。

次の環境で:
Ubuntu 22.04.2 LTS
python(venv) : 3.10.12
selenium 4.13.0
chromedriver-binary 119.0.6045.105.0
/usr/bin/chromedriver --version: ChromeDriver 119.0.6045.159
/usr/bin/google-chrome --version: Google Chrome 119.0.6045.159

以下のサイトを参照。ありがとうございます。
https://note.com/yuu________/n/n48b3530b0fe6

mt update. r.5404

  • 投稿日:
  • by
  • Category:

まずは MT7 のアップデート。
r.5404 へ。mt-upgrade.cgi は特に問題なく実行終了。

この後、mysql 5 -> mysql 8 への変更のトライアルを、別サーバーを立ててデータを移行してやってみる。

ubuntu 22.04 on vmware でディスク容量を増やす

vmware側で増やしても自動的に ubuntu 側で増えるわけではない。
以下のサイトの通りにやってうまくいきました。

https://qiita.com/Eustace/items/9c31a9dc381f627feb64

・vmware上で当該ディスクの容量(sda)を増やす
・ubuntu上で /dev/sda の容量を rescanさせる
・parted コマンドで パーティションサイズを変更
・lvextend コマンドで 認識サイズも変更

本当は別ディスクを作成して、そちらを sdb などでattach したほうがよかったかも。

dovecot2.3 on macOSX Monterey 12.5.1

ちょっと各所にちらばっているメールについて、
macmini に ローカルに動く dovecotを動かし、imapサーバーを立ち上げて集約しようかと思い立ち、
インストールのメモ。

  1. dovecot のインストール。
    brew install dovecot
    


    これで 2.3.19.1 がインストールされた。/usr/local/Cellar/dovecot/2.3.19.1/ 以下に展開されてシンボリックリンクがいろいろ張られる。またダミーのユーザーとして、'_dovecot','_dovenull' が作成される。

  2. このまま起動しようとしたら、ちょこちょこエラーが出ていてうまくdaemonに落ちてくれない。
    https://ameblo.jp/naokitakisawa/entry-12663707247.htmlを見て confをいじる。

    % diff dovecot.conf dovecot.conf.org
    25d24
    < protocols = imap
    33d31
    <
    104,120d101
    < #
    < #
    < default_login_user = _dovenull
    < default_internal_user = _dovecot
    < #
    < default_internal_group = mail
    < #
    < # https://www.mail-archive.com/dovecot@dovecot.org/msg85160.html
    < default_vsz_limit = 0
    < #
    < # https://www.systemcodegeeks.com/mac-os/macos-dovecot-setgroups-failed/
    < last_valid_gid = 100
    < #
    < #
    % diff 10-mail.conf 10-mail.conf.org
    30,31c30
    < #mail_location =
    < mail_location = maildir:~/Maildir
    ---
    > #mail_location =
    % diff 10-master.conf 10-master.conf.org
    3d2
    < #default_client_limit = 100
    13d11
    < default_login_user = _dovenull
    18d15
    < default_internal_user = _dovecot
    23d19
    <     port = 20143
    37d32
    <   #process_min_avail = 60
    % diff 10-ssl.conf 10-ssl.conf.org
    7d6
    < ssl = no
    13,16c12,13
    < #ssl_cert =  ssl_cert =  ssl_key =    #args = dovecot
    

    anvilまわりでエラーが出ていたりしたのや、MTA,MTSを使う予定はないので、
    メールのデフォルトの置き場所を変えたり、SSL使わないような設定に。
  3. サービスをdaemonで動かすように設定。
    sudo brew services restart dovecot
    

influxdb + grafana + python3 + python-influx データ投入 stringになってしまった。

InfluxDB Error: unsupported mean iterator type: *query.booleanInterruptIterator

というエラーが出た。meanが取れない?何でと思って、influxの中で各種データを見たら、ジャイロ、加速度、温度、気圧、その他全てのデータが 'string'になっていた。 cactiで使っているプログラム(python3)で、redisからデータを取ってきて do.wirte_points で書き込んでるだけだけど、redisで引っ張ってきたデータが文字列処理をしていることもあり、string形式を保ったまま influxdbに放り込まれてたっぽい。 float()とか int()(バッテリーは%の整数値)とcastして放り込み直して解決。

switchbot 温湿度計2つ目 交換品

がamazonから送られてきたのでさっそくつ買ってみた。冷蔵庫の中に新しいものと古いものをほぼ同じ場所に置いて計測。(cactiから influxdb + grafana に移行中)

古いswitchbot温湿度計
switchbot_old_b.png

新しいswitchbot温湿度計
switchbot_new_b.png


データは5分に1回取得するように設定。一目瞭然で、新しい方はほぼデータを拾えているのに、古い方は1時間1回程度。
製品の性能にばらつきありすぎのような気もするけど、中華製ならこんなもんですか?
とりあえずこの新しいものを冷蔵庫に。
また、gatt でエラーが出る件についても、新しい方では解消しなかった。
charastaristicsは同じようだが。。。
ただ、公式githubには、同じことを言っている人がいる。2022/02/10 の投稿のようなのでやはり最近の話っぽい。公式のレスポンスは無いが、そろそろ何か書き込みあるかも。