お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

内容

数分前まで普通に動いていたWSLのUbuntu 20.04.4 LTSをターミナルで開くと以下のエラーが表示された

Error: 0x80040326
Error code: Wsl/Service/0x80040326
Press any key to continue...

解消法

WSLをupdateしたら直ったが原因は不明

wsl --update

参考情報

  • https://github.com/microsoft/WSL/issues/9867
    • 原因はわからないがWSLをupdateすると解決するという内容
投稿日:
ジャンル::生活ジャンル::買い物

半年前にマンションの通気口そのものを交換して、いいヤツにしてみたのだが、それでも花粉がひどいのでフィルターを見たところ真っ黒になっていたので交換した話。因みに元の通気口は保管してるので原状回復に支障がないようにしている。

通気口

ユニックスのKRP 150BWFHを使っている。150cm経のやつ。よくあるプッシュ式で見た目もモダンでよい。

余談ですが元々あったのは PDG-AWFHで、部屋が負圧にならない限り吸気を止める構造だったので、換気をよくするために本製品に交換した。(恐らくキッチンの換気扇用で24h換気向けではない)。ついでに高性能フィルターが装備できたので装備している。

20230329_003628-scaled.jpg

今回購入したフィルター

ユニックスのTF150A-KRPというフィルターを購入した。当面分買っておこうと3つ購入。公式サイトやマニュアルによると花粉を95%、PM2.5を50%捕獲できるとされており、かなり高性能なフィルターだ。

20230329_001610-scaled.jpg

因みにフィルたんを併用することで更に花粉をカットできないか試して見たが、特に効果はなかった。恐らくユニックスのフィルターの性能が高く、その上にフィルたんを重ねたところで大きな効果はなかった。

ただフィルたん自体はよく考えられた製品で、色々な通気口に合わせられるように切れ込みが複数入っています。画像の中央の穴と下の裂け目も元々は埋まっていて、部品を外すことでこの形にできました。

20230329_022413-scaled.jpg

特にスペックの記載がないにせよ結構な厚みがあるため、ちゃんとしたフィルターがないケースではそれなりに役に立ってくれそうな気もする。目が粗いのでどれほど活躍してくれるかは未知数だが…。

20230329_022332-scaled.jpg

フィルター交換

左が今まで使ってたやつ、右が新品。半年でかなり真っ黒になっているのでフィルターとしてだいぶ仕事をしていてくれたことがわかる。マニュアルによると半年ごとの交換が推奨されているとのことでちょうどいいタイミングだった。

20230329_001939-scaled.jpg

幾らか詰まった箇所があったので、その備忘録も兼ねて書いておく

前提条件

  • Ubuntu Desktop 20.04.6 LTS -> Ubuntu Desktop 22.04.2 LTS
  • ターゲットは物理マシンでモニタとキーボードは未接続
    • 作業はリモートで実施

実行マシンのスペック

デバイス 製品 諸元
CPU AMD Athlon 200GE 2C4T 3.2GHz Vega3 TDP35W
MEM G.SKILL F4-2666C19D-16GNT DDR4-2666 8GB * 2
SSD Crucial P1 CT500P1SSD8JP NVMe SSD 500GB
ネット回線 フレッツ光ネクストスーパーハイスピードタイプ隼 実効速度 360Mbps

手順

この作業では設定ファイルが勝手に更新されることはない

アップデート方法

事前にSSHを2本立てておくと作業しやすい

  1. SSHの認証鍵がRSA1の場合、ED25519など強力な鍵に置き換えておく
    1. これをしないと再起動後SSHで繋がらなくなる
  2. 次のコマンドを叩く
sudo apt update -y && sudo apt upgrade -y && sudo do-release-upgrade
  1. 続行するのでyを選択。1022への穴あけはしなくて良いが、もう一本SSHを繋いでおくと便利

  2. 設定更新などの作業が発生するため時間は1-2h程度見ておくと良い。問題なければy

    時間に余裕があるかどうかを確認してから進む

  3. <はい>を選択

  4. Dで差分を確認した後、修正の必要があればZで直す。Zを選ぶとシェルが起動し、シェルを終了するとこのダイアログに戻ってくるのでNで進む。また、これは設定ファイルの変更分出てくる

    差分を確認し、修正の必要性を判断しつつ進む

  5. 数時間かかることはないのでy

    まともな回線であればyを選べると思う

  6. 後は放置してれば再起動のダイアログが出てくるので、再起動すれば完了。壁紙がクラゲになるだけかと思ったらDockの位置とかUIが地味に変わっていた
    アップデート後のデスクトップ。クラゲが印象的だ

トラブルシューティング

手順通りやっていれば遭遇しないが、ハマりポイントだったので残しておく

Software Updateでアップグレードできない

日本語表示だと「ソフトウェアの更新」になるが、アップグレードボタンを押してもダイアログが消えるだけで何も起きない

このダイアログは役に立たなかった

これは次のコマンドを叩くことで回避出来る

sudo apt update -y && sudo apt upgrade -y && sudo do-release-upgrade

再起動後にRLoginから接続しようとするとエラーになる

SSH2 User Auth Failure "publickey" Status=0004
Send Disconnect Message...
publickey(ssh-rsa)

上記のエラーが出る場合、SSH認証鍵をRSA1を超える強度のものにする必要がある。XRDPがあればXRDPから復旧できるが、ない場合はモニタとキーボードを繋いでどうにかするしかない

