ブログ

  • MS-R1 で overlayFS が使えない

    MS-R1 で Docker を公式サイトの手順でインストールし、docker build すると、最後のステップでこのようなエラーになる。

     => ERROR exporting to image                                                                                                                                                      0.2s
     => => exporting layers                                                                                                                                                           0.2s
    ------
     > exporting to image:
    ------
    ERROR: failed to build: failed to solve: mount callback failed on /var/lib/containerd/tmpmounts/containerd-mount1483376101: mount callback failed on /var/lib/containerd/tmpmounts/containerd-mount2618877472: failed to write compressed diff: failed to create diff tar stream: failed to get xattr for /var/lib/containerd/tmpmounts/containerd-mount1483376101/bin: operation not supported

    ChatGPT くんによると

    Root cause: The custom kernel disabled ext4 security xattr support (CONFIG_EXT4_FS_SECURITY=n). Consequently, security.capability xattrs were unsupported, causing BuildKit/containerd to fail when exporting Docker image layers.

    解決策1: 必要な機能をつけて Kernel を再ビルドする (まだ試してない)

    解決策2: overlayFS を諦めて vfs に切り替える。以下を /etc/docker/daemon.json に記述し、docker.service を再起動。

    {
      "features": {
        "containerd-snapshotter": false
      },
      "storage-driver": "vfs"
    }

    vfs の正体については、以下を参照。

    https://docs.docker.com/engine/storage/drivers/vfs-driver

  • MS-R1 がメインPCになりました

    ARM64 のミニPC (64GB RAM + 1TB SSD モデル) を約11万で購入。

    公式 Github に small core は無効化せよと書いてあったので無効化: https://github.com/minisforum-docs/MS-R1-Docs

    OS はデフォルトで入っている Debian。初期状態で GNOME デスクトップが入っている。日本語環境はデフォルトでは入っていないので、自分でセットアップする必要がある。

    apt install で arm 用にビルドされたバイナリパッケージがいろいろ使えるし、困ったらソースコードからビルドすればたいていは使える。

    なんといっても、この値段で 64 GB と 1TB SSD が手に入るのはデカい。

    これからはこれをメインPCとして使っていきます。

  • 片付け

    デスクトップPCを片付けlaptopをメインPCにすることで机の上がめっちゃすっきりした

    デスクトップPCにはlinuxを入れて計算用サーバーにする予定

    重くないタスクlaptop, 重いタスクは GNU/Linux にssh or vnc して作業する予定

  • ChromeOS で Tailscale を自動起動設定すると GNU/Linux が起動できなくなる

    Chromebook で Tailscale を自動起動設定すると GNU/Linux が起動できなくなる。Terminal 起動後 Polling timeout… のようなエラーが出て起動できなくなる。

    Issue: https://github.com/tailscale/tailscale/issues/12090

    解決法

    1. Ctrl + Alt + T で crosh に入る
    2. vsh termina で termina 環境に入る
    3. lxc exec penguin bash で GNU/Linux 環境に入る
    4. systemctl disable –now tailscaled で Tailscaled を停止し、自動起動を無効化する

    Tailscale を使用したい場合は、手動で起動する必要がある。

  • BitLocker を CLI から ON にする

    manage-bde を使う。

    manage-bde -status

    で現在のステータスを確認。

    manage-bde -on <driver-letter>/

    で強制 ON にできる。

    https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/manage-bde

  • Joblib で tqdm を使って進行状況を表示

    実は簡単。

    注意としては、loky backend を使っているときにしか使えない。

    From https://github.com/joblib/joblib/issues/972#issuecomment-1623366702

    import joblib
    from tqdm import tqdm
    import time
    
    
    def workload(i):
        time.sleep(5)
        return i
    
    n_iter = 4
    
    result = [r for r in tqdm(joblib.Parallel(return_as="generator", n_jobs=2)(joblib.delayed(workload)(i) for i in range(n_iter)), total=n_iter)]
    print(result)
  • Deno でSSL証明書エラーを無視する

    --unsafely-ignore-certificate-errors をつけるだけ。

    deno run --unsafely-ignore-certificate-errors

    https://github.com/denoland/deno/issues/1371

  • シェルワンライナー

    シェルワンライナー本を久しぶりに再会する。

    文字コード・バイナリあたりで挫折したが、友人曰く、ここはスキップしても良いだろうとのこと。

    comm コマンドとか、業務に役立そうなコマンドをすでに新たに学べている。

  • Ubuntu mandb trigger が遅い

    apt install 後の mandb trigger が遅い問題。

    percona-toolkit が関係しているかもしれない。

    https://bugs.launchpad.net/ubuntu/+source/man-db/+bug/2073797