タイトルそのままシリーズ。昨年の年末くらいから podman で all-ruby の docker image を実行すると image の format エラーが出て実行できなくなる現象が起きていたので真面目に調べてみた。まずは現象確認で alpine などで状況を確認。
$ podman run -it --rm --arch=amd64 alpine:latest /bin/sh
Resolved "alpine" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/alpine:latest...
Getting image source signatures
Copying blob sha256:4abcf20661432fb2d719aaf90656f55c287f8ca915dc1c92ec14ff61e67fbaf8
Copying config sha256:05455a08881ea9cf0e752bc48e61bbd71a34c029bb13df01e40e3e70e0d007bd
Writing manifest to image destination
{"msg":"exec container process `/bin/sh`: Exec format error","level":"error","time":"2024-02-01T08:38:18.917175Z"}
--arch=amd64
を外すと arm64
でちゃんと動く。で、何のタイミングかわからないけど、https://github.com/multiarch/qemu-user-static を入れたり、podman の machine を作ったり、壊したりしているうちにたまたま動く機会があったので、順番にデバッグしていくと、podman の machine イメージを作ったあとに minikube で podman 向けのセットアップを実行すると arch をまたいで動かなくなる、ということだった。
k8s はとりあえず kubectl が動いて、簡単なことができればいいので minikube にこだわらずに kind にすることで、今まで通り podman でも amd64/arm64 両方で便利に使えるようになった。ほんとにもう。
1/19 の時点ではまた後で、としていた snap の Ruby 3.2.3 パッケージをリリースした。
割りとすぐにやろうと思っていたものの macOS の snapcraft コマンドの 8.0.1 が python の依存関係が壊れて全く動かなくなったので持っている linux vm の中から remote build を叩くコマンドだけを全アーキテクチャ分実行することでパッケージの作成をなんとかやるなどしていた。
macOS で全く動いてないのに、修正されないのを見るに誰も使ってないんだろうなあ。はあ。
Kindle Unlimited の対象だった時にダウンロードしておいたのを読んだ。
別冊なので、本の個別の会をテーマごとに短くまとめたというもので、どの話もだいたい記憶にある、という感じではあったけど「世論」あたりはそう言えばこんな話だったな、と思い出したりするのにいい機会だった。