systemd-nspawnやmachinectlで軽量システムコンテナを使う
systemd-nspawn やそれを使った machinectl でのノウハウがたまってきたので、何回かにわけてまとめていきたいと思います。
systemd-nspawn やそれを使った machinectl でのノウハウがたまってきたので、何回かにわけてまとめていきたいと思います。
RubyKaigi 2022でHistory of Japanese Ruby reference manual, and futureという発表をしてきました。 久しぶりの大規模イベントへのオフライン参加でした。
ruby-jp slack でログイン情報を持ちたくないので、ユーザーに手動でログインしてもらって、ログイン後にアプリでスクレイピングしたい、という質問があったので、headless じゃない browser を開いてログインしてもらって、cookie をコピーすればできそう、と思って試してみました。
Docker イメージの中で Google Chrome を使いたいと思って、 apt でインストールするのに apt-line にちゃんと今風の signed-by を使いたいと思って調べていると間違った使い方が広まっていて、 最初に試した方法で signed-by を使うときに期待する安全性が得られていなかったので、正しいと思う方法をまとめました。
Ubuntu や Debian には Phased Updates という仕組みがあって、デフォルトでは jammy-updates などのパッケージは最初は 10% だけで徐々に対象が増えていく、ということをしてレグレッションの問題を軽減しているようです。
Ubuntu 22.04 LTS には needrestart というパッケージが入っていて、パッケージの更新のときに「Daemons using outdated libraries」というダイアログに「Which services should be restarted?」という質問で再起動対象を選ぶ状態になることがあります。 開発環境や個人の環境なら、いちいち聞いてこなくても勝手に必要なデーモンは全部再起動してくれても大丈夫なので、そういう設定に変更しました。
FreeBSD は仮想マシンイメージも配布されているのに FreeBSD ハンドブックの第2章 FreeBSD のインストールには 「これらはインストール用のイメージではなく、 すでに設定済みの (“すでにインストールされた”) インスタンスで、すぐに起動して、 インストール後の作業を行うことができます。」 と書いてあるだけで、起動方法が書いていなかったのですが、色々試していたら起動して使えました。
qemu で -nographic や -serial mon:stdio などでシリアルコンソールからログインすると、端末サイズが 80x24 扱いになって、表示が崩れることがあって不便なので、Arch Linux の Wiki を参考にして対処しました。
https://wiki.debian.org/RISC-V を参考にして、 qemu で RISC-V の Debian の環境を作ってみました。