参考までに/var/log/auth.logには以下のログが出る状態

sshd[7330]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

アップグレード所感

セキュリティ面に改善がされているのは良かった(SSHの話)。またGUI周りのパフォーマンスが良くなったのか、キビキビ動くようになった気がする

後はこんなしょぼいスペックも中々ないだろうなというので貼っておく。主にAthlon 200geの部分の話

Athlon 200GEでもインストール速度に不満が出ることはなかった

投稿日:
ジャンル::生活の知恵

蓋を湯煎したり、瓶の底を叩いたり、蓋を叩いたり、あらゆる手を尽くしても開かなかったザワークラウト瓶詰めの蓋を楽に開ける方法があったので書き残しておきます。

本記事ではマイナスドライバーを使います。

対象物

定番とも言えるザワークラウトの瓶詰めです。

ザワークラウトの瓶

開け方

まず瓶の蓋側面に「∅」みたいな感じのマークがあるので探します。

「∅」みたいな感じのマークを探す

次に「∅」の下にある隙間にマイナスドライバーを差し込み、テコの原理で「カパッ」と音がするまで蓋を持ち上げます。ここまでくれば後は蓋を回すだけで開くようになります。

「∅」の下にある隙間にマイナスドライバーを差し込み、テコの原理で「カパッ」と音がするまで蓋を持ち上げる

関連商品

ヘングステンベルグのザワークラウトはカルディで売ってますし、行くのが面倒な場合はAmazonからも買えます

FocalboardというNotionクローンがあるらしく試してみた結果のメモ。
外部に公開することは一切考慮していません。ローカルマシンでの個人利用を想定しています。

確認環境

Env Ver
Ubuntu 20.04.4 LTS
WSL2 1.0.3.0
Focalboard 0.15.0
MySQL Ver 15.1 Distrib 10.3.37-MariaDB

前提条件

  • MySQLはセットアップ済み

手順

基本的なセットアップ

wget https://github.com/mattermost/focalboard/releases/download/v0.15.0/focalboard-server-linux-amd64.tar.gz
tar -xvzf focalboard-server-linux-amd64.tar.gz
sudo mv focalboard /var/lib/

cat <<'EOF' | sudo tee /etc/nginx/conf.d/focalboard.conf
upstream focalboard {
   server localhost:15001;
   keepalive 32;
}

server {
   server_name  focalboard.test;
   access_log   /var/log/nginx/focalboard.access.log;
   error_log    /var/log/nginx/focalboard.error.log;

   location ~ /ws/* {
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       client_max_body_size 50M;
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       client_body_timeout 60;
       send_timeout 300;
       lingering_timeout 5;
       proxy_connect_timeout 1d;
       proxy_send_timeout 1d;
       proxy_read_timeout 1d;
       proxy_pass http://focalboard;
   }

   location / {
       client_max_body_size 50M;
       proxy_set_header Connection "";
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       proxy_read_timeout 600s;
       proxy_cache_revalidate on;
       proxy_cache_min_uses 2;
       proxy_cache_use_stale timeout;
       proxy_cache_lock on;
       proxy_http_version 1.1;
       proxy_pass http://focalboard;
   }
}
EOF

sudo cat << 'EOF' | sudo tee /etc/init.d/focalboard
#!/bin/sh
## BEGIN INIT INFO
# Provides:          focalboard
# Required-Start:    $syslog $network
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: A self-hosted Git service written in Go.
# Description:       A self-hosted Git service written in Go.
## END INIT INFO

. /lib/lsb/init-functions

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
DESC="Focalboard server"
NAME=focalboard
SERVICEVERBOSE=yes
PIDFILE=/run/$NAME.pid
STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/1/KILL/5}"

do_start()
{
    start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \
        --background --chdir /var/lib/focalboard \
        --exec /var/lib/focalboard/bin/focalboard-server
}

do_stop()
{
    kill -9 $(cat /run/focalboard.pid)
    # does not work
    #start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PIDFILE --name $NAME --oknodo
    rm -f $PIDFILE
}

do_status()
{
    if [ -f $PIDFILE ]; then
        if kill -0 $(cat "$PIDFILE"); then
            echo "$NAME is running, PID is $(cat $PIDFILE)"
        else
            echo "$NAME process is dead, but pidfile exists"
        fi
    else
        echo "$NAME is not running"
    fi
}

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        ;;
    status)
        do_status
        ;;
    restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        do_start
        ;;
    *)
        log_daemon_msg "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
        exit 2
        ;;
esac

exit 0
EOF

sudo chmod 755 /etc/init.d/focalboard
sudo update-rc.d focalboard defaults

mysql -u XXX -pYYY

DBの作成

CREATE DATABASE boards;
GRANT ALL on boards.* to 'boardsuser'@'localhost' identified by 'boardsuser-password';
exit

DBとportの変更

nano /var/lib/focalboard/config.json

portdbtypeを以下の内容に書き換え

    "port": 15001,
    "dbtype": "mysql",

起動

以下を叩き http://focalboard.test/ にアクセスできればOK

sudo service focalboard start

感想

Notionっぽいけどかなりしょぼい
ボードが作れてmdが書ける程度
2カラムレイアウト作るとか、画像をドラッグで移動するとかはできない
表組みへの画像挿入は「画像添付 -> 表のmdを書く -> HTMLからblob URLを貼る」で可能だが、見切れるので微妙

今のところ実用性はあまりないかも

参考