diff --git a/content/ja/post/2023/1690694899/index.md b/content/ja/post/2023/1690694899/index.md index ab88d8ad..970800d3 100644 --- a/content/ja/post/2023/1690694899/index.md +++ b/content/ja/post/2023/1690694899/index.md @@ -2,11 +2,14 @@ # Documentation: https://wowchemy.com/docs/managing-content/ title: "TailscaleのACLを設定した" -slug: 1690694899 +slug: configure-tailscale-acl subtitle: "" summary: "" authors: [] +aliases: +- 1690694899 + tags: [] categories: [] keywords: [] @@ -17,7 +20,7 @@ share: false year: 2023 date: 2023-07-30T14:28:19+09:00 -lastmod: 2023-07-30T14:28:19+09:00 +lastmod: 2024-12-26T15:54:55+09:00 featured: false draft: false @@ -77,6 +80,7 @@ ACLは初期ルールをコメントアウトするとデフォルトが全拒 //{"action": "accept", "src": ["*"], "dst": ["*:*"]}, {"action": "accept", "src": ["tag:client"], "dst": ["*:*"]}, {"action": "accept", "src": ["tag:scraper"], "dst": ["tag:server:9100"]}, + {"action": "accept", "src": ["autogroup:shared"], "dst": ["tag:server:*"]}, ], } ``` diff --git a/docs/ja/index.json b/docs/ja/index.json index 2d972222..da421312 100644 --- a/docs/ja/index.json +++ b/docs/ja/index.json @@ -31,4 +31,4 @@ - [{"authors":[],"categories":[],"content":" UEFI BIOS上の\u0026#34;Secure Rollback Prevention\u0026#34;の項目 結論として、最近のAMDシステムでは “Secure Rollback Prevention” (BIOS rollback protection)とは別に “AMD Secure Processor Rollback protection” があり、これがベンダー側で有効にされている場合は一旦脆弱性対応を含むUEFI BIOSバージョンに上げてしまうとダウングレード(ロールバック)できなくなる。\nhttps://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Amd.RollbackProtection\nThis feature prevents an attacker from loading an older firmware onto the part after a security vulnerability has been fixed.\n[…]\nEnd users are not able to directly modify rollback protection, this is controlled by the manufacturer.\n以前BIOSバージョンを1.49に上げたものの、この1.49(R23ET73W)が公式ページから取り下げられてしまっている。何かしらの不具合があったということなので現時点で最新である1.40(R23ET70W)に戻しておきたかったのと、ファームウェアが原因なんじゃないかと思われる症状に悩まされているので色々なバージョンに戻ってテストしたかったので試行錯誤するはめに。\nまずSecure Rollback Preventionをオフにしてから、次のようにfwupdmgrでダウングレードを選択するも再起動時にSecure Flash Authentication Failedで適用されず。\n$ fwupdmgr downgrade 0.\tCancel 1.\tb0fb0282929536060857f3bd5f80b319233340fd (Battery) 2.\t6fd62cb954242863ea4a184c560eebd729c76101 (Embedded Controller) 3.\t0d5d05911800242bb1f35287012cdcbd9b381148 (Prometheus) 4.\t3743975ad7f64f8d6575a9ae49fb3a8856fe186f (SKHynix HFS256GDE9X081N) 5.\td77c38c163257a2c2b0c0b921b185f481d9c1e0c (System Firmware) 6.\t6df01b2df47b1b08190f1acac54486deb0b4c645 (TPM) 7.\t362301da643102b9f38477387e2193e57abaa590 (UEFI dbx) Choose device [0-7]: 5 0.\tCancel 1.\t0.1.46 2.\t0.1.41 3.\t0.1.38 4.\t0.1.36 5.\t0.1.23 Choose release [0-5]: 次にr23uj70wd.isoをダウンロードしてきて起動するも別のエラーで適用できず。\nError\nThe system program file is not correct for this system.\n仕方なくWindowsからも適用を試みるがこれもダメ。このあたりで本当に無理な感じがしてきて、でもなんでダメなのかがよくわからず。そしてfwupdmgrの便利コマンドを知る。\n$ fwupdmgr security Host Security ID: HSI:1! (v1.9.16) HSI-1 ✔ BIOS firmware updates: Enabled ✔ Fused platform: Locked ✔ Supported CPU: Valid ✔ TPM empty PCRs: Valid ✔ TPM v2.0: Found ✔ UEFI bootservice variables: Locked ✔ UEFI platform key: Valid ✔ UEFI secure boot: Enabled HSI-2 ✔ SPI write protection: Enabled ✔ IOMMU: Enabled ✔ Platform debugging: Locked ✔ TPM PCR0 reconstruction: Valid ✘ BIOS rollback protection: Disabled HSI-3 ✔ SPI replay protection: Enabled ✔ CET Platform: Supported ✔ Pre-boot DMA protection: Enabled ✔ Suspend-to-idle: Enabled ✔ Suspend-to-ram: Disabled HSI-4 ✔ Processor rollback protection: Enabled ✔ Encrypted RAM: Encrypted ✔ SMAP: Enabled Runtime Suffix -! ✔ fwupd plugins: Untainted ✔ Linux kernel lockdown: Enabled ✔ Linux kernel: Untainted ✘ CET OS Support: Not supported ✘ Linux swap: Unencrypted This system has HSI runtime issues. » https://fwupd.github.io/hsi.html#hsi-runtime-suffix Host Security Events 2024-05-01 15:06:29: ✘ BIOS rollback protection changed: Enabled → Disabled HSI-2の中でBIOS rollback protectionは意図通りDisabledになっているものの、HSI-4セクションのProcessor rollback protectionはEnabledになっている。色々見てると、ここがDisabledのまま出荷されて、OS Optimized Defaultsを読み込むとEnabledになるものもあるという記述を見つける。\nhttps://github.com/fwupd/fwupd/commit/52d6c3cb78ab8ebfd432949995e5d4437569aaa6\nUpdate documentation to indicate that loading “OS Optimized Defaults”\nmay enable security processor rollback protection on Lenovo systems.\nOS Optimized DefaultsをオフにしたらもしかしたらProcessor rollback protectionもオフになってくれるかも、と試す。\nOS Optimized Defaultsをオフにしてみるも変化なし $ fwupdmgr security Host Security ID: HSI:1! (v1.9.16) ... ✘ BIOS rollback protection: Disabled ... HSI-4 ✔ Processor rollback protection: Enabled ... Host Security Events 2024-05-02 03:24:45: ✘ Kernel lockdown disabled 2024-05-02 03:24:45: ✘ Secure Boot disabled 2024-05-02 03:24:45: ✘ Pre-boot DMA protection is disabled 2024-05-02 03:24:45: ✘ Encrypted RAM changed: Encrypted → Not supported いくつかの項目が無効化されるけれどもProcessor rollback protectionは変わらず、脆弱性対応が含まれていると本当にダウングレードできない。リリースノートにもしっかり書いてあるけど、よくある「ダウングレードはサポートされていないよ」じゃなくて「できないよ」の意味を身を持って理解した。\nhttps://download.lenovo.com/pccbbs/mobiles/r23uj73wd.txt\nCHANGES IN THIS RELEASE\nVersion 1.49 (UEFI BIOS) 1.32 (ECP)\n[Important updates]\nNotice that BIOS can’t be downgraded to older BIOS version after upgrade to r23uj73w(1.49). [New functions or enhancements]\nEnhancement to address security vulnerability, CVE-2023-5058,LEN-123535,LEN-128083,LEN-115697,LEN-123534,LEN-118373,LEN-119523,LEN-123536. Change to permit fan rotation after fan error happen. より完璧なファームウェアアップデートが来るまでこのまま待ちます。\n","date":1714621539,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1714621539,"objectID":"ef31bbb821304fcc7adb315b195b7c0e","permalink":"https://nobuto-m.github.io/ja/post/2024/1714524492/","publishdate":"2024-05-02T12:45:39+09:00","relpermalink":"/ja/post/2024/1714524492/","section":"post","summary":"UEFI BIOS上の\"Secure Rollback Prevention\"の項目 結論として、最近のAMDシステムでは “Secure Rollback Prevention” (BIOS rollback protection)とは別に “AMD Secure Processor Rollback protection” があり、これがベンダー側で有効にされている場合は一旦脆弱性対応を含むUEFI BIOSバージョンに上げてしまうとダウングレード(ロールバック)できなくなる。","tags":[],"title":"T14 Gen 3 AMDではSecure Rollback Preventionを無効化してもUEFI BIOSはダウングレードできない","type":"post"},{"authors":[],"categories":[],"content":" 結局は使わなかった“Import from SlideShare”メニュー 今さらも今さらながら。SlideShareを使い出したのは、当時LinkedInが買収して所有してた時期でなんか継続性が期待できそうとかそんな理由だった気がする(その後Scribdが買収し現在に至る)。\n移行前: https://www.slideshare.net/nobuto_m 移行後: https://speakerdeck.com/nobutomurata 移行にあたって、SlideShareからのインポートツール(Beta)があるのは知っていて、書かれているようにサポートチームにメール出したりして有効にしてもらった。ツールに移行したいURLを入力してボタンを押して数週間待ってみたけど特に何も起こらなかったので、結局は手動で元のPDFをアップロードした。Betaだし、ツールが出てからSlideshare側のUIも変わってる気がするしまあそんなもんかと。そもそも数が多くないので全然困らなかった。\n移行してもいいことばかりというわけではなくて、日本語太字部分のレンダリングがおかしかったり、スライドの中のリンクがクリックできない、という既知の問題には引っかかる。\n日本語太字部分だけ中に色がつかない あとこれを機にSlideShare側でリンクを知っている人のみ公開だったのが2つあったのを全部を公開にした。Ubuntu Phoneのやつとか懐かしい。\nあんまり関係ないけど、ついでにこのサイトのソーシャルメディアアイコンを\u0026#34;twitter\u0026#34;から\u0026#34;x-twitter\u0026#34;にアップデートした。心の中では\u0026#34;X\u0026#34;ではなくて\u0026#34;X Twitter\u0026#34;と呼び続けます。\n","date":1707038813,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1707038813,"objectID":"c8933ad1b4f4f30ce55435155356a011","permalink":"https://nobuto-m.github.io/ja/post/2024/1707038813/","publishdate":"2024-02-04T18:26:53+09:00","relpermalink":"/ja/post/2024/1707038813/","section":"post","summary":"結局は使わなかった“Import from SlideShare”メニュー 今さらも今さらながら。SlideShareを使い出したのは、当時LinkedInが買収して所有してた時期でなんか継続性が期待できそうとかそんな理由だった気がする(その後Scribdが買収し現在に至る)。","tags":[],"title":"SlideShareからSpeaker Deckに移行した","type":"post"},{"authors":[],"categories":[],"content":" 絶望の場面 仕事に使ってるメインのマシンでもnobleの開発版を使ってるんですが、月曜日の昼飯前に再起動かけたら暗号化ドライブの解除パスワードを何度入力しても\ncryptsetup: ERROR: dm_crypt-0: cryptsetup failed, bad password or options?\nと言われてしまってデスクトップまでたどり着けない。何かしらのリグレッションで暗号化ドライブのヘッダが壊れたのではと思い、これは再インストールしてバックアップから切り戻すしかないのではと絶望。簡単にできるようにしてあるとは言え1時間以上はかかるので。\nすぐには諦めきれなかったのでまずはUSBメモリでUbuntuのLive sessionを立ち上げると、暗号化ドライブがあっさりマウントできてしまった。ということはドライブ自体が破損しているわけではないので、パッケージのリグレッションで暗号化が解除できない状況に陥っているのでは、と/var/log/apt/history.logとにらめっこ。いかんせん開発版なので、前回正常に起動できたときからのアップデートはバイナリパッケージの単位で412個。それなのに、cryptsetupとかそれっぽいパッケージのアップデートはないし、カーネルを一個前のにしてもダメ。かろうじてlibgcrypt20というinitramfsにも入る、かつcrypt関連のパッケージのアップデートがあったので、これをダウングレードしてみることに。\nUSB起動中に、元のマシンのinitramfsの再生成ってどうやるんだっけと調べつつ\n$ sudo cryptsetup open /dev/nvme0n1p3 dm_crypt-0 $ sudo mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt $ sudo mount /dev/nvme0n1p2 /mnt/boot $ sudo mount /dev/nvme0n1p1 /mnt/boot/efi $ for name in proc sys dev run; do sudo mount --bind /$name /mnt/$name done $ sudo chroot /mnt/ という感じでDebian Wikiを見ながらchrootした。ここでの鍵はopenするときにdm_crypt-0という名前でなければ後々不都合があり、なぜならそれは/etc/crypttabにdm_crypt-0と書かれているから。ただ、crypttabはopenした後にしか読めないので名前を覚えてなくて何回かやり直した。\nここまでくればパッケージのダウンロードやダウングレードも簡単で、initramfsの再生成も\n$ sudo update-initramfs -u -k all とするだけ。\nでも再起動しても問題は解決していない。。。libgcrypt20が違うんだったら412個全部のパッケージをダウングレードして切り分けするのもしんどいので諦めようかと思ったそのとき、ネット上でリカバリーモード(シングルユーザーモード)なら解除できる時あるよっていう情報を見かけて、そんなはずはないでしょと思ってリカバリーモードで起動したら解除できた!crypt関連のモジュール関係ないじゃん!Plymouthじゃん!そこは考えてなかったよ!\nということで/etc/default/grubからsplashを除いてPlymouthなしで起動するようにして応急処置完了。\nただ、重要そうな問題のような気がしたので再現環境を作りたかったけど、シンプルなパスワードを設定すると100%解除に成功してしまって再現できない。何がトリガーなのかよくわからないまま、PlymouthをダウングレードしてPlymouthのリグレッションであることを確認したりしていた。\nふと、Yubikeyがコンマ何秒の間に30文字以上を一気にタイプするからではと思い、Yubikeyを再フォーマットしてクリーンな状態でやったら無事再現できた。ただここで自分のYubikeyの使い方に関して補足しておくと、LUKSのパスフレーズ打つときにYubikeyから出力される文字列だけで解除しているわけではなくて(それだとYubikeyとノートPCを強奪されたらだれでも解除できちゃうので)、自分でパスフレーズを手打ちしてそれを打ち終わったらYubikeyのボタンをタッチして続けて打ち込む、という一つのパスフレーズボックスでなんちゃって二要素認証っぽいことにしている。\n自分で打った文字列 + Yubikeyから出力される文字列(30文字以上) + \u0026lt;ENTER\u0026gt; もうちょっとちゃんとやるなら毎回同じ文字列をYubikeyから出すんじゃなくて、Challenge-response形式にするyubikey-luksとかを使うのもあるけど今のところは固定文字列で落ち着いてる。\nとにかく再現手順がはっきりしたのでupstreamへ。\n“Typing passphrase pretty quickly using Yubikey fails to unlock a LUKS partition”\nhttps://gitlab.freedesktop.org/plymouth/plymouth/-/issues/243\nそこでありがたいことにこのコミットで直った問題じゃない?って教えてくれて、\nThat leads to keystrokes getting eaten.\nThis commit makes the terminal more careful about setting the keyboard mode. It now only changes it when plymouth thinks its necessary to do so.\nコミットメッセージ見てもキーストロークがどっかいっちゃうってのは納得。\nカーネルパラメーターにplymouth.debugつけて/var/log/plymouth-debug.logを提供したら色々フィードバックをくれて、今のところの理解だと、\nsplashをつけなければPlymouthがそもそも使われないので回避される 23.360.11じゃなくて24.004.60なら今回の問題(リグレッション)が修正されているので問題なくなる UbuntuとかDebianがまだinitramfsに入れてない/usr/share/X11/xkbを入れるようにすれば、今までのvt consoleじゃなくてxkb consoleを使うようになるからそれでも回避される ちなみにdownstreamレポートはここ。\nhttps://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/2051478\nそれにしてもPlymouth高機能になりすぎててすごい。\n","date":1706798132,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1706798132,"objectID":"2cdcb294e4c9fb55f76dcbdd4be2b2d7","permalink":"https://nobuto-m.github.io/ja/post/2024/1706798132/","publishdate":"2024-02-01T23:35:32+09:00","relpermalink":"/ja/post/2024/1706798132/","section":"post","summary":"絶望の場面 仕事に使ってるメインのマシンでもnobleの開発版を使ってるんですが、月曜日の昼飯前に再起動かけたら暗号化ドライブの解除パスワードを何度入力しても","tags":[],"title":"突然LUKS(dm-crypt)起動ドライブの暗号化が解除できなくなった話","type":"post"},{"authors":[],"categories":[],"content":"何度かやったことはあるけど、やる度にgeteltoritoというコマンド名を思い出せないのでそのためのメモ。\nThinkPad T14 Gen 3 AMD (21CFCTO1WW)にBIOS/UEFIアップデートR23ET73W(1.49)が来ていたけども、fwupdでは上手く当たらなかった。\n$ fwupdmgr update ... firmware signature missing or not trusted; set OnlyTrusted=false in /etc/fwupd/daemon.conf ONLY if you are a firmware developer いろいろなところで報告されていて、しばらくしたら解決済みステータスになった。\nhttps://forums.lenovo.com/t5/Ubuntu/Ubuntu-23-10-21CH004XGE-upgrade-to-r23ul73w-1-49-firmware-signature-missing-or-not-trusted/m-p/5281458 https://github.com/fwupd/fwupd/issues/6646 https://github.com/fwupd/fwupd/issues/6647 ただ現時点では該当のアップデートはまた消されていて入手不可になっているので、もう少し必要な作業があるみたい。\nhttps://fwupd.org/lvfs/devices/com.lenovo.ThinkPadR23ET.firmware この狭間のタイミングでアップデートしようとしてるうちに、「アップデートの適用に失敗」のステータスだけれども、起動後には1.46ではなく1.49が動いているという気持ち悪い状態になってしまった。\n$ fwupdmgr get-history LENOVO 21CFCTO1WW │ └─System Firmware: │ Device ID: d96de5c124b60ed6241ebcb6bb2c839cb5580786 │ Previous version: 0.1.46 │ Update State: Failed │ Update Error: failed to run update on reboot │ Last modified: 2024-01-10 01:07 │ GUID: e40809b1-7d9f-4dc4-7c0f-8ace63b43687 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Reported to remote server │ • Cryptographic hash verification is available │ • Device is usable for the duration of the update │ └─(null) Update: New version: 0.1.49 License: Unknown Description: The vendor did not supply any release notes. なので念のためLenovoの「BIOS アップデートユーティリティ (起動CD用)」のr23uj73wd.isoを使って、再度アップデートを適用した。\n手順としては、genisoimageパッケージにあるgeteltoritoコマンドを使って、CDイメージから最初に見つかったブートイメージを抽出。\n$ isoinfo -i r23uj73wd.iso -d CD-ROM is in ISO 9660 format System id: Volume id: R23UJ73WD Volume set id: Publisher id: Data preparer id: Application id: NERO BURNING ROM VER 12,5,5,0 Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 23734 El Torito VD version 1 found, boot catalog is in sector 20 Joliet with UCS level 3 found NO Rock Ridge present Eltorito validation header: Hid 1 Arch 0 (x86) ID \u0026#39;NERO BURNING ROM VER 12\u0026#39; Key 55 AA Eltorito defaultboot header: Bootid 88 (bootable) Boot media 4 (Hard Disk Emulation) Load segment 7C0 Sys type 6 Nsect 1 Bootoff 1B 27 $ geteltorito -o r23uj73wd.img r23uj73wd.iso Booting catalog starts at sector: 20 Manufacturer of CD: NERO BURNING ROM VER 12 Image architecture: x86 Boot media type is: harddisk El Torito image starts at sector 27 and has 94208 sector(s) of 512 Bytes Image has been written to file \u0026#34;r23uj73wd.img\u0026#34;. このディスクイメージをUSBメモリなどにコピーして起動する。セキュアブートには対応していないので、適用時は一時的に無効化しておく。\n$ file r23uj73wd.img r23uj73wd.img: DOS/MBR boot sector; partition 1 : ID=0xb, active, start-CHS (0x0,1,1), end-CHS (0x2d,63,32), startsector 32, 94176 sectors $ sudo dd \\ if=r23uj73wd.img \\ of=/dev/disk/by-id/usb-PATH-TO-USB-DRIVE-0\\:0 \\ bs=4M oflag=direct,sync status=progress 難しいのはコマンド名を思い出すことだけ。\n","date":1705134429,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1705134429,"objectID":"57e5893436175487d639601731c12a73","permalink":"https://nobuto-m.github.io/ja/post/2024/1705134429/","publishdate":"2024-01-13T17:27:09+09:00","relpermalink":"/ja/post/2024/1705134429/","section":"post","summary":"何度かやったことはあるけど、やる度にgeteltoritoというコマンド名を思い出せないのでそのためのメモ。","tags":[],"title":"ThinkPad T14 Gen 3 AMDのBIOSを1.49/1.32(R23ET73W)に上げる","type":"post"},{"authors":[],"categories":[],"content":"Ubuntu開発版のインストールイメージのスナップショットが置いてある“daily-live”を使う人はほぼいないと思うけど(正式版でもないし)、昨年末ぐらいからまた画面が真っ白になっちゃう問題が発生しているみたい。\nhttps://bugs.launchpad.net/ubuntu-desktop-installer/+bug/2043915 https://github.com/canonical/ubuntu-desktop-installer/issues/2391 https://github.com/canonical/ubuntu-desktop-installer/issues/2407 インストーラーを起動しても画面が真っ白 エラーとしてはLibGLまわりで、snap化されてるFlutterアプリケーションで起こっているみたい。\n$ ubuntu-desktop-installer (ubuntu_desktop_installer:10370): Gtk-WARNING **: 07:10:37.648: /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so: undefined symbol: ibus_input_context_set_post_process_key_event (ubuntu_desktop_installer:10370): Gtk-WARNING **: 07:10:37.648: Loading IM context type \u0026#39;ibus\u0026#39; failed libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: radeonsi libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: radeonsi libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast ** (ubuntu_desktop_installer:10370): WARNING **: 07:10:37.791: Failed to start Flutter renderer: Unable to create a GL context ** (ubuntu_desktop_installer:10370): WARNING **: 07:10:40.793: Unable to retrieve framework response: No engine to send to これといった回避策はなくて、23.10をインストールしてからdo-release-upgrade -dすればインストール直後だしすぐにnoble開発版に追いつけるんだけどまあちょっと無理やり動かしてみたメモ。たぶん今後一切使うことがないと思う。\nインストーラーを一旦終了する Liveセッションを立ち上げると、画面の真ん中に真っ白なウィンドウが出てきて何もできないので、まずはこのインストーラーを終了する。ウィンドウが閉じられればよくて、Alt + F4とか、Alt + Spaceでメニューを出してCloseを押すとかそんな感じ。\nFlutterのインストール 次にFlutterのインストール。Snap版とそうじゃない2パターンがドキュメントにあって今回はSnap版じゃない方を使う。CIでもSnap版使ってなさそうですし。\nhttps://github.com/canonical/ubuntu-desktop-installer/blob/4edfab2b3cd4fb18ab95c79ffa16040fa57449b9/.github/workflows/installer.yaml#L31-L35\n- name: Install Flutter uses: subosito/flutter-action@v2 with: channel: \u0026#39;stable\u0026#39; flutter-version: ${{env.FLUTTER_VERSION}} ちなみにインストールするバージョンは最新では自分で色々と変更する必要がありそうで、インストーラーが想定している3.10.6を明示的に使う。\nhttps://github.com/canonical/ubuntu-desktop-installer/blob/4edfab2b3cd4fb18ab95c79ffa16040fa57449b9/snap/snapcraft.yaml#L130-L132\nflutter-git: source: https://github.com/flutter/flutter.git source-tag: 3.10.6 インストール手順としてはFlutterの公式ドキュメントのMethod 2: Manual installationを少し変えて\nhttps://docs.flutter.dev/get-started/install/linux#method-2-manual-installation\nsudo apt update sudo apt install git wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.10.6-stable.tar.xz tar xf flutter_linux_3.10.6-stable.tar.xz export PATH=\u0026#34;$PATH:`pwd`/flutter/bin\u0026#34; とした後に、flutter doctorでインストール自体ができてるかの確認。\n$ flutter doctor ┌─────────────────────────────────────────────────────────┐ │ A new version of Flutter is available! │ │ │ │ To update to the latest version, run \u0026#34;flutter upgrade\u0026#34;. │ └─────────────────────────────────────────────────────────┘ ... Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.10.6, on Ubuntu Noble Numbat (development branch) 6.5.0-9-generic, locale C.UTF-8) [✗] Android toolchain - develop for Android devices ✗ Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, please use `flutter config --android-sdk` to update to that location. [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✗] Linux toolchain - develop for Linux desktop ✗ clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ ✗ CMake is required for Linux development. It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/ ✗ ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases ✗ pkg-config is required for Linux development. It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/ [!] Android Studio (not installed) [✓] Connected device (1 available) [✓] Network resources ! Doctor found issues in 4 categories. ... Linux toolchainのところで足りないものがあるよと言われるので、これもまた公式ドキュメントのLinux prerequisitesの通り\nhttps://docs.flutter.dev/get-started/install/linux#linux-prerequisites\nsudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev とすれば、flutter doctorでインストール自体とLinux toolchainのところのチェックが通るようになる。\n$ flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.10.6, on Ubuntu Noble Numbat (development …","date":1704727518,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1704727518,"objectID":"45c4409e0ff41ebe22e864ee105e6b98","permalink":"https://nobuto-m.github.io/ja/post/2024/1704727518/","publishdate":"2024-01-09T00:25:18+09:00","relpermalink":"/ja/post/2024/1704727518/","section":"post","summary":"Ubuntu開発版のインストールイメージのスナップショットが置いてある“daily-live”を使う人はほぼいないと思うけど(正式版でもないし)、昨年末ぐらいからまた画面が真っ白になっちゃう問題が発生しているみたい。","tags":[],"title":"表示されないFlutter版ubuntu-desktop-installerをgit版で無理やり動かす","type":"post"},{"authors":[],"categories":[],"content":"クレジットカードに続いて、銀行口座もまとめてみる。口座ぐらいはしっかり管理できていたと思ってたけど意外に把握できていなかったので、現時点で整理した結果の自分用まとめ。クレジットカードと別ページじゃなくて一本化するのが筋な気もするので改善の余地は大いにあり。\n目次 三菱UFJ銀行(メイン) 自動積立の停止と解約 別支店の口座からの預金の引き上げ 横浜銀行 ソニー銀行 三井住友銀行 ゆうちょ銀行 名古屋銀行 現時点のまとめ 三菱UFJ銀行(メイン) 三菱UFJ銀行 総合口座 UFJ銀行時代(合併されて三菱東京UFJ銀行になる前かつすでに東海銀行ではなかった時代)に自分で作った口座。UFJを選んだ理由は、支店が通学路上にあってATMが使いやすかったとかそんなような理由だった気がする。わざわざ2つの支店で口座を作成して、1つを入金と引き落とし用の玄関口座、もう1つをまとまったお金ができたときに移動しておく用みたいな感じで最初は作成。さらに月々決まった額を貯金するために自動つみたて定期預金を設定していた。\n整理前の状況。点線になっている口座が整理対象。 総合口座の中の定期預金を使っているのは、普通預金の残高が一時的に足りなくてもクレジットカードの引き落としが失敗しないように自動借り入れを有効にするため。昔は2つの支店間で振替してたり引き落としのタイミングなんかで発動することがあったけど、今となっては特に意味はなし。\n今はだいぶシンプルになった優遇条件で、給与の受け取りに使っていれば他行宛ての振り込み手数料が月3回まで無料になる。Eco通帳(インターネット通帳)に移行済みなので、手元の通帳は定期預金のページを除いて使えなくなっている。\n自動積立の停止と解約 今回まずは自動積立を停止して、これまで積み立てた定期預金を普通の口座に戻す作業をした。自動つみたて定期預金の月々の積立設定の停止と直近1年未満分の定期預金の解約はインターネットバンキングで問題なく操作できる。問題だったのはおまとめ定期口内の定期預金の解約。解約手続きの時に出てきたエラーは次の通り。\n選択した定期預金口座は、通帳が発行されていないため、お取り扱い できません。(D06-010-041)\nご不明な点は、インターネットバンキングヘルプデスク […] までお問い合わせください。\nこのおまとめ口に最初から通帳が発行されているのが普通なのかどうかはよくわかんないけど、電話をかけると窓口でしか手続きできないとのこと。で、予約を取って窓口に行くとすでに自分の状況をまとめた資料みたいなのがあって、それを見ながらおまとめ口を通常の定期預金扱いに変更して通帳を発行してくれた。窓口で定期預金の解約まで手続きすることもできたけども、時間かかりそうだったので帰ってきてからインターネットバンキングで残りの作業を完了させた。不思議だったのは来店予約で確保できる枠は1週間以上先で、予約して行ったのに特に当日枠よりも優先されている感じはなかった。\n別支店の口座からの預金の引き上げ 前は2つの支店の口座を使い分けていたけどもあまり意味がなくなってきたので、サブとして使ってきた口座の残高をゼロにした。昔に作った口座なので現時点では未利用口座管理手数料はかからないけども、将来的にはこの口座は廃止した方がいいかなと。\n横浜銀行 横浜銀行 総合口座 住宅ローンを組む時に色々な条件を加味した上で、縁もゆかりもないけど不動産屋の提携先の横浜銀行にした。50歳未満の場合は他行宛ての振込手数料無料とかもないので、ローン返済するだけの口座。定期的にメインの口座からこの口座に残高を振り込みで補充している。Web口座という扱いなので通帳は発行されていない。\nソニー銀行 円預金 外貨預金 投資信託/NISA口座 デビットカードのSony Bank WALLETを持つにあたって開設した。三菱UFJでやっていた自動積立の代わりにおまかせ入金サービス(定額自動入金)を使って毎月一定額をメインの三菱UFJの口座から移してソニー銀行内で積立設定している。\nペーパーレス口座なので通帳は発行されていない。\n三井住友銀行 三井住友銀行 総合口座 メガバンクの中で三菱UFJだけに依存してるといけないかなとある日思ったのと、三井住友カードでANAスーパーフライヤーズカードを作るなら三井住友系に統一した方がいいのかなと2018年に作った口座。Oliveが登場する前で他行宛て振込手数料が無料になるような優遇はなかったので、給与の振込口座やクレジットカードの引き落としに使うことはなく結局メインで使う口座にならなかった。Oliveに移行するとクレジットカードがもう1枚発行されてしまうし、活用しなければ将来的に未利用口座管理手数料の対象に生することになるので口座自体を廃止するかどうか決めかねている。\nWeb通帳なので通帳は発行されていない。\nゆうちょ銀行 ゆうちょ銀行 総合口座 ゆうちょ銀行からはすでに預金を引き上げ済みで残高はゼロだと思っていたのに、念のためATMで記帳してみたらしっかりと残高があって今回一番びっくりしたところ。今は亡き祖父母から税理士の指導の元ありがたく生前贈与されたお金なので、結婚費用などで全部使ったと思い込んでいた。\n手元には銀行印と通帳、キャッシュカードがあったので段階を踏んで\n通帳のみを使ってATMで記帳して残高を確認 ゆうちょダイレクトの新規利用申込み 名前、生年月日、メールアドレス(新規登録するもの)、口座情報の入力 登録済みの電話番号へ「ご本人様確認コード」の送信 という形でインターネットバンキングが使えるようになるはずだったのだがここでエラー。\nエラーが発生しました! 口座にご登録の電話番号に問題があるため、お取扱 できませんでした。\n市外局番の登録がない場合や桁数に誤りがある場合、ご本人様確認コードを通知できません。\nゆうちょATMで登録されている電話番号をご確認・変更の上、再度お手続きください。\nエラー種別 P692\nここでもう一度ATMへ行き、今度はキャッシュカードと暗証番号を使って電話番号の変更手続き。状況としては登録の電話番号に問題があったわけではなくて、そもそも電話番号が何も登録されていなかったのでATMで現在の電話番号を登録。\nで、帰ってきてからゆうちょダイレクトを使えるようにしたけど、今度は1日あたりの送金限度額に引っかかる。結局のところ、窓口に行けば手数料はかかるものの一度でお金を振り込みできるので窓口に出向く。\nただ、休眠していた口座なので窓口でもすぐには振り込みできず、\n住所変更 印鑑デジタル登録 口座の用途登録、反社会的勢力ではないことの表明書類への署名 など複数の書類手続きをやってもらって、40分ぐらいで振り込み処理までやってもらった。\n郵便局でいつでも窓口が使えるのはいいけども、あまり便利なところを見出だせないので将来的には廃止かなと。\n名古屋銀行 ここには残高がないはず、なんだけどそう言っててゆうちょは残高があったりしたので一応は確認しておきたいけど、インターネットバンキングにはログインできないし初回登録もエラーになるし、帰省したときにATMで記帳してみるしかなさそう。\n現時点のまとめ 現時点で状況が不明な名古屋銀行を除き、ひとまずは次の図のように整理した。世の流れとして、銀行側は使われていない口座を徐々に廃止したいだろうし特に紙の通帳は印紙税の関係でどんどんなくしたいだろうし、使っていない口座は解約していきたいけども解約も手続きが面倒そうで躊躇している段階。\n点線になっている口座は残高ゼロにしてある ","date":1703205652,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1703205652,"objectID":"77a64bb3cda57285254ec00765fdde0b","permalink":"https://nobuto-m.github.io/ja/post/2023/1703205652/","publishdate":"2023-12-22T09:40:52+09:00","relpermalink":"/ja/post/2023/1703205652/","section":"post","summary":"クレジットカードに続いて、銀行口座もまとめてみる。口座ぐらいはしっかり管理できていたと思ってたけど意外に把握できていなかったので、現時点で整理した結果の自分用まとめ。クレジットカードと別ページじゃなくて一本化するのが筋な気もするので改善の余地は大いにあり。","tags":[],"title":"使っている銀行口座まとめ 2023冬","type":"post"},{"authors":[],"categories":[],"content":" 現状がベストの感じが全然しないので、たぶん誰の参考にもならない気がする。ので自分用のメモとして。\n方針はシンプルに次の通り。\n細かい使い分けをしたくないので、枚数はなるべく少なく 目先の高還元率に惑わされない 目次 メイン - ANAスーパーフライヤーズ 付帯カード サブ - MUFGカード Suicaオートチャージ用 - ビックカメラ Suicaカード 海外ATM用デビットカード Sony Bank WALLET Wise まとめ メイン - ANAスーパーフライヤーズ ANAスーパーフライヤーズ ゴールドカード VISA 一時期海外出張に頻繁に行っていた時に作ったカード。子どもを持ってからは海外出張の数もなるべく抑えめにしているのであまり意味もないような気がするけれども、とりあえずこれに全部寄せてマイルに変換している。\n年会費24,750円(本人16,500 + 家族1名8,250)と高い。マイルに変換する時のレートのためにゴールドにしているけれども、将来的なステータス維持のためだけだったら家族会員を解約してさらにゴールドじゃない一般カードに戻して、別のクレジットカードをメインにすべきな気がするぐらい気持ちは揺らいでいる。以前は「マイ・ペイすリボ」を登録してさえいればリボ払いを使わなくても年会費が安くなる制度があったがそれも廃止されている。\n注意点としてはANAの名を冠して海外出張や海外旅行で使えます感が出てますが、発行会社は三井住友カードで、海外で「一部のお取引で、不正利用から守るため利用を停止」されたり、店によって使えなかったりするのがちょこちょこ発生するのでこれ1枚で海外行くのは危険。このメインカードが使えなかった場合でもサブは使えるので、三井住友カードは積極的にブロックしにいく方針っぽい。海外出張時に事前にコールセンターに電話して制限がかかりにくくしておく、とかあるのかもしれないけど、そんなことは一々やってられない。\n提携カード扱いなので三井住友カードの高還元率キャンペーンも対象外だけれども、ANAカード独自のポイント還元が多少はある。\n付帯カード ETCカード 年会費550円(1年間に1回以上ETC利用のご請求があれば無料) JR東海エクスプレス予約サービス(プラスEX会員) 年会費1,100円 昔は年会費無料のスマートEXなんてなかったし、プラスEXがエクスプレス予約に統合されて年会費が上がったのも含めお得感が薄れてきたのでエクスプレス予約は解約予定。\nサブ - MUFGカード MUFGカード ゴールド MasterCard メインの三井住友カード以外の発行会社、かつVISAとは別の国際ブランドとして持っておくための予備カード。これもゴールドにしているのは利用限度額をメインと同じぐらいに維持して、万が一のために機能させるため。\n年会費2,095円(本人2,095 + 家族1名0)。\nSuicaオートチャージ用 - ビックカメラ Suicaカード ビックカメラ Suicaカード Visa 年会費524円だけれども、オートチャージを含む年1回の利用があれば無料。\n以前はキャッシュカード一体型のスーパーICカードSuica 三菱UFJ-VISAを使っていたけどもサービス終了になってしまったので乗り換え先を探し、唯一年会費が無料になる可能性があるビックカメラSuicaカードに。\n海外ATM用デビットカード ここ数年はまったく現金を持たずに海外出張を完了させることもあるけども、国によっては現金を持っていないと立ち行かないので現地ATMから引き出している。今までは三井住友銀行キャッシュカード一体型のVISAデビットを使っていたけど、おそらくOliveに統合する前段階として新規受付を停止しているし、海外ATMを使うときは、\n所定のレート Visaの定める為替レート 海外事務手数料 3.05% ATM利用手数料 110円 海外ATM設置機関所定の手数料 みたいに色々なものが乗っかってくる。このあたりが少しだけマシになるかなという目論見で、2つ選択肢を用意してある。\nSony Bank WALLET ANAマイレージクラブ / Sony Bank WALLET VISA\n海外ATMで現地通貨を引き出す場合 ソニー銀行為替コスト 事務処理経費 1.79% 海外ATM利用料 220円(対象通貨の口座がない場合のみ発生。ステージによって無料枠あり。) 現地ATM設置機関利用手数料 Wise Wise MasterCard\nカード取得時初回 1,200円 ATMからの出金 両替手数料 0.62%ぐらい ATMからの出金手数料 1.75% + 1回あたり70円(月2回かつ手数料を含む合計3万円までの無料枠あり) 現地ATM設置機関利用手数料 まとめ 海外でクレジットカードを使う時の事務処理手数料 2.20%を嫌って、手数料が安くなるどちらかのデビットカードを常に使うっていう選択肢もあるけど、クレジットカードのポイント還元がされなくなる分差額は微妙なところ。\n結局はメインのカードをどこにするかがすべてて、それ以外は誤差程度な気がする。\n","date":1702951481,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1702951481,"objectID":"3f7b23d1cf9b5476b68f2ede319138b5","permalink":"https://nobuto-m.github.io/ja/post/2023/1702951481/","publishdate":"2023-12-19T11:04:41+09:00","relpermalink":"/ja/post/2023/1702951481/","section":"post","summary":"現状がベストの感じが全然しないので、たぶん誰の参考にもならない気がする。ので自分用のメモとして。","tags":[],"title":"使っているクレジットカードまとめ 2023冬","type":"post"},{"authors":[],"categories":[],"content":"世間的にはお盆休みの期間だけど、特にお盆休みは取ってなくて子どもにも保育園に行ってもらっている。ただ気分だけでも色々味わってもらおうと、このところ週末にちょこちょこ子どもを連れ出している。\n屋外だと気温が高すぎるので、例えば文京シビックセンターの展望ラウンジに行ってみたり、商業施設内でのいくら以上のレシートを見せることで夏祭りの輪投げみたいな体験ができるやつをやってもらったり、ソフトクリームを食べに行ったり。\n文京シビックセンターからの眺め。無償開放されているのも良い。 3連休だった最後は手持ち花火を。公園とかも基本花火禁止で家の近くだとどこもできそうにないので思い切って軒先で。事前に煙少なめタイプを買って、外が雨なら煙もご近所にいかないと踏んで、わざわざ雨降り始めてからやった。煙少なめと通常タイプは目に見えて違いがあって、無事に子どもの人生初花火が完了しました。小学生とかになるとこんな規模では満足してくれないのかもだけど。\nささやかな花火 ","date":1692017377,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1692017377,"objectID":"abbf01f393519ce1dedd92013eb850c3","permalink":"https://nobuto-m.github.io/ja/post/2023/1692017377/","publishdate":"2023-08-14T21:49:37+09:00","relpermalink":"/ja/post/2023/1692017377/","section":"post","summary":"世間的にはお盆休みの期間だけど、特にお盆休みは取ってなくて子どもにも保育園に行ってもらっている。ただ気分だけでも色々味わってもらおうと、このところ週末にちょこちょこ子どもを連れ出している。","tags":[],"title":"ミニミニ花火をした","type":"post"},{"authors":[],"categories":[],"content":"今まではカバンの中に60W出力のAUKEY PA-D4とこれまたAUKEYの円筒形5000mAhモバイルバッテリーの組み合わせだったけども、スマホを充電するときに結構な電力を引っ張るからかモバイルバッテリーが熱くなってさらにLEDが赤点滅して充電が止まってしまう場面がちらほら出てきた。\nAUKEY PA-D4 60W 126gと5000mAhモバイルバッテリー 135gの合計で261g なので前から気になってたACアダプタとモバイルバッテリーが一体になっているAnker 521 Power Bank (PowerCore Fusion, 45W)をセールで7,190円になってたときに購入した。出力は前のセットと比べて60Wから45Wに落ちてしまうけども、全体の重量としては52g軽くなった。\nAnker 521 Power Bank 45Wは209g 単体で200g超はずっしり感があるけども、モバイルバッテリー部分が自動で充電されて充電忘れがなくなったのでよし。\n","date":1691725878,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1691725878,"objectID":"d7c3272263ea5651214d782300edde26","permalink":"https://nobuto-m.github.io/ja/post/2023/1691725878/","publishdate":"2023-08-11T12:51:18+09:00","relpermalink":"/ja/post/2023/1691725878/","section":"post","summary":"今まではカバンの中に60W出力のAUKEY PA-D4とこれまたAUKEYの円筒形5000mAhモバイルバッテリーの組み合わせだったけども、スマホを充電するときに結構な電力を引っ張るからかモバイルバッテリーが熱くなってさらにLEDが赤点滅して充電が止まってしまう場面がちらほら出てきた。","tags":[],"title":"USB充電器セットを買い替えた","type":"post"},{"authors":[],"categories":[],"content":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった。7話、6話とどちらもコンパクトな作りなのに観終わるまで数年かかってしまった。話題になって第1話を観てみてお気に入りに入れたまま数年というものがよくある。休日に一気見は子どもとの関連でなかなか難しく、平日の夜に寝る前に一話ってのもこれはこれで難しく。今回は飛行機の中に持ち込んでうまくいった。\n『ブレイキング・バッド』なんていつ観終わることやら。\n","date":1691722369,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1691722369,"objectID":"8a0f036f267f7ca788c3908a9cfa94dc","permalink":"https://nobuto-m.github.io/ja/post/2023/1691722369/","publishdate":"2023-08-11T11:52:49+09:00","relpermalink":"/ja/post/2023/1691722369/","section":"post","summary":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった。7話、6話とどちらもコンパクトな作りなのに観終わるまで数年かかってしまった。話題になって第1話を観てみてお気に入りに入れたまま数年というものがよくある。休日に一気見は子どもとの関連でなかなか難しく、平日の夜に寝る前に一話ってのもこれはこれで難しく。今回は飛行機の中に持ち込んでうまくいった。","tags":[],"title":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった","type":"post"},{"authors":[],"categories":[],"content":"TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。\n{ \u0026#34;acls\u0026#34;: [ // Allow all connections. // Comment this section out if you want to define specific restrictions. {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;*\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, ], } 一応手元のデバイスだけはtailscale up --shields-upでどこからもアクセスを受け付けないようにしてたし、仮にポートが空いていても認証が必須にはなっていた。ただ、人にTailscaleのデバイス共有機能と別途SSHの鍵認証でログインを許可することがあり、ログインするとそのデバイスが紐付いているTailscaleアカウント(私のアカウント)内の全デバイスに(ネットワーク的に)アクセスできてしまう。もちろん信頼できる人にしかログインさせていないけれども、これを機にACLを設定した。特筆することはなくドキュメント通り。\nSyntax reference Tags reference Tests reference Examples まずはデバイスを3つタグにグループ分け。\ntag:client - 手元のノートPC tag:server - 検証用マシンなど tag:scraper - Prometheusを動かしているマシン { // Define the tags which can be applied to devices and by which users. \u0026#34;tagOwners\u0026#34;: { \u0026#34;tag:client\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], \u0026#34;tag:server\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], \u0026#34;tag:scraper\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], }, } ACLは初期ルールをコメントアウトするとデフォルトが全拒否になるので、必要なルールだけ追加。この場合は、手元のノートPCからは全マシンに全許可、Prometheusからはserverタグが付いたマシンのNode exporter用9100ポートのみ許可。serverタグ用のルールは存在しないのでこのタグのマシンはどこへもアクセスできない。\n{ // Define access control lists for users, groups, autogroups, tags, // Tailscale IP addresses, and subnet ranges. \u0026#34;acls\u0026#34;: [ // Allow all connections. // Comment this section out if you want to define specific restrictions. //{\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;*\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;tag:client\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;tag:scraper\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;tag:server:9100\u0026#34;]}, ], } tag:scraperのプレビュー ルール数が最小なので、テストを書くのも簡単。\n{ // Test access rules every time they\u0026#39;re saved. \u0026#34;tests\u0026#34;: [ { // clients can access anywhere \u0026#34;src\u0026#34;: \u0026#34;tag:client\u0026#34;, \u0026#34;accept\u0026#34;: [\u0026#34;tag:server:22\u0026#34;, \u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;], }, { // scraper can only access to servers with port 9100 \u0026#34;src\u0026#34;: \u0026#34;tag:scraper\u0026#34;, \u0026#34;accept\u0026#34;: [\u0026#34;tag:server:9100\u0026#34;], \u0026#34;deny\u0026#34;: [\u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;, \u0026#34;tag:server:22\u0026#34;], }, { // servers cannot access anywhere \u0026#34;src\u0026#34;: \u0026#34;tag:server\u0026#34;, \u0026#34;deny\u0026#34;: [\u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:server:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;], }, ], } これでデバイスを共有してログインしてもらったとしても、アカウント内の全デバイスへのネットワークアクセスまで許可することはなくなった。\n","date":1690694899,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1690694899,"objectID":"a8a4566ee8e7d749f24893e8a95e8104","permalink":"https://nobuto-m.github.io/ja/post/2023/1690694899/","publishdate":"2023-07-30T14:28:19+09:00","relpermalink":"/ja/post/2023/1690694899/","section":"post","summary":"TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。","tags":[],"title":"TailscaleのACLを設定した","type":"post"},{"authors":[],"categories":[],"content":"Raspberry Pi 2Bの代用として買ったNucBox3を数週間運用してて、ある程度いい感じに動いてくれてると思ってたけど急に手がかかるようになった。マシンの上で動かしていたのはn8nでの定期タスクで、それ自体は負荷がかからないけどそれをわざわざsingle-node Kubernetesの上で動かしていたのでそれなりにディスクアクセスはあった。それでもまあ大したものじゃなかったけど、急にfilesystemがread-onlyに。\n~30 IO/sからの突然のread-only こういうのが嫌だったので、SDカード運用のRaspberry Pi 2Bから離れたのに結局は同じ状況に。再起動してもすぐにread-onlyになってしまって、なぜかSSHも鍵認証で弾かれる。ただ、node-exporterだけはしっかり動いていて状況だけは詳細にわかる謎。\nとりあえず、ファイルシステムの復旧か再インストールかを現地でして様子見するしかないけど、もしファンレスで温度が高めであることが原因だったらこのマシンという選択自体が間違いということになるので悲しいですね。\n温度はむしろ最近落ち着いていた 一応、昼間は冷房のかかっている部屋に置いてあるのでそんなに想定温度とは違わないはずなんだけど。\n","date":1690287370,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1690287370,"objectID":"66df12e56acd2d2a909cdea4adb2ee97","permalink":"https://nobuto-m.github.io/ja/post/2023/1690287370/","publishdate":"2023-07-25T21:16:10+09:00","relpermalink":"/ja/post/2023/1690287370/","section":"post","summary":"Raspberry Pi 2Bの代用として買ったNucBox3を数週間運用してて、ある程度いい感じに動いてくれてると思ってたけど急に手がかかるようになった。マシンの上で動かしていたのはn8nでの定期タスクで、それ自体は負荷がかからないけどそれをわざわざsingle-node Kubernetesの上で動かしていたのでそれなりにディスクアクセスはあった。それでもまあ大したものじゃなかったけど、急にfilesystemがread-onlyに。","tags":[],"title":"NucBox3での運用一筋縄ではいかないかも","type":"post"},{"authors":[],"categories":[],"content":"会社に何か話が来ていたことは知っていて、ただ本当に映るのか観るまでは知らなかったので無事に映っててよかった。\nUbuntuのロゴも美術協力の一覧の中に 『トリリオンゲーム』のドラマ自体はいくつかの会社が技術監修やってますっていう記事を出していて、うちの会社(もちろん私は会社を代表するものではないですが)としては特にこれといったことはしてないと思います。\nTBS金曜ドラマ『トリリオンゲーム』のハッキングシーン舞台裏 - 株式会社リチェルカセキュリティ 「セキュリティコンテストは本当にあるの?」「具体的な技術的設定は?」ドラマ『トリリオンゲーム』第1話 技術監修の裏側を解説します! 外野の感想としては、コマンドラインで操作するところはカッコよく作り込まれているなと。あと芸が細かいなと思ったのは、主人公たちの学生時代にノートPCを開いた場面では、UnityのLauncherが映っていたところでしょうか。「その時代のUbuntuは今の画面じゃなくてUnityだからちゃんとUnity使わなきゃ」って言った人がいたのかしら。実際のシーンがどんな感じだったかは、TVerとかNetflixとかで確認していただければと。\n","date":1689418398,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1689418398,"objectID":"082eec3cefe61eb33483e56eda4fc9cf","permalink":"https://nobuto-m.github.io/ja/post/2023/1689418398/","publishdate":"2023-07-15T19:53:18+09:00","relpermalink":"/ja/post/2023/1689418398/","section":"post","summary":"会社に何か話が来ていたことは知っていて、ただ本当に映るのか観るまでは知らなかったので無事に映っててよかった。","tags":[],"title":"ドラマ『トリリオンゲーム』にUbuntuがちらっと映った","type":"post"},{"authors":[],"categories":[],"content":"昔はSleipnirのRSSリーダーとかGoogle Readerとかを使っていて、Feedlyもちょっとは使っていた。けれどもいつのまにかTwitterで話題になったやつとか、Google Discoverで出てきたニュースをちょろっと読むだけになってしまった。もうちょっと能動的にキーワードで引っ掛けたりして自分にとって重要そうなニュースを早めに読みたいという気持ちはあり、n8nのself-hostingコミュニティ版を使ってチャットに流すことにした。\nピタゴラスイッチっぽさ 最初はすんなりいくかとおもって、特にメモを書くこともないなぁと思ってたけど、しっかりあったので書いておく。\nまず、RSSフィードを扱ってくれるRSS Readノードは、RSSのURLを1個しか受け取ってくれない。なので複数サイトのフィードを一気に扱いたいときは、さっそく他のノードとの連携が必要になってくる。幸いこのトピックそのものの公式ドキュメントがあるので、Split In Batchesノードでループを作ればいいことがわかるのだが、このループを作成するときにフィードのリストを渡すための「リストを定義する」みたいなノードが存在しない。\n仕方がないので、先ほどの公式ドキュメントにあるように、別途任意のJavascriptコードを書けるCodeノードを用意して、下記のようにして次に実行されるノードにリストが渡るようにする。\nreturn [ {json: {url: \u0026#39;https://news1.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news2.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news3.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news4.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news5.example.com/feed\u0026#39;}}, ]; ここまでで、ワークフローが実行されたときに全部のサイトを巡回して、RSS内のアイテムを取ってきてくれるのだが、ここから「前回実行時からの新着アイテム」に絞り込むことがRSSノードではできない。このままWebhookへのPOSTにつなげてしまうと、ワークフローが実行されるたびに古い記事も含めて全部のアイテムがチャットに投げられてしまうので悲劇。そこでまずはワークフローの実行間隔を、cronに相当するSchedule triggerノードで設定する。ここでは例として157分間隔に設定。\n実行間隔の設定 続いて、Split In Batchesノードの後ろにFilterノードをつなげて、次のようなフィルターを設定する。\n現在時刻から157分前を指定 ここで、RSS内のアイテムに紐付いている日時{{$json.isoDate}}と、現在時刻から157分前の日時{{$now.minus({minutes:157}).toISO()}}を比べて、記事が前回の実行時より新しいかどうかを無理やり判定する。\nこれ以外にいい方法がないか調べたけども、公式のノードだけではこれが限界っぽい。157分をハードコードすると、後々間隔を変更したときにこの部分を変更し忘れそうなので変数を使って\n$(\u0026#39;Schedule Trigger\u0026#39;).params[\u0026#34;rule\u0026#34;][\u0026#34;interval\u0026#34;][0][\u0026#34;minutesInterval\u0026#34;]\nに変更しておくとよさそう。後は$nowを使うとワークフロー全体が開始された日時ではなくて、コード自体が呼び出された日時が入りそうなので、フィードの取得に時間がかかったときなどは空白の時間が生まれて新着判定が上手くいかなそうなので、ここも変数を使ってワークフローが開始された日時そのものを使うために\n$(\u0026#39;Schedule Trigger\u0026#39;).item.json.timestamp\nとしておく。\n最終的には新着判定のために使う基準日時は\n{{ DateTime.fromISO($(\u0026#34;Schedule Trigger\u0026#34;).item.json.timestamp) .minus({ minutes: $(\u0026#34;Schedule Trigger\u0026#34;).params[\u0026#34;rule\u0026#34;][\u0026#34;interval\u0026#34;][0][ \u0026#34;minutesInterval\u0026#34; ], }) .toISO(); }} となる、けど読みにくいですね。\nこのあたりは、何分間隔という指定ではなくて、毎時決まった時間に、とした方がすっきりすると思う。だけど、毎時決まった時間にフィードを取りに行くのはなんかしっくりこないんですよね。\nここまでで新着判定はできているはずなので、後はWebhookに向かって情報を投げるだけ。HTTP Requestノードを使って、サービスに合わせて整形した上で投げる。例えばMattermostの場合は、textにリンクを入れてあげれば自動でプレビューされるので十分。\nリンクやタイトルを整形して投げる 新着アイテムを全部投稿するのではなくて、特定のキーワードに合致するものだけに絞りたければ、POSTする前にもう一つFilterノードを追加してRegexが書ける。\nタイトルか概要がキーワードを含むものだけに絞れる 「RSSの新着アイテムをキーワードで絞ってからPOSTしておいて」っていう簡単ぽく聞こえる作業が、ここまでの長文になってしまった。\n","date":1688885165,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688885165,"objectID":"05e589b1391e4f6c404b29cd528ecb07","permalink":"https://nobuto-m.github.io/ja/post/2023/1688885165/","publishdate":"2023-07-09T15:46:05+09:00","relpermalink":"/ja/post/2023/1688885165/","section":"post","summary":"昔はSleipnirのRSSリーダーとかGoogle Readerとかを使っていて、Feedlyもちょっとは使っていた。けれどもいつのまにかTwitterで話題になったやつとか、Google Discoverで出てきたニュースをちょろっと読むだけになってしまった。もうちょっと能動的にキーワードで引っ掛けたりして自分にとって重要そうなニュースを早めに読みたいという気持ちはあり、n8nのself-hostingコミュニティ版を使ってチャットに流すことにした。","tags":[],"title":"n8nでRSSの新着アイテムをwebhookに投げる","type":"post"},{"authors":[],"categories":[],"content":"Ubuntu Serverを自動インストールする方法については、Ubuntu Serverガイドにすでにちゃんとした記事がある。\nAutomated Server installation Automated Server install quickstart Automated Server installer config file reference あとは柴田さんのgihyo.jp記事もあるので日本語でも解説されている。\nUbuntu Serverガイドにしたがって、自分用に最小のautoinstallファイルを作ってやってみた。\n#cloud-config autoinstall: version: 1 identity: hostname: ubuntu-server username: ubuntu # password=ubuntu password: \u0026#34;$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0\u0026#34; ssh: install-server: yes # https://launchpad.net/bugs/1974483 allow-pw: no apt: geoip: false kernel: flavor: generic # or hwe ドキュメントにあるように、kvmコマンドと下記カーネルコマンドラインパラメーターを使うと完璧に動作する。\n-append \u0026#39;autoinstall ds=nocloud-net;s=http://_gateway:3003/\u0026#39; けれども、カスタマイズしてない普通の22.04 LTSのISOだとうまくいかなくて、最初の言語選択の画面で止まってしまう。\n結局はすごく小さなところが問題で、セミコロンをエスケープしておかないと、autoinstallファイルを取得するためのURLが無視されて渡らない。これだけの話で1時間以上悩んだ。ドキュメントへのフィードバックはしたので、将来的に誰かの役に立てればと。\nGRUBの時はセミコロンのエスケープが必須 ","date":1688282992,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688282992,"objectID":"d6ce7ea91d3f16a2fc3e21bbc38d98dc","permalink":"https://nobuto-m.github.io/ja/post/2023/ubuntu-server-autoinstall-with-a-physical-machine/","publishdate":"2023-07-02T16:29:52+09:00","relpermalink":"/ja/post/2023/ubuntu-server-autoinstall-with-a-physical-machine/","section":"post","summary":"Ubuntu Serverを自動インストールする方法については、Ubuntu Serverガイドにすでにちゃんとした記事がある。","tags":[],"title":"物理マシンでUbuntu Serverのautoinstall","type":"post"},{"authors":[],"categories":[],"content":"一個新規記事ファイルを作って、Hugoのプレビューを開こうとしたらエラーになる。\n$ hugo go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify-cms@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-reveal@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy/v5@v5.7.1-0.20230420205746-951c7b6f709d: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; hugo: collected modules in 897 ms Total in 906 ms Error: failed to load modules: failed to download modules: failed to execute \u0026#39;go [mod download]\u0026#39;: failed to execute binary \u0026#34;go\u0026#34; with args [mod download]: go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify-cms@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-reveal@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy/v5@v5.7.1-0.20230420205746-951c7b6f709d: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; *errors.errorString snap版特有の問題っぽかったので、一応Hugoプロジェクトにバグ報告。\nhttps://github.com/gohugoio/hugo/issues/11195\nなぜsnap版なのにHugoプロジェクトかというと、snapcraft.yamlはHugoプロジェクト側でメンテされていて、これはこれですごくありがたい。\n現状の回避策は、こないだまで動いていたrevisionを指定してインストールする形。\n$ sudo snap refresh --channel extended/stable --revision 16307 hugo パッと見はなんで名前解決がブロックされるのかよくわからず。/snap/hugo/{16307,16457}を比べてもバイナリ以外大きな差分はないし、リビジョンごとに生成されるAppArmorのプロファイルも特に差分は見えない。\n追記: AppArmor上は新しいリビジョンでだけ2つ追加でブロックされたログが出るので名前解決かと思ったけど、名前解決まではできてるみたい。\n[pid 95517] 15:50:23.307119 openat(AT_FDCWD, \u0026#34;/snap/core20/current/lib/x86_64-linux-gnu/libresolv.so.2\u0026#34;, O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) [pid 95517] 15:50:23.310260 openat(AT_FDCWD, \u0026#34;/snap/core20/current/lib/x86_64-linux-gnu/libnss_dns.so.2\u0026#34;, O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) [pid 95517] 15:50:23.311317 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(\u0026#34;127.0.0.53\u0026#34;)}, 16) = 0 [pid 95517] 15:50:23.313023 connect(3, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr(\u0026#34;20.27.177.113\u0026#34;)}, 16) = -1 EINPROGRESS (Operation now in progress) 追記2: 結局はAppArmorではなくて、Hugo本体のセキュリティ機構だった。snapのビルド時にsedを走らせてsnap用の設定を入れてるけど、本体側で加えた変更がsnapcraft.yamlには反映されていなかった。さらに進めて最終的にはsedを使わなくなって一件落着。素晴らしい。\n","date":1688220202,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688220202,"objectID":"0d85a1201f4127b06b5d149844cc00b9","permalink":"https://nobuto-m.github.io/ja/post/2023/1688220202/","publishdate":"2023-07-01T23:03:22+09:00","relpermalink":"/ja/post/2023/1688220202/","section":"post","summary":"一個新規記事ファイルを作って、Hugoのプレビューを開こうとしたらエラーになる。","tags":[],"title":"Hugo snapが fatal: unable to find remote helper for 'https' のエラーを出すようになった","type":"post"},{"authors":[],"categories":[],"content":"NucBox3はファンレスで安いところが良さそうだと思って、Raspberry Piを置き換える用途でしばらく前に買ってあった。とにかく値段が安い(今日時点で実売12,383円)。それとは別に流行りのIntel N100と2.5G NICが搭載されてるもっと高めのものを家庭用NASを置き換える用途で買いたいなぁと思ってて、予行演習のためにまずはIntel Celeron J4125と1G NICのNucBox3にTrueNAS SCALEをインストールしてみた。\nまず、NucBox3は最大限にコスパ重視って感じ。噂に聞く、全くuniqueではないUUID 03000200-0400-0500-0006-000700080009は健在。\nubuntu description: Desktop Computer product: NucBox3 vendor: GMKtec version: Default string serial: Default string width: 64 bits capabilities: smbios-3.2.0 dmi-3.2.0 smp vsyscall32 configuration: boot=normal chassis=desktop family=Default string uuid=03000200-0400-0500-0006-000700080009 DDR4の8GBメモリもvendor ABCDのproduct 123456789012345678、シリアル番号は1234。\n*-memory description: System Memory physical id: 23 slot: System board or motherboard size: 8GiB *-bank:0 description: DIMM DDR4 Synchronous 2400 MHz (0.4 ns) product: 123456789012345678 vendor: ABCD physical id: 0 serial: 1234 slot: A1_DIMM0 size: 8GiB width: 64 bits clock: 2400MHz (0.4ns) 全部こんな感じなんでしょと思いきや、M.2 SATAの128GB SSDは製品名は入ってなかったけどシリアル番号っぽいものは入ってる。ちなみに簡易ベンチマークはこんな感じ。\nSSDはそれなり。可もなく不可もなく。 lstopoの出力 さくっと情報を確認したので、こっからはTrueNAS SCALEのインストールテスト。SCALEの方はDebianベースなのがいいなと思って選んだんですが、インストーラーもアプライアンスとしてカスタマイズされているので特に迷うところはなし。\nShellアクセスもあるけども、アプライアンスとして使われるのを意図しているのでaptやdpkgコマンドはPermission deniedが返る。どんな方法で制限してるんだろうと思ったけど、executableフラグを落としてあるだけだった。\nadmin@truenas[~]$ find /usr/bin ! -executable /usr/bin/docker-compose /usr/bin/dpkg /usr/bin/apt-get /usr/bin/apt-extracttemplates /usr/bin/apt-mark /usr/bin/apt-sortpkgs /usr/bin/apt-key /usr/bin/apt /usr/bin/apt-cache /usr/bin/apt-ftparchive /usr/bin/apt-config /usr/bin/apt-cdrom まったくもって推奨されてないけど、ちょっとiperfでも実行してみるかと思って一時的にaptを使えるようにしたけど、iperf3はデフォルトで入っているというオチでした。TrueNAS SCALEのインストールしたバージョン“Bluefin” 22.12はDebian 11 bullseyeベースなんだけど、アプライアンスなので結構手が入ってる。opensslのバージョンとかも。\nadmin@truenas[~]$ apt policy openssl openssl: Installed: 1.1.1t-001+deb11u4 Candidate: 1.1.1n-0+deb11u4 Version table: *** 1.1.1t-001+deb11u4 100 100 /var/lib/dpkg/status 1.1.1n-0+deb11u4 1000 500 http://apt.tn.ixsystems.com/apt-direct/bluefin/22.12.3/debian-security bullseye-security/main amd64 Packages 1.1.1n-0+deb11u3 900 900 http://apt.tn.ixsystems.com/apt-direct/bluefin/22.12.3/debian bullseye/main amd64 Packages NUCの形状からしてNASとして使う時のデータ置き場はUSB接続の外部HDDになる予定で、USB接続は推奨はされていないもののZFS用のデバイスとしてちゃんと使える。\nUSBストレージはnot recommendedでwarning扱い で、ここまでいろいろ見てきて、TrueNAS SCALEはうちの家庭用NASとしてピッタリじゃね、と。最初はDebianベースだからっていう理由で触り始めたけど、NASとしてこれこそが求めていたものでは。\nただ、TrueNAS SCALEのアプリストアを使う時に、SCALE自体がインストールされているドライブとは別のドライブを必要とする。ので、SCALE自体を内蔵SSDに入れるとして、アプリ(Kubernetes上で動く)が外付けHDDで動作するのもなんだかなと。一般にNASにアプリストアってあるあるだけど、んーでも結局そんなに使うことになるのかしら。将来のために、デフォルトで全領域を使うboot-poolを何とかサイズ指定したり後から縮小したりできるかを調べることからかな、と。\n$ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 ├─sda2 vfat FAT32 EFI 2D4A-EDB1 ├─sda3 zfs_member 5000 boot-pool 572534033895956289 └─sda4 └─sda4 swap 1 9a1c0394-e549-4ef5-a15b-dc69f9a39e41 [SWAP] sdb ├─sdb1 └─sdb2 zfs_member 5000 external 9260921456295045295 Intel Celeron J4125と1G NICでテストしててさくさく動いてしまうので、N100と2.5Gとか要らないような気がしてくる。現状で十分というかアプリ、コンテナ、VMをそんなに動かすのかなと。ちょっと悩んだ後に、安いのは正義ということでNucBox3をまずはもう一個買いました。ので、これでしばらく運用してみて本当に必要だったらスペックを考え直すことにする。\n","date":1687011989,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1687011989,"objectID":"2baa9a818dfd780a136ee29d4561bfa1","permalink":"https://nobuto-m.github.io/ja/post/2023/1687011989/","publishdate":"2023-06-17T23:26:29+09:00","relpermalink":"/ja/post/2023/1687011989/","section":"post","summary":"NucBox3はファンレスで安いところが良さそうだと思って、Raspberry Piを置き換える用途でしばらく前に買ってあった。とにかく値段が安い(今日時点で実売12,383円)。それとは別に流行りのIntel N100と2.","tags":[],"title":"NucBox3でTrueNAS SCALEを試してみた","type":"post"},{"authors":[],"categories":[],"content":"手術といっても滞在時間は1時間もいかないぐらい。ずっと前(たぶん高校生ぐらい)から耳の上にホクロが変化してBB弾がくっついたぐらいの大きさの出っ張りがあって、今までは髪切ったときに丸見えになるぐらいで生活に支障はなかった。ただ、こないだから眼鏡をかけるようになったら眼鏡のツルと干渉するので思い切って取ってみるか、と。\n診療明細書上は「皮膚、皮下腫瘍摘出術(露出部)(直径2cm未満)」という扱いで健康保険適用対象、当日の支払額は合計で8,420円。\n病院によっては当日に取ってくれるところもあるみたいだけど、一番近そうなところの院長はGoogleマップのレビュー上でずーっと患者とバトルしてて不安だったので、妻が行ったことのある皮膚科に行った。そこもそこで保険適用外のいろんな注射がメニューにあるところで不安だったけど、結果的には説明もしっかりしてくれてよかった。\n最初の日は写真を撮って説明するだけですぐ終わり、手術当日までに周りの髪の毛をジョリジョリしてきてください、次の日に消毒のために来てもらいます、その後は軟膏塗ってテープ自分で貼ってもらって1週間後に抜糸です、と。なるほど、手術後に貼るテープみたいなのを買っとかなきゃと物色して、2種類の太さと一応防水のも買ってみた。\n初めてなのでいろいろ買ってみた で、当日は麻酔注射を打たれて、その注射自体がちょっと痛いぐらいで手術中の痛みは無し、縫ってる時の糸の振動が伝わるぐらい。結果5針縫ったみたい。次の日消毒に行った時に、どんなテープ貼られるのかな、買ったテープはちゃんと合ってるのかなと思いながら診察受けてて、先生も耳の周りの曲線で貼るの苦労してるなと思って帰って来たら絆創膏が貼ってあった。はい、もったいないので買ったテープは積極的に使っていこうと思います。\n","date":1686462501,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1686462501,"objectID":"6364d23dc8b459802bfb90c38b9f7391","permalink":"https://nobuto-m.github.io/ja/post/2023/1686462501/","publishdate":"2023-06-11T14:48:21+09:00","relpermalink":"/ja/post/2023/1686462501/","section":"post","summary":"手術といっても滞在時間は1時間もいかないぐらい。ずっと前(たぶん高校生ぐらい)から耳の上にホクロが変化してBB弾がくっついたぐらいの大きさの出っ張りがあって、今までは髪切ったときに丸見えになるぐらいで生活に支障はなかった。ただ、こないだから眼鏡をかけるようになったら眼鏡のツルと干渉するので思い切って取ってみるか、と。","tags":[],"title":"ミニミニ手術を受けた","type":"post"},{"authors":[],"categories":[],"content":"光クロスのレンタルルーターであるXG-100NEの動作に耐えられなくて解約申請をして、そしたらその後にファームウェアのアップデートがリリースされた。返却前の週末に今使ってるルーターからレンタルルーターに切り戻して、まだ不具合が出るか出ないかだけでも確認して気持ちをはっきりさせたかったけど、結局単純な理由で確認できなかった。\n手順としては単純で、ダウンロードページからファームウェアver.03.00.0002を落としてルーターのWebUIから適用するだけ。で、そのまま使えばテストできたのに、何か魔が差したんですよね。不具合と言うからにはちゃんと初期状態で再現できるか確認しないと意味がないかな、と。そう思ったので、まずは使う前に工場出荷時の状態に戻すみたいな初期化ボタンを押したんです。で、再起動してIPv6はつながってIPv4がつながらなくなったときに、あっ、と。\nXG-100NEはIPv4接続のためのMAP-Eバンドルというソフトウェアをフレッツ・ジョイントの仕組みを通じて受け取って初めてMAP-Eで通信できるはずなので、初期化したことでこのすでに受け取り済みのソフトウェアも消えてしまった。で、解約申請を出してこのソフトウェア配信もちょうど止まったところだったので、このソフトウェアが再度ダウンロードされることはなく。はい、ここで手詰まり、テストできず。初期化しよう、とかさえ思わなければ。\nhttp://ntt.setup:8888/tにアクセスして、あっ、と思った瞬間。何もない。 おとなしくすぐに梱包して期限内にレンタルルーターを返送しました。これで我が家でXG-100NEについて脳みそを使う時間を割くのは完全に終了です。\n","date":1685705588,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685705588,"objectID":"006f71b1162ba6504c15ca066d2cb211","permalink":"https://nobuto-m.github.io/ja/post/2023/1685705588/","publishdate":"2023-06-02T20:33:08+09:00","relpermalink":"/ja/post/2023/1685705588/","section":"post","summary":"光クロスのレンタルルーターであるXG-100NEの動作に耐えられなくて解約申請をして、そしたらその後にファームウェアのアップデートがリリースされた。返却前の週末に今使ってるルーターからレンタルルーターに切り戻して、まだ不具合が出るか出ないかだけでも確認して気持ちをはっきりさせたかったけど、結局単純な理由で確認できなかった。","tags":[],"title":"XG-100NEの新ファームウェアのテストが結局できなかった話","type":"post"},{"authors":[],"categories":[],"content":"子どもがルイージマンション3をクリアした。祖父母に買ってもらって子どもメインで進めてて、まだ字が読めないなりに結構プレイできていた。所々こっちで調べてあげたり協力プレイで手伝ったりしてあげた感じ。\n謎解き要素も少しあって、わかんないときは本当に調べないとわかんなくて子どもには難しそうだったけども、まあでもほどよい感じ。最初の段階で、地下2階から15階まであることがエレベーターのボタン配置で明示されてて、進捗がわかりやすくてよかった。「今日は14階をクリアする!」みたいに意気込んでいたので。おかげで十の位の読み上げ(じゅうご、とか)が完璧になった。\n4-5歳の子どもがいままである程度ちゃんとプレイできて、ハマってきたのは何本かあって、ルイージマンション3も何回もやるリストに入ったみたい。\n子どもでもできたゲーム Good Job! これは大人がやっても名作だと思ったけど、子どもはずーっとやってた。\nUntitled Goose Game 出張中にSteamで一人でキーボードでやってたときは難易度が高くて最初は楽しさがわからなかった。これは子どもは「鳥さんのゲーム」って読んでて、協力プレイでワイワイやる感じが盛り上がる。\nヨッシークラフトワールド これは体験版で最初のステージだけできるようになってて、子どもがそのステージだけをずっと繰り返してやってたので、折をみて購入。無限にパタパタ空中を浮いていられるモードにするのが子ども向きで重要。クリアした後の追加ステージは全部完走まではやりきれず。\nASTRO’s PLAYROOM これはPS5に最初から入っているデモ用ゲームだけど、デモって感じの分量ではないしすごく作り込まれてる。子どもは「ロボットのゲーム」って読んでる。過去のSony製品がアイテムとして登場するんだけど、祖父母宅に泊まりに行ったときにPS2の本体がたまたまあって「これロボットのゲームで見たやつ!」って興奮してた。\nKNACK 2 これは夫婦で何か協力プレイやりたいなと思って過去に買ってあったやつだけど、結局やらずに子どもとやることに。同じようなステージがだらだら続くふしがあるので、大人だとそんなにハマらないかもしれないが子どもは「コナックのゲームやる!」ってハマってる(ナックというのは発音しにくいみたい)。\nまとめ やっぱり全体的に、右スティックを使った視点移動がないゲームであることが重要な気がする。ポケモンのアルセウスとかスカーレット・バイオレットとかだとどうしても視点移動が必須でそうなるとあんまりストーリーが進められていない感じ。\n","date":1685275311,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685275311,"objectID":"3a0451bff07fc067000f89be8b43024e","permalink":"https://nobuto-m.github.io/ja/post/2023/1685275311/","publishdate":"2023-05-28T21:01:51+09:00","relpermalink":"/ja/post/2023/1685275311/","section":"post","summary":"子どもがルイージマンション3をクリアした。祖父母に買ってもらって子どもメインで進めてて、まだ字が読めないなりに結構プレイできていた。所々こっちで調べてあげたり協力プレイで手伝ったりしてあげた感じ。","tags":[],"title":"子どもがルイージマンション3をクリアした","type":"post"},{"authors":[],"categories":[],"content":"基本はノートPCと検証機のどっちともUbuntuを常用してて、ごくごくたまーにWindowsが必要になることもあるので、Rufusで外付けSSDにWindowsをインストールしてある。で、この用途で使ってるKIOXIA EXCERIA G2 SSD-CK500N3G2/Nは値段で選んだので特に性能は気にしたことはなかったので、この機会に測ってみた。\nキャッシュ溢れみたいな変な落ち込みがない シーケンシャルアクセスはNVMeのSSDをUSBにケースで変換して接続していることを考慮してまったく文句なし。最初は測定しようと思ったときに、あーWindowsが入っちゃってるから書き込みテストできないじゃん、書き込みテストした後にもう一回Windowsインストールしてもいいけど面倒だなと思ったところにGNOME Disksの説明を読んで驚いた。\n書き込みテストはすでにデータがあるドライブにも実行可 Benchmarking the write-rate of a disk requires exclusive access to the disk (e.g. the disk or its partitions cannot be mounted or in use) and involves reading data and then writing it back. As a result, the contents of the disk is not changed.\nGNOME Disksだけが独占的にドライブにアクセスしている前提で、読んだデータをそのまま書き直すのでベンチマークが完走する限りはデータ破壊がないので、確かに頭いいなぁと。読んだデータしか使えないので、しっかりとランダムなデータを生成して書き込むタイプのベンチマークに比べると色んなレイヤーの影響で変に良い値が出てしまう懸念があるけどまあ簡易ベンチマークとしては本当に頭がいい。\nあとはUSB経由でつないでいても、ちゃんと色々な値が取れてすごいなぁと。\n$ sudo smartctl -a /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1012-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: KIOXIA-EXCERIA G2 SSD Serial Number: XYZ Firmware Version: ECFA17.1 PCI Vendor/Subsystem ID: 0x1e0f IEEE OUI Identifier: 0x8ce38e Total NVM Capacity: 500,107,862,016 [500 GB] Unallocated NVM Capacity: 0 Controller ID: 1 NVMe Version: 1.3 Number of Namespaces: 1 Namespace 1 Size/Capacity: 500,107,862,016 [500 GB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 8ce38e 0500bbcc25 Local Time is: Sun May 21 14:06:49 2023 JST Firmware Updates (0x12): 1 Slot, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Log Page Attributes (0x0a): Cmd_Eff_Lg Telmtry_Lg Maximum Data Transfer Size: 512 Pages Warning Comp. Temp. Threshold: 72 Celsius Critical Comp. Temp. Threshold: 90 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 7.69W - - 0 0 0 0 1 1 1 + 6.18W - - 1 1 1 1 1 1 2 + 5.42W - - 2 2 2 2 1 1 3 - 0.0500W - - 3 3 3 3 7000 5000 4 - 0.0050W - - 4 4 4 4 13000 36000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 2 1 - 4096 0 1 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 34 Celsius Available Spare: 100% Available Spare Threshold: 5% Percentage Used: 0% Data Units Read: 337,687 [172 GB] Data Units Written: 314,483 [161 GB] Host Read Commands: 12,348,912 Host Write Commands: 13,616,612 Controller Busy Time: 17 Power Cycles: 26 Power On Hours: 10 Unsafe Shutdowns: 24 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Warning: NVMe Get Log truncated to 0x200 bytes, 0x200 bytes zero filled Error Information (NVMe Log 0x01, 16 of 63 entries) No Errors Logged ","date":1685172674,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685172674,"objectID":"6f9782dc3d57d3afda40bec3b604e1ad","permalink":"https://nobuto-m.github.io/ja/post/2023/1684645587/","publishdate":"2023-05-27T16:31:14+09:00","relpermalink":"/ja/post/2023/1684645587/","section":"post","summary":"基本はノートPCと検証機のどっちともUbuntuを常用してて、ごくごくたまーにWindowsが必要になることもあるので、Rufusで外付けSSDにWindowsをインストールしてある。で、この用途で使ってるKIOXIA EXCERIA G2 SSD-CK500N3G2/Nは値段で選んだので特に性能は気にしたことはなかったので、この機会に測ってみた。","tags":[],"title":"Windows用に使ってるSSD-CK500N3G2/Nもテストしてみた","type":"post"},{"authors":[],"categories":[],"content":"ONU、ルーターなどのネットワーク機器はクローゼットというか物置きというか、というところに置いてあるのだが、そのままだとケーブル類がぐちゃぐちゃになってしまうので整理してみた。本格的な19インチラックは導入せず、あくまで家庭用っぽくする方針で。\n整理前 3月に複合機を買ったときに同時にIKEAのテーブルを買っておいて、テーブルの上を複合機、下をネットワーク機器とまずは空間を分けておいた。必要になった段階でIKEAのテーブルを“LackRack”として使って1Uだけ使うつもりだった。で、ルーターを乗せるためだけに棚板の値段を調べたりして、結構高いななんて思いながら4月に買って最上段に取り付けて完成。とはならずに、棚板の落下防止の返し部分があることで、ルーターが入らなかった。毎回ネジを緩めたりすれば出し入れできるけれどもそれは果たして家庭用なのかなと。\n結局はルーター用の棚板を2段目にして空間を確保し、空いた一段目をそのままにしておくのはあれなので、特に必要のなかったケーブルオーガナイザーも買った。圧迫感を与えないように白色で探したので、配線が丸見えになる魚の骨タイプしかなかった。\n整理後 出来栄えとしては決して美しくはないけれども、当初の目的である床部分から配線を持ち上げる、ということは達成したのでよし。LackRackを初めてやってみた感想としては1U以上はやっぱり普通にメタルラック買った方がいいんじゃないでしょうか。使ったネジはM6の六角フランジタッピング。当然のことながらIKEAのテーブルは穴を開けられることを想定してないし、チップ材なのでドリルで穴開けると手応えなかったりネジ打ち込んでも最後の方空転したりする箇所がちらほらあるので。\nドリルで下穴も開けた あと最近光クロスの上りが最速の計測値でも2.5Gbpsを超えなくなってきたので、ちょっとはONUの温度下がらないかなと思ってあえて速度を落とすように設定してみた。インターネット側は10Gbpsから5Gbpsへ、LAN側は検証機を10Gbpsから2.5Gbps、他のポートとの合計で4.5Gbpsになるように。でもこれをやるとなぜ10Gbpsを契約しているのだろうという気持ちになるので、まずは様子見。\nと思ったけども、やっぱり2.5Gbpsだと10G対応のルーターを買った意味がないので落とすのは5Gbpsまでに。\n結局落とすのは5Gbpsまでにした ","date":1684594567,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684594567,"objectID":"137953e01fb68652af2df1b3555a3aec","permalink":"https://nobuto-m.github.io/ja/post/2023/1684594567/","publishdate":"2023-05-20T23:56:07+09:00","relpermalink":"/ja/post/2023/1684594567/","section":"post","summary":"ONU、ルーターなどのネットワーク機器はクローゼットというか物置きというか、というところに置いてあるのだが、そのままだとケーブル類がぐちゃぐちゃになってしまうので整理してみた。本格的な19インチラックは導入せず、あくまで家庭用っぽくする方針で。","tags":[],"title":"ネットワーク配線の整理をした","type":"post"},{"authors":[],"categories":[],"content":"何度も出張する中で、スーツケースの角の部分が剥がれてきてしまった。実用上は支障がなくて、内袋はファスナー部分と一体なのでこの外殻との隙間部分から細かい荷物が落ちたりすることはまったくない。けれども一度だけ海外のチェックインカウンターでスーツケースが破損しているからという扱いになって、免責書類にサインさせられた。この部分の剥がれが大きくなっても別に賠償を要求しないけど、全体的な破損とかだとまた話が違ってくるので直すことに。\nポリカーボネート素材のはずなので、家にあったある程度強そうな接着剤のどれでもいけそうだったけど最終的にはポリカーボネート対応が明記されていたセメダイン スーパーXクリアを選択。\n","date":1684038443,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684038443,"objectID":"b94a7c7f10bc6efe0579b2388c9bfcf8","permalink":"https://nobuto-m.github.io/ja/post/2023/1684038443/","publishdate":"2023-05-14T13:27:23+09:00","relpermalink":"/ja/post/2023/1684038443/","section":"post","summary":"何度も出張する中で、スーツケースの角の部分が剥がれてきてしまった。実用上は支障がなくて、内袋はファスナー部分と一体なのでこの外殻との隙間部分から細かい荷物が落ちたりすることはまったくない。けれども一度だけ海外のチェックインカウンターでスーツケースが破損しているからという扱いになって、免責書類にサインさせられた。この部分の剥がれが大きくなっても別に賠償を要求しないけど、全体的な破損とかだとまた話が違ってくるので直すことに。","tags":[],"title":"スーツケースの補修をした","type":"post"},{"authors":[],"categories":[],"content":"録画してあったTOKYO MERのSPドラマ「隅田川ミッション」を観た。TOKYO MERは医療ドラマだけど医療ドラマじゃない、まともな判断がなされないハチャメチャなドラマだけど、このスペシャルドラマはいつも通りハチャメチャで期待を裏切らなかった。絶対に一人では完走できなさそうな、家族と一緒にわいわい観るから楽しいタイプのドラマ。今回の話がMERの中での出来が良すぎて、映画がこれより面白くなれるのか心配になるぐらい。\n","date":1684037305,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684037305,"objectID":"c59d1d8127ee7a35320260d2a24844d6","permalink":"https://nobuto-m.github.io/ja/post/2023/1684037305/","publishdate":"2023-05-14T13:08:25+09:00","relpermalink":"/ja/post/2023/1684037305/","section":"post","summary":"録画してあったTOKYO MERのSPドラマ「隅田川ミッション」を観た。TOKYO MERは医療ドラマだけど医療ドラマじゃない、まともな判断がなされないハチャメチャなドラマだけど、このスペシャルドラマはいつも通りハチャメチャで期待を裏切らなかった。絶対に一人では完走できなさそうな、家族と一緒にわいわい観るから楽しいタイプのドラマ。今回の話がMERの中での出来が良すぎて、映画がこれより面白くなれるのか心配になるぐらい。","tags":[],"title":"TOKYO MER 隅田川ミッションを観た","type":"post"},{"authors":[],"categories":[],"content":"フレッツ光クロスのひかり電話対応がアナウンスされた。提供開始日は2023年5月31日となっていて、それまでにひかり電話対応用のファームウェアアップデートが来ないといけないはずだけど、まだ東日本はver.02.00.0005(2021/02/24日付)が最新との表示。\n西日本の方は、ひかり電話対応のアナウンスの一足先にVersion 03.00.0001(2023/04/11日付)が出ている。\nhttps://www.ntt-west.co.jp/kiki/download/flets/xg100ne/\n今後のサービス拡張において必要な基本機能を追加しました。\n一部動作の改善を行いました。\nレンタルルーターなのでこれを無理やり適用するのはまずいので、ルーターの返却期限までに東日本公式のアップデートが来てくれれば通信が詰まる現象が解消されたかどうかだけでも確認できるのでいいなぁと期待。\n","date":1683630665,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683630665,"objectID":"284ddc9c507731befa2d2c8a20699da4","permalink":"https://nobuto-m.github.io/ja/post/2023/1683630665/","publishdate":"2023-05-09T20:11:05+09:00","relpermalink":"/ja/post/2023/1683630665/","section":"post","summary":"フレッツ光クロスのひかり電話対応がアナウンスされた。提供開始日は2023年5月31日となっていて、それまでにひかり電話対応用のファームウェアアップデートが来ないといけないはずだけど、まだ東日本はver.02.00.0005(2021/02/24日付)が最新との表示。","tags":[],"title":"レンタルルーターのファームウェアアップデート待ち","type":"post"},{"authors":[],"categories":[],"content":"ゴールデンウィークも終わってしまう、でも何かちょっと子どものためにどっか連れて行ってあげたいと思った土曜日に東京ドームシティへ行った。リニューアルされてから行くのは初めてだと思う。メリーゴーラウンドはいつも馬じゃなくて馬車の客室部分にあたるベンチみたいなところに座りたいと言い出すけども、ちょうど他の付い添いの大人がベンチ2つに座ってくれたので、しぶしぶだけど初めて馬に乗ってくれてよかった。乗ったら乗ったでめちゃめちゃ楽しそうにしてくれるんだけど。\n夕飯はレストランせんごくで。このエリアなのに並ばずに入れてしまうのが何ともだけど、子ども連れて入れるので助かってます。\n","date":1683548704,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683548704,"objectID":"0007d5eae9ea99a383652a5767c86792","permalink":"https://nobuto-m.github.io/ja/post/2023/1683548704/","publishdate":"2023-05-08T21:25:04+09:00","relpermalink":"/ja/post/2023/1683548704/","section":"post","summary":"ゴールデンウィークも終わってしまう、でも何かちょっと子どものためにどっか連れて行ってあげたいと思った土曜日に東京ドームシティへ行った。リニューアルされてから行くのは初めてだと思う。メリーゴーラウンドはいつも馬じゃなくて馬車の客室部分にあたるベンチみたいなところに座りたいと言い出すけども、ちょうど他の付い添いの大人がベンチ2つに座ってくれたので、しぶしぶだけど初めて馬に乗ってくれてよかった。乗ったら乗ったでめちゃめちゃ楽しそうにしてくれるんだけど。","tags":[],"title":"メリーゴーラウンドに乗った","type":"post"},{"authors":[],"categories":[],"content":"だいぶ黒ずんできたので本格的にお掃除。大理石みたいなツルツルタイプではなくて、かなりざらざらなタイプなので引っかかって雑巾で拭くこともできず掃除しにくい。メラミンスポンジもすごい勢いで削れていく。結局はメラミンスポンジに水をたっぷり含ませてタイルを濡らしていき、水で汚れが浮いたところを乾拭き雑巾で押さえるの繰り返し。\n家の外の部分はがっつり水がかけられるので専用のブラシを買った。水切りがついてるのが良い。どうせピカピカな状態は数日も持たないので、ある程度あきらめることが重要。\n","date":1683448276,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683448276,"objectID":"888df1f7ce5d18e64401219a07a7c7ee","permalink":"https://nobuto-m.github.io/ja/post/2023/1683448276/","publishdate":"2023-05-07T17:31:16+09:00","relpermalink":"/ja/post/2023/1683448276/","section":"post","summary":"だいぶ黒ずんできたので本格的にお掃除。大理石みたいなツルツルタイプではなくて、かなりざらざらなタイプなので引っかかって雑巾で拭くこともできず掃除しにくい。メラミンスポンジもすごい勢いで削れていく。結局はメラミンスポンジに水をたっぷり含ませてタイルを濡らしていき、水で汚れが浮いたところを乾拭き雑巾で押さえるの繰り返し。","tags":[],"title":"玄関のタイル掃除をした","type":"post"},{"authors":[],"categories":[],"content":"運転免許の更新に支障はないぐらいだけれども、年齢とともに左目で遠くを見たときに霞むようになってきた。ずっと裸眼で過ごしてきて眼鏡が必要になるのは老眼になる時だけだと思ってたけど、そうはいかなかった。\n元から左右で見え方が少し違って高校生の時と6年前に眼鏡が欲しくて測定してもらって、多少乱視はあるものの眼鏡が必要なほどじゃないと言われてまあそうか、とあきらめた。ただ数年前から左目の違和感が大きくなってきてついに眼鏡を買うことに。選んだのは1本で運転にも使えるようにパカパカフリップタイプ。\nhttps://www.jins.com/jp/switch/#flip_up\nパカパカなしで紫外線の量によって色が変わる調光レンズの方がスマートだけど、ドライブに使ったり屋外から屋内に入った時を考えるとパカパカタイプがいいな、と。\nhttps://www.jins.com/jp/lens/colorcontrol/\n紫外線カットガラスに覆われた車内などでは、レンズは変色しません。\n濃いレンズが淡く戻るまでに多少の時間を要します。\n結果、左目用にSPH: -0.50、CYL: -0.50のレンズを入れてもらった。手元のノートPCを見るぐらいだと元から困ってなかったけど、それ以上の距離を見るときにパリッと見えて幸せ。\n","date":1683432577,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683432577,"objectID":"fba59da0b46e49116f59886677fbf42c","permalink":"https://nobuto-m.github.io/ja/post/2023/1683432577/","publishdate":"2023-05-07T13:09:37+09:00","relpermalink":"/ja/post/2023/1683432577/","section":"post","summary":"運転免許の更新に支障はないぐらいだけれども、年齢とともに左目で遠くを見たときに霞むようになってきた。ずっと裸眼で過ごしてきて眼鏡が必要になるのは老眼になる時だけだと思ってたけど、そうはいかなかった。","tags":[],"title":"眼鏡を買った","type":"post"},{"authors":[],"categories":[],"content":"前回、SanDisk SDSSDA-2T00-G26がREGZAの2番組同時録画と別番組再生に追いつけなかった話で興味が出たので、同じシリーズの480GB(SDSSDA-480G-J26)も持ってたので同じ条件で軽く計測してみた。古いSSD同士で何をいまさらって感じがあるけど、まあ見てみたかったので。\nSanDisk SSD Plus 2TB SanDisk SSD Plus 480GB これを見ると480GBの方がガタガタではあるけれども、予測しやすい理屈に合った動きをしているように見えるし、平均書き込み速度で上回ってて、レイテンシーの面でも優秀。SSDは容量が大きい方がだいたい書き込み速度が上がる印象だけどこういうこともあるんだなと。ファームウェアのリビジョンによる違いなのかもしれないけど。\nと思ったら普通にデータシートに1TBの方が他より遅いって書いてあった。2TBは最速っぽく書いてあるけど。\nDatasheet (PDF)\nRead/write speeds of up to 545MB/s/450MBs** [2TB] Read/write speeds of up to 535MB/s/350MBs** [1TB] Read/write speeds of up to 535MB/s/445MBs** [480GB] Read/write speeds of up to 530MB/s/440MBs** [240GB] ちなみに実際のTBWはどちらも使いすぎってわけではなくて、大した値ではなかった。\n[480GB]\n$ sudo smartctl -A /dev/disk/by-id/ata-SanDisk_SDSSDA480G_XYZ -d sat smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1009-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Retired_Block_Count 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours_and_Msec 0x0032 000 100 000 Old_age Always - 11604h+00m+00.000s 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 1926 165 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 7241469593843 166 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 2 167 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 168 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 15 169 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 170 Reserve_Block_Count 0x0032 100 100 000 Old_age Always - 0 171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 173 Unknown_SandForce_Attr 0x0032 100 100 000 Old_age Always - 8 174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age Always - 120 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 194 Temperature_Celsius 0x0022 061 022 000 Old_age Always - 39 (Min/Max 0/78) 199 SATA_CRC_Error_Count 0x0032 100 100 000 Old_age Always - 0 230 Life_Curve_Status 0x0032 100 100 000 Old_age Always - 3277067780859 232 Available_Reservd_Space 0x0033 100 100 004 Pre-fail Always - 100 233 SandForce_Internal 0x0032 100 100 000 Old_age Always - 3950 234 SandForce_Internal 0x0032 100 100 000 Old_age Always - 43857 241 Lifetime_Writes_GiB 0x0030 253 253 000 Old_age Offline - 13081 242 Lifetime_Reads_GiB 0x0030 253 253 000 Old_age Offline - 6245 244 Unknown_Attribute 0x0032 000 100 000 Old_age Always - 0 -\u0026gt; TBW: ~13 TB\n[2TB]\n$ sudo smartctl -A /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ -d sat smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1009-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 11767 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 343 165 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 1378 166 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 10 167 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 98 168 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 27 169 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 1623 170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0 171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 173 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 10 174 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 239 184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 --- Old_age Always - 0 194 Temperature_Celsius 0x0022 058 071 000 Old_age Always - 42 (Min/Max 14/71) 199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0 230 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 3698000397149 232 Available_Reservd_Space 0x0033 100 100 005 Pre-fail Always - 100 233 Media_Wearout_Indicator 0x0032 100 100 --- Old_age Always - 21640 234 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 37214 241 Total_LBAs_Written 0x0030 100 100 000 Old_age Offline - 14543 242 Total_LBAs_Read 0x0030 100 100 000 Old_age Offline - 9730 244 Unknown_Attribute 0x0032 000 100 --- Old_age Always - 0 -\u0026gt; TBW: ~14.5 TB\n","date":1683280885,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683280885,"objectID":"7637aa855e952bdafce1c67257360bbc","permalink":"https://nobuto-m.github.io/ja/post/2023/1683280885/","publishdate":"2023-05-05T19:01:25+09:00","relpermalink":"/ja/post/2023/1683280885/","section":"post","summary":"前回、SanDisk SDSSDA-2T00-G26がREGZAの2番組同時録画と別番組再生に追いつけなかった話で興味が出たので、同じシリーズの480GB(SDSSDA-480G-J26)も持ってたので同じ条件で軽く計測してみた。古いSSD同士で何をいまさらって感じがあるけど、まあ見てみたかったので。","tags":[],"title":"SanDisk SSD Plusシリーズは2TBの方が480GBより遅く見えちゃう","type":"post"},{"authors":[],"categories":[],"content":"SSD-SCT2.0U3BA/Nが15,980円と少し安くなっていたので思い切って買った。\nHDDのガリガリ音と振動の反響音がリビングで聞こえるのが嫌で、今までも2TBのSSDとしてSanDisk SDSSDA-2T00-G26をUSB接続で使っていた。ただこれがREGZAと組み合わせると全然期待通りに動いてくれない。テレビの録画なんて2番組同時録画してもせいぜい2x24Mbps、で同時録画中に他の番組を再生しても24Mbpsなので、6MB/sの書き込みと3MB/sの読み出しというHDDですら楽々こなせるタスクなのに、なぜかこのSanDiskのやつだとテレビ自体がエラーを吐いたり、録画データが破損してブロックノイズが出たりする。熱の影響かと思ってケースから出して裸で運用したり、USBからの電源供給が足りないかと思って補助電源を追加してもダメ。\nテレビが悪いのかSSDが悪いのか自信がないまま新しいSSDを買ったけど、結果として問題なく動いてくれてよかった。\nREGZAはXFSを使ってるのでファイルシステムか中身をコピーしてってのは可能かもしれないけど、今回はさくっとまるごと移行。\n$ lsblk -f /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda └─sda1 xfs d5ea386b-ad90-47fc-9105-383cb0b00eba 118.8G 94% /media/nobuto/d5ea386b-ad90-47fc-9105-383cb0b00eba 移行元と移行先のSSDのサイズはピッタリ同じなのでリサイズを考慮しなくていい。\n$ lsblk \\ /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ /dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1.8T 0 disk ... sdb 8:16 0 1.8T 0 disk ... $ lsblk -b \\ /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ /dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 2000398934016 0 disk ... sdb 8:16 0 2000398934016 0 disk ... で、移行元のドライブも壊れてるわけではないので、ddrescueではなくさくっとddで。\n$ sudo dd \\ if=/dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ of=/dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 \\ bs=4M status=progress oflag=sync 2000398934016 bytes (2.0 TB, 1.8 TiB) copied, 18102.6 s, 111 MB/s 最初のうちは200-300MB/sとかでコピーされてたけれども徐々に100MB/sぐらいに落ち着いて結局5時間以上かかることに。\n移行が終わってからSanDiskのSSDをテストすると、新しいSSDの方が全然安定してる。特にレイテンシー。\n旧SSD、あんまり安定していない 新SSD、安定してる 条件を変えてもっと長く書き込みすると、なるほどテレビ録画といえどもこのSSDにはきつかったのかもしれない、という図が出せる。\n旧SSD、長く書くと10MB/sぐらいまで落ち込むこともある 旧SSDの費用が無駄になった感じがするけど、テレビ自体は悪くなさそうというのがわかっただけでも良しとする。\n","date":1683173373,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683173373,"objectID":"0455d386518c5672001bef58afa6834f","permalink":"https://nobuto-m.github.io/ja/post/2023/1683173373/","publishdate":"2023-05-04T13:09:33+09:00","relpermalink":"/ja/post/2023/1683173373/","section":"post","summary":"SSD-SCT2.0U3BA/Nが15,980円と少し安くなっていたので思い切って買った。","tags":[],"title":"REGZAの録画用ドライブをSSD-SCT2.0U3BA/Nに交換した","type":"post"},{"authors":[],"categories":[],"content":"ゴールデンウィーク開始の土日に、義両親の家に子どもと泊まってその足で観てきた。子どもが映画の予告を見てからずっと観たいと言っていて、GW期間中になることも知っていたので連休のスタートダッシュをきめた感じ。4DXの方が面白いかなと思ったけど、まだ3D用のメガネを上映中ずっとかけてるのは難しいかなと判断し2D上映で。終わった後に歩道橋の上でいきなり立ち止まって「マリオの映画楽しかった」と伝えてくれたのですべて良し。\n","date":1683115334,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683115334,"objectID":"f884a9dc787a03a26341166218ee788f","permalink":"https://nobuto-m.github.io/ja/post/2023/1683115334/","publishdate":"2023-05-03T21:02:14+09:00","relpermalink":"/ja/post/2023/1683115334/","section":"post","summary":"ゴールデンウィーク開始の土日に、義両親の家に子どもと泊まってその足で観てきた。子どもが映画の予告を見てからずっと観たいと言っていて、GW期間中になることも知っていたので連休のスタートダッシュをきめた感じ。4DXの方が面白いかなと思ったけど、まだ3D用のメガネを上映中ずっとかけてるのは難しいかなと判断し2D上映で。終わった後に歩道橋の上でいきなり立ち止まって「マリオの映画楽しかった」と伝えてくれたのですべて良し。","tags":[],"title":"ザ・スーパーマリオブラザーズ・ムービーを観た","type":"post"},{"authors":[],"categories":[],"content":"光クロスを契約した当初は10Gbps対応uplink/downlinkが1つずつ付いたルーターが⽉額550円で借りられるなんて激安だと思ったけど、このXG-100NEは独特の詰まり方をするので耐えられなくなってしまった。\nhttps://gihyo.jp/admin/serial/01/ubuntu-recipe/0706\n未解決の問題として、Androidスマートフォンの画面スリープからの復帰直後にICMP(IPv4)もTCP(IPv6)も問題なく疎通できるのにも関わらず、数分間だけTCP(IPv4)で再送が多発する場合があります。常に再現するわけではなく、しばらく待ったり、Android側でWi-Fiのオンオフ操作をすると即座に直ってしまうため\nこのように書くとMAP-Eのポートが足りなくなってるだけじゃないの、と読めるし、セキュリティログ(IPv4)というところに利用可能なポート無しとも出てくる。確定じゃんと思うけども、不思議なのはクライアント側から送られてくる通信がサーバー側から見えるのでポートの割り当て自体はできているように見えること。あと、クライアントの数が鍵な気がする(15-20台とか)。利用可能なポート無しは常に出ているので限界な状態をさらに超えると発生するのかも。\n時々TCP4通信だけが詰まる原因がわからん。このログ(何を意味するかの説明はない)からするとMAP-Eするときのソースポートが足りてないと言わんとしてそうだけど、特に1,000コネクションも張ってないと思うんだよな。 pic.twitter.com/2Es0GsLdGv\n— Nobuto Murata (@nobuto_m) January 29, 2022 で、発生した場合の通信をよく見てても特にポート枯渇してるようには見えず、TCP Port numbers reusedとTCP Retransmissionが観測されるのでなんとなくNAT/conntrackに相当するところが怪しいけれどもルーター側では詳しいログが出ないので詳細はわからず。\nやっぱり事象が発生するときはボコボコだな。HTTPはその状態でかろうじてなんとかなってもHTTPSはなんとかはならない。 pic.twitter.com/VtaygPYi3a\n— Nobuto Murata (@nobuto_m) February 27, 2022 現象が発生したらクライアント側から再接続しなきゃいけないのが面倒で、しかも再接続した後からは普通に使えてしまう謎。NEC製なので他のメーカーで切り分けしたくてまずは10Gbps対応していない5千円弱のBuffaloルーターを買ってきて取り替えたら現象がまったく発生しない!\nもしかしたらNEC製XG-100NEの方が規格に則った正しい動きということがあるのかもしれないけど、やっぱり現象が発生しない方がいいのでNEC製じゃない10Gbps対応かつOCNバーチャルコネクトにしっかり対応したものを探して最終的にはBuffaloのVR-U500Xを購入。ある程度値段はするものの10Gbps対応ルーターとして長く動いてくれればそれでよし。無線LAN一体型ではないので、アクセスポイントがルーターとは別に選べることがメリットだと思い込むことにします。\n肝心のレンタルルーター解約手続きはお電話のみの対応っぽかったので、オペレーターにつながるまで10分、その後15分ぐらいで手続きは完了。工事扱いになるので工事日にMAP-Eでつながらない時間ができないかだけ心配。\n","date":1683091989,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683091989,"objectID":"4d25e192b98d140ac7ff6c6fe7c1c224","permalink":"https://nobuto-m.github.io/ja/post/2023/1683091989/","publishdate":"2023-05-03T14:33:09+09:00","relpermalink":"/ja/post/2023/1683091989/","section":"post","summary":"光クロスを契約した当初は10Gbps対応uplink/downlinkが1つずつ付いたルーターが⽉額550円で借りられるなんて激安だと思ったけど、このXG-100NEは独特の詰まり方をするので耐えられなくなってしまった。","tags":[],"title":"光クロス対応レンタルルーターの解約申請をした","type":"post"},{"authors":[],"categories":[],"content":"自分が書きたいがために何度目かのマイクロブログを始めてみる。Twitterみたいなサービスが出てきてからそこに書けばいいやってなってしまって、でもやっぱりTwitter以上長文ブログ未満のものが欲しくなって色々なサービスを使うものの結局サービス自体がなくなったりして長続きしない。その間にコツコツと10年以上同じところで書いてる人のものを読むと、映画観に行ったちょっとした感想とかでもなんか充実してるなとうらやましい気持ちになる。ということで私もその時は充実してると認識してなくても、後で見返してなんか充実してたんだなぁという気持ちになれたらいいなと思い書いていく。\nここではある程度続くかもしれないし、続かないかもしれない。今日時点のGitHub Pagesの規約ではこういった使い方は問題なさそうに読めるけど、いざとなったらデータそのままで自分のサーバーに置く予定。\n","date":1683077841,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683077841,"objectID":"fc4de64a7d2180d793ca2796a07cf62c","permalink":"https://nobuto-m.github.io/ja/post/2023/1683077841/","publishdate":"2023-05-03T10:37:21+09:00","relpermalink":"/ja/post/2023/1683077841/","section":"post","summary":"自分が書きたいがために何度目かのマイクロブログを始めてみる。Twitterみたいなサービスが出てきてからそこに書けばいいやってなってしまって、でもやっぱりTwitter以上長文ブログ未満のものが欲しくなって色々なサービスを使うものの結局サービス自体がなくなったりして長続きしない。その間にコツコツと10年以上同じところで書いてる人のものを読むと、映画観に行ったちょっとした感想とかでもなんか充実してるなとうらやましい気持ちになる。ということで私もその時は充実してると認識してなくても、後で見返してなんか充実してたんだなぁという気持ちになれたらいいなと思い書いていく。","tags":[],"title":"マイクロブログ","type":"post"}] \ No newline at end of file + [{"authors":[],"categories":[],"content":" UEFI BIOS上の\u0026#34;Secure Rollback Prevention\u0026#34;の項目 結論として、最近のAMDシステムでは “Secure Rollback Prevention” (BIOS rollback protection)とは別に “AMD Secure Processor Rollback protection” があり、これがベンダー側で有効にされている場合は一旦脆弱性対応を含むUEFI BIOSバージョンに上げてしまうとダウングレード(ロールバック)できなくなる。\nhttps://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.Amd.RollbackProtection\nThis feature prevents an attacker from loading an older firmware onto the part after a security vulnerability has been fixed.\n[…]\nEnd users are not able to directly modify rollback protection, this is controlled by the manufacturer.\n以前BIOSバージョンを1.49に上げたものの、この1.49(R23ET73W)が公式ページから取り下げられてしまっている。何かしらの不具合があったということなので現時点で最新である1.40(R23ET70W)に戻しておきたかったのと、ファームウェアが原因なんじゃないかと思われる症状に悩まされているので色々なバージョンに戻ってテストしたかったので試行錯誤するはめに。\nまずSecure Rollback Preventionをオフにしてから、次のようにfwupdmgrでダウングレードを選択するも再起動時にSecure Flash Authentication Failedで適用されず。\n$ fwupdmgr downgrade 0.\tCancel 1.\tb0fb0282929536060857f3bd5f80b319233340fd (Battery) 2.\t6fd62cb954242863ea4a184c560eebd729c76101 (Embedded Controller) 3.\t0d5d05911800242bb1f35287012cdcbd9b381148 (Prometheus) 4.\t3743975ad7f64f8d6575a9ae49fb3a8856fe186f (SKHynix HFS256GDE9X081N) 5.\td77c38c163257a2c2b0c0b921b185f481d9c1e0c (System Firmware) 6.\t6df01b2df47b1b08190f1acac54486deb0b4c645 (TPM) 7.\t362301da643102b9f38477387e2193e57abaa590 (UEFI dbx) Choose device [0-7]: 5 0.\tCancel 1.\t0.1.46 2.\t0.1.41 3.\t0.1.38 4.\t0.1.36 5.\t0.1.23 Choose release [0-5]: 次にr23uj70wd.isoをダウンロードしてきて起動するも別のエラーで適用できず。\nError\nThe system program file is not correct for this system.\n仕方なくWindowsからも適用を試みるがこれもダメ。このあたりで本当に無理な感じがしてきて、でもなんでダメなのかがよくわからず。そしてfwupdmgrの便利コマンドを知る。\n$ fwupdmgr security Host Security ID: HSI:1! (v1.9.16) HSI-1 ✔ BIOS firmware updates: Enabled ✔ Fused platform: Locked ✔ Supported CPU: Valid ✔ TPM empty PCRs: Valid ✔ TPM v2.0: Found ✔ UEFI bootservice variables: Locked ✔ UEFI platform key: Valid ✔ UEFI secure boot: Enabled HSI-2 ✔ SPI write protection: Enabled ✔ IOMMU: Enabled ✔ Platform debugging: Locked ✔ TPM PCR0 reconstruction: Valid ✘ BIOS rollback protection: Disabled HSI-3 ✔ SPI replay protection: Enabled ✔ CET Platform: Supported ✔ Pre-boot DMA protection: Enabled ✔ Suspend-to-idle: Enabled ✔ Suspend-to-ram: Disabled HSI-4 ✔ Processor rollback protection: Enabled ✔ Encrypted RAM: Encrypted ✔ SMAP: Enabled Runtime Suffix -! ✔ fwupd plugins: Untainted ✔ Linux kernel lockdown: Enabled ✔ Linux kernel: Untainted ✘ CET OS Support: Not supported ✘ Linux swap: Unencrypted This system has HSI runtime issues. » https://fwupd.github.io/hsi.html#hsi-runtime-suffix Host Security Events 2024-05-01 15:06:29: ✘ BIOS rollback protection changed: Enabled → Disabled HSI-2の中でBIOS rollback protectionは意図通りDisabledになっているものの、HSI-4セクションのProcessor rollback protectionはEnabledになっている。色々見てると、ここがDisabledのまま出荷されて、OS Optimized Defaultsを読み込むとEnabledになるものもあるという記述を見つける。\nhttps://github.com/fwupd/fwupd/commit/52d6c3cb78ab8ebfd432949995e5d4437569aaa6\nUpdate documentation to indicate that loading “OS Optimized Defaults”\nmay enable security processor rollback protection on Lenovo systems.\nOS Optimized DefaultsをオフにしたらもしかしたらProcessor rollback protectionもオフになってくれるかも、と試す。\nOS Optimized Defaultsをオフにしてみるも変化なし $ fwupdmgr security Host Security ID: HSI:1! (v1.9.16) ... ✘ BIOS rollback protection: Disabled ... HSI-4 ✔ Processor rollback protection: Enabled ... Host Security Events 2024-05-02 03:24:45: ✘ Kernel lockdown disabled 2024-05-02 03:24:45: ✘ Secure Boot disabled 2024-05-02 03:24:45: ✘ Pre-boot DMA protection is disabled 2024-05-02 03:24:45: ✘ Encrypted RAM changed: Encrypted → Not supported いくつかの項目が無効化されるけれどもProcessor rollback protectionは変わらず、脆弱性対応が含まれていると本当にダウングレードできない。リリースノートにもしっかり書いてあるけど、よくある「ダウングレードはサポートされていないよ」じゃなくて「できないよ」の意味を身を持って理解した。\nhttps://download.lenovo.com/pccbbs/mobiles/r23uj73wd.txt\nCHANGES IN THIS RELEASE\nVersion 1.49 (UEFI BIOS) 1.32 (ECP)\n[Important updates]\nNotice that BIOS can’t be downgraded to older BIOS version after upgrade to r23uj73w(1.49). [New functions or enhancements]\nEnhancement to address security vulnerability, CVE-2023-5058,LEN-123535,LEN-128083,LEN-115697,LEN-123534,LEN-118373,LEN-119523,LEN-123536. Change to permit fan rotation after fan error happen. より完璧なファームウェアアップデートが来るまでこのまま待ちます。\n","date":1714621539,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1714621539,"objectID":"ef31bbb821304fcc7adb315b195b7c0e","permalink":"https://nobuto-m.github.io/ja/post/2024/1714524492/","publishdate":"2024-05-02T12:45:39+09:00","relpermalink":"/ja/post/2024/1714524492/","section":"post","summary":"UEFI BIOS上の\"Secure Rollback Prevention\"の項目 結論として、最近のAMDシステムでは “Secure Rollback Prevention” (BIOS rollback protection)とは別に “AMD Secure Processor Rollback protection” があり、これがベンダー側で有効にされている場合は一旦脆弱性対応を含むUEFI BIOSバージョンに上げてしまうとダウングレード(ロールバック)できなくなる。","tags":[],"title":"T14 Gen 3 AMDではSecure Rollback Preventionを無効化してもUEFI BIOSはダウングレードできない","type":"post"},{"authors":[],"categories":[],"content":" 結局は使わなかった“Import from SlideShare”メニュー 今さらも今さらながら。SlideShareを使い出したのは、当時LinkedInが買収して所有してた時期でなんか継続性が期待できそうとかそんな理由だった気がする(その後Scribdが買収し現在に至る)。\n移行前: https://www.slideshare.net/nobuto_m 移行後: https://speakerdeck.com/nobutomurata 移行にあたって、SlideShareからのインポートツール(Beta)があるのは知っていて、書かれているようにサポートチームにメール出したりして有効にしてもらった。ツールに移行したいURLを入力してボタンを押して数週間待ってみたけど特に何も起こらなかったので、結局は手動で元のPDFをアップロードした。Betaだし、ツールが出てからSlideshare側のUIも変わってる気がするしまあそんなもんかと。そもそも数が多くないので全然困らなかった。\n移行してもいいことばかりというわけではなくて、日本語太字部分のレンダリングがおかしかったり、スライドの中のリンクがクリックできない、という既知の問題には引っかかる。\n日本語太字部分だけ中に色がつかない あとこれを機にSlideShare側でリンクを知っている人のみ公開だったのが2つあったのを全部を公開にした。Ubuntu Phoneのやつとか懐かしい。\nあんまり関係ないけど、ついでにこのサイトのソーシャルメディアアイコンを\u0026#34;twitter\u0026#34;から\u0026#34;x-twitter\u0026#34;にアップデートした。心の中では\u0026#34;X\u0026#34;ではなくて\u0026#34;X Twitter\u0026#34;と呼び続けます。\n","date":1707038813,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1707038813,"objectID":"c8933ad1b4f4f30ce55435155356a011","permalink":"https://nobuto-m.github.io/ja/post/2024/1707038813/","publishdate":"2024-02-04T18:26:53+09:00","relpermalink":"/ja/post/2024/1707038813/","section":"post","summary":"結局は使わなかった“Import from SlideShare”メニュー 今さらも今さらながら。SlideShareを使い出したのは、当時LinkedInが買収して所有してた時期でなんか継続性が期待できそうとかそんな理由だった気がする(その後Scribdが買収し現在に至る)。","tags":[],"title":"SlideShareからSpeaker Deckに移行した","type":"post"},{"authors":[],"categories":[],"content":" 絶望の場面 仕事に使ってるメインのマシンでもnobleの開発版を使ってるんですが、月曜日の昼飯前に再起動かけたら暗号化ドライブの解除パスワードを何度入力しても\ncryptsetup: ERROR: dm_crypt-0: cryptsetup failed, bad password or options?\nと言われてしまってデスクトップまでたどり着けない。何かしらのリグレッションで暗号化ドライブのヘッダが壊れたのではと思い、これは再インストールしてバックアップから切り戻すしかないのではと絶望。簡単にできるようにしてあるとは言え1時間以上はかかるので。\nすぐには諦めきれなかったのでまずはUSBメモリでUbuntuのLive sessionを立ち上げると、暗号化ドライブがあっさりマウントできてしまった。ということはドライブ自体が破損しているわけではないので、パッケージのリグレッションで暗号化が解除できない状況に陥っているのでは、と/var/log/apt/history.logとにらめっこ。いかんせん開発版なので、前回正常に起動できたときからのアップデートはバイナリパッケージの単位で412個。それなのに、cryptsetupとかそれっぽいパッケージのアップデートはないし、カーネルを一個前のにしてもダメ。かろうじてlibgcrypt20というinitramfsにも入る、かつcrypt関連のパッケージのアップデートがあったので、これをダウングレードしてみることに。\nUSB起動中に、元のマシンのinitramfsの再生成ってどうやるんだっけと調べつつ\n$ sudo cryptsetup open /dev/nvme0n1p3 dm_crypt-0 $ sudo mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt $ sudo mount /dev/nvme0n1p2 /mnt/boot $ sudo mount /dev/nvme0n1p1 /mnt/boot/efi $ for name in proc sys dev run; do sudo mount --bind /$name /mnt/$name done $ sudo chroot /mnt/ という感じでDebian Wikiを見ながらchrootした。ここでの鍵はopenするときにdm_crypt-0という名前でなければ後々不都合があり、なぜならそれは/etc/crypttabにdm_crypt-0と書かれているから。ただ、crypttabはopenした後にしか読めないので名前を覚えてなくて何回かやり直した。\nここまでくればパッケージのダウンロードやダウングレードも簡単で、initramfsの再生成も\n$ sudo update-initramfs -u -k all とするだけ。\nでも再起動しても問題は解決していない。。。libgcrypt20が違うんだったら412個全部のパッケージをダウングレードして切り分けするのもしんどいので諦めようかと思ったそのとき、ネット上でリカバリーモード(シングルユーザーモード)なら解除できる時あるよっていう情報を見かけて、そんなはずはないでしょと思ってリカバリーモードで起動したら解除できた!crypt関連のモジュール関係ないじゃん!Plymouthじゃん!そこは考えてなかったよ!\nということで/etc/default/grubからsplashを除いてPlymouthなしで起動するようにして応急処置完了。\nただ、重要そうな問題のような気がしたので再現環境を作りたかったけど、シンプルなパスワードを設定すると100%解除に成功してしまって再現できない。何がトリガーなのかよくわからないまま、PlymouthをダウングレードしてPlymouthのリグレッションであることを確認したりしていた。\nふと、Yubikeyがコンマ何秒の間に30文字以上を一気にタイプするからではと思い、Yubikeyを再フォーマットしてクリーンな状態でやったら無事再現できた。ただここで自分のYubikeyの使い方に関して補足しておくと、LUKSのパスフレーズ打つときにYubikeyから出力される文字列だけで解除しているわけではなくて(それだとYubikeyとノートPCを強奪されたらだれでも解除できちゃうので)、自分でパスフレーズを手打ちしてそれを打ち終わったらYubikeyのボタンをタッチして続けて打ち込む、という一つのパスフレーズボックスでなんちゃって二要素認証っぽいことにしている。\n自分で打った文字列 + Yubikeyから出力される文字列(30文字以上) + \u0026lt;ENTER\u0026gt; もうちょっとちゃんとやるなら毎回同じ文字列をYubikeyから出すんじゃなくて、Challenge-response形式にするyubikey-luksとかを使うのもあるけど今のところは固定文字列で落ち着いてる。\nとにかく再現手順がはっきりしたのでupstreamへ。\n“Typing passphrase pretty quickly using Yubikey fails to unlock a LUKS partition”\nhttps://gitlab.freedesktop.org/plymouth/plymouth/-/issues/243\nそこでありがたいことにこのコミットで直った問題じゃない?って教えてくれて、\nThat leads to keystrokes getting eaten.\nThis commit makes the terminal more careful about setting the keyboard mode. It now only changes it when plymouth thinks its necessary to do so.\nコミットメッセージ見てもキーストロークがどっかいっちゃうってのは納得。\nカーネルパラメーターにplymouth.debugつけて/var/log/plymouth-debug.logを提供したら色々フィードバックをくれて、今のところの理解だと、\nsplashをつけなければPlymouthがそもそも使われないので回避される 23.360.11じゃなくて24.004.60なら今回の問題(リグレッション)が修正されているので問題なくなる UbuntuとかDebianがまだinitramfsに入れてない/usr/share/X11/xkbを入れるようにすれば、今までのvt consoleじゃなくてxkb consoleを使うようになるからそれでも回避される ちなみにdownstreamレポートはここ。\nhttps://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/2051478\nそれにしてもPlymouth高機能になりすぎててすごい。\n","date":1706798132,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1706798132,"objectID":"2cdcb294e4c9fb55f76dcbdd4be2b2d7","permalink":"https://nobuto-m.github.io/ja/post/2024/1706798132/","publishdate":"2024-02-01T23:35:32+09:00","relpermalink":"/ja/post/2024/1706798132/","section":"post","summary":"絶望の場面 仕事に使ってるメインのマシンでもnobleの開発版を使ってるんですが、月曜日の昼飯前に再起動かけたら暗号化ドライブの解除パスワードを何度入力しても","tags":[],"title":"突然LUKS(dm-crypt)起動ドライブの暗号化が解除できなくなった話","type":"post"},{"authors":[],"categories":[],"content":"何度かやったことはあるけど、やる度にgeteltoritoというコマンド名を思い出せないのでそのためのメモ。\nThinkPad T14 Gen 3 AMD (21CFCTO1WW)にBIOS/UEFIアップデートR23ET73W(1.49)が来ていたけども、fwupdでは上手く当たらなかった。\n$ fwupdmgr update ... firmware signature missing or not trusted; set OnlyTrusted=false in /etc/fwupd/daemon.conf ONLY if you are a firmware developer いろいろなところで報告されていて、しばらくしたら解決済みステータスになった。\nhttps://forums.lenovo.com/t5/Ubuntu/Ubuntu-23-10-21CH004XGE-upgrade-to-r23ul73w-1-49-firmware-signature-missing-or-not-trusted/m-p/5281458 https://github.com/fwupd/fwupd/issues/6646 https://github.com/fwupd/fwupd/issues/6647 ただ現時点では該当のアップデートはまた消されていて入手不可になっているので、もう少し必要な作業があるみたい。\nhttps://fwupd.org/lvfs/devices/com.lenovo.ThinkPadR23ET.firmware この狭間のタイミングでアップデートしようとしてるうちに、「アップデートの適用に失敗」のステータスだけれども、起動後には1.46ではなく1.49が動いているという気持ち悪い状態になってしまった。\n$ fwupdmgr get-history LENOVO 21CFCTO1WW │ └─System Firmware: │ Device ID: d96de5c124b60ed6241ebcb6bb2c839cb5580786 │ Previous version: 0.1.46 │ Update State: Failed │ Update Error: failed to run update on reboot │ Last modified: 2024-01-10 01:07 │ GUID: e40809b1-7d9f-4dc4-7c0f-8ace63b43687 │ Device Flags: • Internal device │ • Updatable │ • System requires external power source │ • Needs a reboot after installation │ • Reported to remote server │ • Cryptographic hash verification is available │ • Device is usable for the duration of the update │ └─(null) Update: New version: 0.1.49 License: Unknown Description: The vendor did not supply any release notes. なので念のためLenovoの「BIOS アップデートユーティリティ (起動CD用)」のr23uj73wd.isoを使って、再度アップデートを適用した。\n手順としては、genisoimageパッケージにあるgeteltoritoコマンドを使って、CDイメージから最初に見つかったブートイメージを抽出。\n$ isoinfo -i r23uj73wd.iso -d CD-ROM is in ISO 9660 format System id: Volume id: R23UJ73WD Volume set id: Publisher id: Data preparer id: Application id: NERO BURNING ROM VER 12,5,5,0 Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 23734 El Torito VD version 1 found, boot catalog is in sector 20 Joliet with UCS level 3 found NO Rock Ridge present Eltorito validation header: Hid 1 Arch 0 (x86) ID \u0026#39;NERO BURNING ROM VER 12\u0026#39; Key 55 AA Eltorito defaultboot header: Bootid 88 (bootable) Boot media 4 (Hard Disk Emulation) Load segment 7C0 Sys type 6 Nsect 1 Bootoff 1B 27 $ geteltorito -o r23uj73wd.img r23uj73wd.iso Booting catalog starts at sector: 20 Manufacturer of CD: NERO BURNING ROM VER 12 Image architecture: x86 Boot media type is: harddisk El Torito image starts at sector 27 and has 94208 sector(s) of 512 Bytes Image has been written to file \u0026#34;r23uj73wd.img\u0026#34;. このディスクイメージをUSBメモリなどにコピーして起動する。セキュアブートには対応していないので、適用時は一時的に無効化しておく。\n$ file r23uj73wd.img r23uj73wd.img: DOS/MBR boot sector; partition 1 : ID=0xb, active, start-CHS (0x0,1,1), end-CHS (0x2d,63,32), startsector 32, 94176 sectors $ sudo dd \\ if=r23uj73wd.img \\ of=/dev/disk/by-id/usb-PATH-TO-USB-DRIVE-0\\:0 \\ bs=4M oflag=direct,sync status=progress 難しいのはコマンド名を思い出すことだけ。\n","date":1705134429,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1705134429,"objectID":"57e5893436175487d639601731c12a73","permalink":"https://nobuto-m.github.io/ja/post/2024/1705134429/","publishdate":"2024-01-13T17:27:09+09:00","relpermalink":"/ja/post/2024/1705134429/","section":"post","summary":"何度かやったことはあるけど、やる度にgeteltoritoというコマンド名を思い出せないのでそのためのメモ。","tags":[],"title":"ThinkPad T14 Gen 3 AMDのBIOSを1.49/1.32(R23ET73W)に上げる","type":"post"},{"authors":[],"categories":[],"content":"Ubuntu開発版のインストールイメージのスナップショットが置いてある“daily-live”を使う人はほぼいないと思うけど(正式版でもないし)、昨年末ぐらいからまた画面が真っ白になっちゃう問題が発生しているみたい。\nhttps://bugs.launchpad.net/ubuntu-desktop-installer/+bug/2043915 https://github.com/canonical/ubuntu-desktop-installer/issues/2391 https://github.com/canonical/ubuntu-desktop-installer/issues/2407 インストーラーを起動しても画面が真っ白 エラーとしてはLibGLまわりで、snap化されてるFlutterアプリケーションで起こっているみたい。\n$ ubuntu-desktop-installer (ubuntu_desktop_installer:10370): Gtk-WARNING **: 07:10:37.648: /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-ibus.so: undefined symbol: ibus_input_context_set_post_process_key_event (ubuntu_desktop_installer:10370): Gtk-WARNING **: 07:10:37.648: Loading IM context type \u0026#39;ibus\u0026#39; failed libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: radeonsi libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: radeonsi libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast ** (ubuntu_desktop_installer:10370): WARNING **: 07:10:37.791: Failed to start Flutter renderer: Unable to create a GL context ** (ubuntu_desktop_installer:10370): WARNING **: 07:10:40.793: Unable to retrieve framework response: No engine to send to これといった回避策はなくて、23.10をインストールしてからdo-release-upgrade -dすればインストール直後だしすぐにnoble開発版に追いつけるんだけどまあちょっと無理やり動かしてみたメモ。たぶん今後一切使うことがないと思う。\nインストーラーを一旦終了する Liveセッションを立ち上げると、画面の真ん中に真っ白なウィンドウが出てきて何もできないので、まずはこのインストーラーを終了する。ウィンドウが閉じられればよくて、Alt + F4とか、Alt + Spaceでメニューを出してCloseを押すとかそんな感じ。\nFlutterのインストール 次にFlutterのインストール。Snap版とそうじゃない2パターンがドキュメントにあって今回はSnap版じゃない方を使う。CIでもSnap版使ってなさそうですし。\nhttps://github.com/canonical/ubuntu-desktop-installer/blob/4edfab2b3cd4fb18ab95c79ffa16040fa57449b9/.github/workflows/installer.yaml#L31-L35\n- name: Install Flutter uses: subosito/flutter-action@v2 with: channel: \u0026#39;stable\u0026#39; flutter-version: ${{env.FLUTTER_VERSION}} ちなみにインストールするバージョンは最新では自分で色々と変更する必要がありそうで、インストーラーが想定している3.10.6を明示的に使う。\nhttps://github.com/canonical/ubuntu-desktop-installer/blob/4edfab2b3cd4fb18ab95c79ffa16040fa57449b9/snap/snapcraft.yaml#L130-L132\nflutter-git: source: https://github.com/flutter/flutter.git source-tag: 3.10.6 インストール手順としてはFlutterの公式ドキュメントのMethod 2: Manual installationを少し変えて\nhttps://docs.flutter.dev/get-started/install/linux#method-2-manual-installation\nsudo apt update sudo apt install git wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.10.6-stable.tar.xz tar xf flutter_linux_3.10.6-stable.tar.xz export PATH=\u0026#34;$PATH:`pwd`/flutter/bin\u0026#34; とした後に、flutter doctorでインストール自体ができてるかの確認。\n$ flutter doctor ┌─────────────────────────────────────────────────────────┐ │ A new version of Flutter is available! │ │ │ │ To update to the latest version, run \u0026#34;flutter upgrade\u0026#34;. │ └─────────────────────────────────────────────────────────┘ ... Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.10.6, on Ubuntu Noble Numbat (development branch) 6.5.0-9-generic, locale C.UTF-8) [✗] Android toolchain - develop for Android devices ✗ Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, please use `flutter config --android-sdk` to update to that location. [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✗] Linux toolchain - develop for Linux desktop ✗ clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ ✗ CMake is required for Linux development. It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/ ✗ ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases ✗ pkg-config is required for Linux development. It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/ [!] Android Studio (not installed) [✓] Connected device (1 available) [✓] Network resources ! Doctor found issues in 4 categories. ... Linux toolchainのところで足りないものがあるよと言われるので、これもまた公式ドキュメントのLinux prerequisitesの通り\nhttps://docs.flutter.dev/get-started/install/linux#linux-prerequisites\nsudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev とすれば、flutter doctorでインストール自体とLinux toolchainのところのチェックが通るようになる。\n$ flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.10.6, on Ubuntu Noble Numbat (development …","date":1704727518,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1704727518,"objectID":"45c4409e0ff41ebe22e864ee105e6b98","permalink":"https://nobuto-m.github.io/ja/post/2024/1704727518/","publishdate":"2024-01-09T00:25:18+09:00","relpermalink":"/ja/post/2024/1704727518/","section":"post","summary":"Ubuntu開発版のインストールイメージのスナップショットが置いてある“daily-live”を使う人はほぼいないと思うけど(正式版でもないし)、昨年末ぐらいからまた画面が真っ白になっちゃう問題が発生しているみたい。","tags":[],"title":"表示されないFlutter版ubuntu-desktop-installerをgit版で無理やり動かす","type":"post"},{"authors":[],"categories":[],"content":"クレジットカードに続いて、銀行口座もまとめてみる。口座ぐらいはしっかり管理できていたと思ってたけど意外に把握できていなかったので、現時点で整理した結果の自分用まとめ。クレジットカードと別ページじゃなくて一本化するのが筋な気もするので改善の余地は大いにあり。\n目次 三菱UFJ銀行(メイン) 自動積立の停止と解約 別支店の口座からの預金の引き上げ 横浜銀行 ソニー銀行 三井住友銀行 ゆうちょ銀行 名古屋銀行 現時点のまとめ 三菱UFJ銀行(メイン) 三菱UFJ銀行 総合口座 UFJ銀行時代(合併されて三菱東京UFJ銀行になる前かつすでに東海銀行ではなかった時代)に自分で作った口座。UFJを選んだ理由は、支店が通学路上にあってATMが使いやすかったとかそんなような理由だった気がする。わざわざ2つの支店で口座を作成して、1つを入金と引き落とし用の玄関口座、もう1つをまとまったお金ができたときに移動しておく用みたいな感じで最初は作成。さらに月々決まった額を貯金するために自動つみたて定期預金を設定していた。\n整理前の状況。点線になっている口座が整理対象。 総合口座の中の定期預金を使っているのは、普通預金の残高が一時的に足りなくてもクレジットカードの引き落としが失敗しないように自動借り入れを有効にするため。昔は2つの支店間で振替してたり引き落としのタイミングなんかで発動することがあったけど、今となっては特に意味はなし。\n今はだいぶシンプルになった優遇条件で、給与の受け取りに使っていれば他行宛ての振り込み手数料が月3回まで無料になる。Eco通帳(インターネット通帳)に移行済みなので、手元の通帳は定期預金のページを除いて使えなくなっている。\n自動積立の停止と解約 今回まずは自動積立を停止して、これまで積み立てた定期預金を普通の口座に戻す作業をした。自動つみたて定期預金の月々の積立設定の停止と直近1年未満分の定期預金の解約はインターネットバンキングで問題なく操作できる。問題だったのはおまとめ定期口内の定期預金の解約。解約手続きの時に出てきたエラーは次の通り。\n選択した定期預金口座は、通帳が発行されていないため、お取り扱い できません。(D06-010-041)\nご不明な点は、インターネットバンキングヘルプデスク […] までお問い合わせください。\nこのおまとめ口に最初から通帳が発行されているのが普通なのかどうかはよくわかんないけど、電話をかけると窓口でしか手続きできないとのこと。で、予約を取って窓口に行くとすでに自分の状況をまとめた資料みたいなのがあって、それを見ながらおまとめ口を通常の定期預金扱いに変更して通帳を発行してくれた。窓口で定期預金の解約まで手続きすることもできたけども、時間かかりそうだったので帰ってきてからインターネットバンキングで残りの作業を完了させた。不思議だったのは来店予約で確保できる枠は1週間以上先で、予約して行ったのに特に当日枠よりも優先されている感じはなかった。\n別支店の口座からの預金の引き上げ 前は2つの支店の口座を使い分けていたけどもあまり意味がなくなってきたので、サブとして使ってきた口座の残高をゼロにした。昔に作った口座なので現時点では未利用口座管理手数料はかからないけども、将来的にはこの口座は廃止した方がいいかなと。\n横浜銀行 横浜銀行 総合口座 住宅ローンを組む時に色々な条件を加味した上で、縁もゆかりもないけど不動産屋の提携先の横浜銀行にした。50歳未満の場合は他行宛ての振込手数料無料とかもないので、ローン返済するだけの口座。定期的にメインの口座からこの口座に残高を振り込みで補充している。Web口座という扱いなので通帳は発行されていない。\nソニー銀行 円預金 外貨預金 投資信託/NISA口座 デビットカードのSony Bank WALLETを持つにあたって開設した。三菱UFJでやっていた自動積立の代わりにおまかせ入金サービス(定額自動入金)を使って毎月一定額をメインの三菱UFJの口座から移してソニー銀行内で積立設定している。\nペーパーレス口座なので通帳は発行されていない。\n三井住友銀行 三井住友銀行 総合口座 メガバンクの中で三菱UFJだけに依存してるといけないかなとある日思ったのと、三井住友カードでANAスーパーフライヤーズカードを作るなら三井住友系に統一した方がいいのかなと2018年に作った口座。Oliveが登場する前で他行宛て振込手数料が無料になるような優遇はなかったので、給与の振込口座やクレジットカードの引き落としに使うことはなく結局メインで使う口座にならなかった。Oliveに移行するとクレジットカードがもう1枚発行されてしまうし、活用しなければ将来的に未利用口座管理手数料の対象に生することになるので口座自体を廃止するかどうか決めかねている。\nWeb通帳なので通帳は発行されていない。\nゆうちょ銀行 ゆうちょ銀行 総合口座 ゆうちょ銀行からはすでに預金を引き上げ済みで残高はゼロだと思っていたのに、念のためATMで記帳してみたらしっかりと残高があって今回一番びっくりしたところ。今は亡き祖父母から税理士の指導の元ありがたく生前贈与されたお金なので、結婚費用などで全部使ったと思い込んでいた。\n手元には銀行印と通帳、キャッシュカードがあったので段階を踏んで\n通帳のみを使ってATMで記帳して残高を確認 ゆうちょダイレクトの新規利用申込み 名前、生年月日、メールアドレス(新規登録するもの)、口座情報の入力 登録済みの電話番号へ「ご本人様確認コード」の送信 という形でインターネットバンキングが使えるようになるはずだったのだがここでエラー。\nエラーが発生しました! 口座にご登録の電話番号に問題があるため、お取扱 できませんでした。\n市外局番の登録がない場合や桁数に誤りがある場合、ご本人様確認コードを通知できません。\nゆうちょATMで登録されている電話番号をご確認・変更の上、再度お手続きください。\nエラー種別 P692\nここでもう一度ATMへ行き、今度はキャッシュカードと暗証番号を使って電話番号の変更手続き。状況としては登録の電話番号に問題があったわけではなくて、そもそも電話番号が何も登録されていなかったのでATMで現在の電話番号を登録。\nで、帰ってきてからゆうちょダイレクトを使えるようにしたけど、今度は1日あたりの送金限度額に引っかかる。結局のところ、窓口に行けば手数料はかかるものの一度でお金を振り込みできるので窓口に出向く。\nただ、休眠していた口座なので窓口でもすぐには振り込みできず、\n住所変更 印鑑デジタル登録 口座の用途登録、反社会的勢力ではないことの表明書類への署名 など複数の書類手続きをやってもらって、40分ぐらいで振り込み処理までやってもらった。\n郵便局でいつでも窓口が使えるのはいいけども、あまり便利なところを見出だせないので将来的には廃止かなと。\n名古屋銀行 ここには残高がないはず、なんだけどそう言っててゆうちょは残高があったりしたので一応は確認しておきたいけど、インターネットバンキングにはログインできないし初回登録もエラーになるし、帰省したときにATMで記帳してみるしかなさそう。\n現時点のまとめ 現時点で状況が不明な名古屋銀行を除き、ひとまずは次の図のように整理した。世の流れとして、銀行側は使われていない口座を徐々に廃止したいだろうし特に紙の通帳は印紙税の関係でどんどんなくしたいだろうし、使っていない口座は解約していきたいけども解約も手続きが面倒そうで躊躇している段階。\n点線になっている口座は残高ゼロにしてある ","date":1703205652,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1703205652,"objectID":"77a64bb3cda57285254ec00765fdde0b","permalink":"https://nobuto-m.github.io/ja/post/2023/1703205652/","publishdate":"2023-12-22T09:40:52+09:00","relpermalink":"/ja/post/2023/1703205652/","section":"post","summary":"クレジットカードに続いて、銀行口座もまとめてみる。口座ぐらいはしっかり管理できていたと思ってたけど意外に把握できていなかったので、現時点で整理した結果の自分用まとめ。クレジットカードと別ページじゃなくて一本化するのが筋な気もするので改善の余地は大いにあり。","tags":[],"title":"使っている銀行口座まとめ 2023冬","type":"post"},{"authors":[],"categories":[],"content":" 現状がベストの感じが全然しないので、たぶん誰の参考にもならない気がする。ので自分用のメモとして。\n方針はシンプルに次の通り。\n細かい使い分けをしたくないので、枚数はなるべく少なく 目先の高還元率に惑わされない 目次 メイン - ANAスーパーフライヤーズ 付帯カード サブ - MUFGカード Suicaオートチャージ用 - ビックカメラ Suicaカード 海外ATM用デビットカード Sony Bank WALLET Wise まとめ メイン - ANAスーパーフライヤーズ ANAスーパーフライヤーズ ゴールドカード VISA 一時期海外出張に頻繁に行っていた時に作ったカード。子どもを持ってからは海外出張の数もなるべく抑えめにしているのであまり意味もないような気がするけれども、とりあえずこれに全部寄せてマイルに変換している。\n年会費24,750円(本人16,500 + 家族1名8,250)と高い。マイルに変換する時のレートのためにゴールドにしているけれども、将来的なステータス維持のためだけだったら家族会員を解約してさらにゴールドじゃない一般カードに戻して、別のクレジットカードをメインにすべきな気がするぐらい気持ちは揺らいでいる。以前は「マイ・ペイすリボ」を登録してさえいればリボ払いを使わなくても年会費が安くなる制度があったがそれも廃止されている。\n注意点としてはANAの名を冠して海外出張や海外旅行で使えます感が出てますが、発行会社は三井住友カードで、海外で「一部のお取引で、不正利用から守るため利用を停止」されたり、店によって使えなかったりするのがちょこちょこ発生するのでこれ1枚で海外行くのは危険。このメインカードが使えなかった場合でもサブは使えるので、三井住友カードは積極的にブロックしにいく方針っぽい。海外出張時に事前にコールセンターに電話して制限がかかりにくくしておく、とかあるのかもしれないけど、そんなことは一々やってられない。\n提携カード扱いなので三井住友カードの高還元率キャンペーンも対象外だけれども、ANAカード独自のポイント還元が多少はある。\n付帯カード ETCカード 年会費550円(1年間に1回以上ETC利用のご請求があれば無料) JR東海エクスプレス予約サービス(プラスEX会員) 年会費1,100円 昔は年会費無料のスマートEXなんてなかったし、プラスEXがエクスプレス予約に統合されて年会費が上がったのも含めお得感が薄れてきたのでエクスプレス予約は解約予定。\nサブ - MUFGカード MUFGカード ゴールド MasterCard メインの三井住友カード以外の発行会社、かつVISAとは別の国際ブランドとして持っておくための予備カード。これもゴールドにしているのは利用限度額をメインと同じぐらいに維持して、万が一のために機能させるため。\n年会費2,095円(本人2,095 + 家族1名0)。\nSuicaオートチャージ用 - ビックカメラ Suicaカード ビックカメラ Suicaカード Visa 年会費524円だけれども、オートチャージを含む年1回の利用があれば無料。\n以前はキャッシュカード一体型のスーパーICカードSuica 三菱UFJ-VISAを使っていたけどもサービス終了になってしまったので乗り換え先を探し、唯一年会費が無料になる可能性があるビックカメラSuicaカードに。\n海外ATM用デビットカード ここ数年はまったく現金を持たずに海外出張を完了させることもあるけども、国によっては現金を持っていないと立ち行かないので現地ATMから引き出している。今までは三井住友銀行キャッシュカード一体型のVISAデビットを使っていたけど、おそらくOliveに統合する前段階として新規受付を停止しているし、海外ATMを使うときは、\n所定のレート Visaの定める為替レート 海外事務手数料 3.05% ATM利用手数料 110円 海外ATM設置機関所定の手数料 みたいに色々なものが乗っかってくる。このあたりが少しだけマシになるかなという目論見で、2つ選択肢を用意してある。\nSony Bank WALLET ANAマイレージクラブ / Sony Bank WALLET VISA\n海外ATMで現地通貨を引き出す場合 ソニー銀行為替コスト 事務処理経費 1.79% 海外ATM利用料 220円(対象通貨の口座がない場合のみ発生。ステージによって無料枠あり。) 現地ATM設置機関利用手数料 Wise Wise MasterCard\nカード取得時初回 1,200円 ATMからの出金 両替手数料 0.62%ぐらい ATMからの出金手数料 1.75% + 1回あたり70円(月2回かつ手数料を含む合計3万円までの無料枠あり) 現地ATM設置機関利用手数料 まとめ 海外でクレジットカードを使う時の事務処理手数料 2.20%を嫌って、手数料が安くなるどちらかのデビットカードを常に使うっていう選択肢もあるけど、クレジットカードのポイント還元がされなくなる分差額は微妙なところ。\n結局はメインのカードをどこにするかがすべてて、それ以外は誤差程度な気がする。\n","date":1702951481,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1702951481,"objectID":"3f7b23d1cf9b5476b68f2ede319138b5","permalink":"https://nobuto-m.github.io/ja/post/2023/1702951481/","publishdate":"2023-12-19T11:04:41+09:00","relpermalink":"/ja/post/2023/1702951481/","section":"post","summary":"現状がベストの感じが全然しないので、たぶん誰の参考にもならない気がする。ので自分用のメモとして。","tags":[],"title":"使っているクレジットカードまとめ 2023冬","type":"post"},{"authors":[],"categories":[],"content":"世間的にはお盆休みの期間だけど、特にお盆休みは取ってなくて子どもにも保育園に行ってもらっている。ただ気分だけでも色々味わってもらおうと、このところ週末にちょこちょこ子どもを連れ出している。\n屋外だと気温が高すぎるので、例えば文京シビックセンターの展望ラウンジに行ってみたり、商業施設内でのいくら以上のレシートを見せることで夏祭りの輪投げみたいな体験ができるやつをやってもらったり、ソフトクリームを食べに行ったり。\n文京シビックセンターからの眺め。無償開放されているのも良い。 3連休だった最後は手持ち花火を。公園とかも基本花火禁止で家の近くだとどこもできそうにないので思い切って軒先で。事前に煙少なめタイプを買って、外が雨なら煙もご近所にいかないと踏んで、わざわざ雨降り始めてからやった。煙少なめと通常タイプは目に見えて違いがあって、無事に子どもの人生初花火が完了しました。小学生とかになるとこんな規模では満足してくれないのかもだけど。\nささやかな花火 ","date":1692017377,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1692017377,"objectID":"abbf01f393519ce1dedd92013eb850c3","permalink":"https://nobuto-m.github.io/ja/post/2023/1692017377/","publishdate":"2023-08-14T21:49:37+09:00","relpermalink":"/ja/post/2023/1692017377/","section":"post","summary":"世間的にはお盆休みの期間だけど、特にお盆休みは取ってなくて子どもにも保育園に行ってもらっている。ただ気分だけでも色々味わってもらおうと、このところ週末にちょこちょこ子どもを連れ出している。","tags":[],"title":"ミニミニ花火をした","type":"post"},{"authors":[],"categories":[],"content":"今まではカバンの中に60W出力のAUKEY PA-D4とこれまたAUKEYの円筒形5000mAhモバイルバッテリーの組み合わせだったけども、スマホを充電するときに結構な電力を引っ張るからかモバイルバッテリーが熱くなってさらにLEDが赤点滅して充電が止まってしまう場面がちらほら出てきた。\nAUKEY PA-D4 60W 126gと5000mAhモバイルバッテリー 135gの合計で261g なので前から気になってたACアダプタとモバイルバッテリーが一体になっているAnker 521 Power Bank (PowerCore Fusion, 45W)をセールで7,190円になってたときに購入した。出力は前のセットと比べて60Wから45Wに落ちてしまうけども、全体の重量としては52g軽くなった。\nAnker 521 Power Bank 45Wは209g 単体で200g超はずっしり感があるけども、モバイルバッテリー部分が自動で充電されて充電忘れがなくなったのでよし。\n","date":1691725878,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1691725878,"objectID":"d7c3272263ea5651214d782300edde26","permalink":"https://nobuto-m.github.io/ja/post/2023/1691725878/","publishdate":"2023-08-11T12:51:18+09:00","relpermalink":"/ja/post/2023/1691725878/","section":"post","summary":"今まではカバンの中に60W出力のAUKEY PA-D4とこれまたAUKEYの円筒形5000mAhモバイルバッテリーの組み合わせだったけども、スマホを充電するときに結構な電力を引っ張るからかモバイルバッテリーが熱くなってさらにLEDが赤点滅して充電が止まってしまう場面がちらほら出てきた。","tags":[],"title":"USB充電器セットを買い替えた","type":"post"},{"authors":[],"categories":[],"content":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった。7話、6話とどちらもコンパクトな作りなのに観終わるまで数年かかってしまった。話題になって第1話を観てみてお気に入りに入れたまま数年というものがよくある。休日に一気見は子どもとの関連でなかなか難しく、平日の夜に寝る前に一話ってのもこれはこれで難しく。今回は飛行機の中に持ち込んでうまくいった。\n『ブレイキング・バッド』なんていつ観終わることやら。\n","date":1691722369,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1691722369,"objectID":"8a0f036f267f7ca788c3908a9cfa94dc","permalink":"https://nobuto-m.github.io/ja/post/2023/1691722369/","publishdate":"2023-08-11T11:52:49+09:00","relpermalink":"/ja/post/2023/1691722369/","section":"post","summary":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった。7話、6話とどちらもコンパクトな作りなのに観終わるまで数年かかってしまった。話題になって第1話を観てみてお気に入りに入れたまま数年というものがよくある。休日に一気見は子どもとの関連でなかなか難しく、平日の夜に寝る前に一話ってのもこれはこれで難しく。今回は飛行機の中に持ち込んでうまくいった。","tags":[],"title":"『クイーンズ・ギャンビット』と『ボディガード -守るべきもの-』を観終わった","type":"post"},{"authors":[],"categories":[],"content":"TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。\n{ \u0026#34;acls\u0026#34;: [ // Allow all connections. // Comment this section out if you want to define specific restrictions. {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;*\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, ], } 一応手元のデバイスだけはtailscale up --shields-upでどこからもアクセスを受け付けないようにしてたし、仮にポートが空いていても認証が必須にはなっていた。ただ、人にTailscaleのデバイス共有機能と別途SSHの鍵認証でログインを許可することがあり、ログインするとそのデバイスが紐付いているTailscaleアカウント(私のアカウント)内の全デバイスに(ネットワーク的に)アクセスできてしまう。もちろん信頼できる人にしかログインさせていないけれども、これを機にACLを設定した。特筆することはなくドキュメント通り。\nSyntax reference Tags reference Tests reference Examples まずはデバイスを3つタグにグループ分け。\ntag:client - 手元のノートPC tag:server - 検証用マシンなど tag:scraper - Prometheusを動かしているマシン { // Define the tags which can be applied to devices and by which users. \u0026#34;tagOwners\u0026#34;: { \u0026#34;tag:client\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], \u0026#34;tag:server\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], \u0026#34;tag:scraper\u0026#34;: [\u0026#34;autogroup:admin\u0026#34;], }, } ACLは初期ルールをコメントアウトするとデフォルトが全拒否になるので、必要なルールだけ追加。この場合は、手元のノートPCからは全マシンに全許可、Prometheusからはserverタグが付いたマシンのNode exporter用9100ポートのみ許可。serverタグ用のルールは存在しないのでこのタグのマシンはどこへもアクセスできない。\n{ // Define access control lists for users, groups, autogroups, tags, // Tailscale IP addresses, and subnet ranges. \u0026#34;acls\u0026#34;: [ // Allow all connections. // Comment this section out if you want to define specific restrictions. //{\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;*\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;tag:client\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;*:*\u0026#34;]}, {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;tag:scraper\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;tag:server:9100\u0026#34;]}, {\u0026#34;action\u0026#34;: \u0026#34;accept\u0026#34;, \u0026#34;src\u0026#34;: [\u0026#34;autogroup:shared\u0026#34;], \u0026#34;dst\u0026#34;: [\u0026#34;tag:server:*\u0026#34;]}, ], } tag:scraperのプレビュー ルール数が最小なので、テストを書くのも簡単。\n{ // Test access rules every time they\u0026#39;re saved. \u0026#34;tests\u0026#34;: [ { // clients can access anywhere \u0026#34;src\u0026#34;: \u0026#34;tag:client\u0026#34;, \u0026#34;accept\u0026#34;: [\u0026#34;tag:server:22\u0026#34;, \u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;], }, { // scraper can only access to servers with port 9100 \u0026#34;src\u0026#34;: \u0026#34;tag:scraper\u0026#34;, \u0026#34;accept\u0026#34;: [\u0026#34;tag:server:9100\u0026#34;], \u0026#34;deny\u0026#34;: [\u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;, \u0026#34;tag:server:22\u0026#34;], }, { // servers cannot access anywhere \u0026#34;src\u0026#34;: \u0026#34;tag:server\u0026#34;, \u0026#34;deny\u0026#34;: [\u0026#34;tag:client:22\u0026#34;, \u0026#34;tag:server:22\u0026#34;, \u0026#34;tag:scraper:22\u0026#34;], }, ], } これでデバイスを共有してログインしてもらったとしても、アカウント内の全デバイスへのネットワークアクセスまで許可することはなくなった。\n","date":1690694899,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1735196095,"objectID":"a8a4566ee8e7d749f24893e8a95e8104","permalink":"https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/","publishdate":"2023-07-30T14:28:19+09:00","relpermalink":"/ja/post/2023/configure-tailscale-acl/","section":"post","summary":"TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。","tags":[],"title":"TailscaleのACLを設定した","type":"post"},{"authors":[],"categories":[],"content":"Raspberry Pi 2Bの代用として買ったNucBox3を数週間運用してて、ある程度いい感じに動いてくれてると思ってたけど急に手がかかるようになった。マシンの上で動かしていたのはn8nでの定期タスクで、それ自体は負荷がかからないけどそれをわざわざsingle-node Kubernetesの上で動かしていたのでそれなりにディスクアクセスはあった。それでもまあ大したものじゃなかったけど、急にfilesystemがread-onlyに。\n~30 IO/sからの突然のread-only こういうのが嫌だったので、SDカード運用のRaspberry Pi 2Bから離れたのに結局は同じ状況に。再起動してもすぐにread-onlyになってしまって、なぜかSSHも鍵認証で弾かれる。ただ、node-exporterだけはしっかり動いていて状況だけは詳細にわかる謎。\nとりあえず、ファイルシステムの復旧か再インストールかを現地でして様子見するしかないけど、もしファンレスで温度が高めであることが原因だったらこのマシンという選択自体が間違いということになるので悲しいですね。\n温度はむしろ最近落ち着いていた 一応、昼間は冷房のかかっている部屋に置いてあるのでそんなに想定温度とは違わないはずなんだけど。\n","date":1690287370,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1690287370,"objectID":"66df12e56acd2d2a909cdea4adb2ee97","permalink":"https://nobuto-m.github.io/ja/post/2023/1690287370/","publishdate":"2023-07-25T21:16:10+09:00","relpermalink":"/ja/post/2023/1690287370/","section":"post","summary":"Raspberry Pi 2Bの代用として買ったNucBox3を数週間運用してて、ある程度いい感じに動いてくれてると思ってたけど急に手がかかるようになった。マシンの上で動かしていたのはn8nでの定期タスクで、それ自体は負荷がかからないけどそれをわざわざsingle-node Kubernetesの上で動かしていたのでそれなりにディスクアクセスはあった。それでもまあ大したものじゃなかったけど、急にfilesystemがread-onlyに。","tags":[],"title":"NucBox3での運用一筋縄ではいかないかも","type":"post"},{"authors":[],"categories":[],"content":"会社に何か話が来ていたことは知っていて、ただ本当に映るのか観るまでは知らなかったので無事に映っててよかった。\nUbuntuのロゴも美術協力の一覧の中に 『トリリオンゲーム』のドラマ自体はいくつかの会社が技術監修やってますっていう記事を出していて、うちの会社(もちろん私は会社を代表するものではないですが)としては特にこれといったことはしてないと思います。\nTBS金曜ドラマ『トリリオンゲーム』のハッキングシーン舞台裏 - 株式会社リチェルカセキュリティ 「セキュリティコンテストは本当にあるの?」「具体的な技術的設定は?」ドラマ『トリリオンゲーム』第1話 技術監修の裏側を解説します! 外野の感想としては、コマンドラインで操作するところはカッコよく作り込まれているなと。あと芸が細かいなと思ったのは、主人公たちの学生時代にノートPCを開いた場面では、UnityのLauncherが映っていたところでしょうか。「その時代のUbuntuは今の画面じゃなくてUnityだからちゃんとUnity使わなきゃ」って言った人がいたのかしら。実際のシーンがどんな感じだったかは、TVerとかNetflixとかで確認していただければと。\n","date":1689418398,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1689418398,"objectID":"082eec3cefe61eb33483e56eda4fc9cf","permalink":"https://nobuto-m.github.io/ja/post/2023/1689418398/","publishdate":"2023-07-15T19:53:18+09:00","relpermalink":"/ja/post/2023/1689418398/","section":"post","summary":"会社に何か話が来ていたことは知っていて、ただ本当に映るのか観るまでは知らなかったので無事に映っててよかった。","tags":[],"title":"ドラマ『トリリオンゲーム』にUbuntuがちらっと映った","type":"post"},{"authors":[],"categories":[],"content":"昔はSleipnirのRSSリーダーとかGoogle Readerとかを使っていて、Feedlyもちょっとは使っていた。けれどもいつのまにかTwitterで話題になったやつとか、Google Discoverで出てきたニュースをちょろっと読むだけになってしまった。もうちょっと能動的にキーワードで引っ掛けたりして自分にとって重要そうなニュースを早めに読みたいという気持ちはあり、n8nのself-hostingコミュニティ版を使ってチャットに流すことにした。\nピタゴラスイッチっぽさ 最初はすんなりいくかとおもって、特にメモを書くこともないなぁと思ってたけど、しっかりあったので書いておく。\nまず、RSSフィードを扱ってくれるRSS Readノードは、RSSのURLを1個しか受け取ってくれない。なので複数サイトのフィードを一気に扱いたいときは、さっそく他のノードとの連携が必要になってくる。幸いこのトピックそのものの公式ドキュメントがあるので、Split In Batchesノードでループを作ればいいことがわかるのだが、このループを作成するときにフィードのリストを渡すための「リストを定義する」みたいなノードが存在しない。\n仕方がないので、先ほどの公式ドキュメントにあるように、別途任意のJavascriptコードを書けるCodeノードを用意して、下記のようにして次に実行されるノードにリストが渡るようにする。\nreturn [ {json: {url: \u0026#39;https://news1.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news2.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news3.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news4.example.com/feed\u0026#39;}}, {json: {url: \u0026#39;https://news5.example.com/feed\u0026#39;}}, ]; ここまでで、ワークフローが実行されたときに全部のサイトを巡回して、RSS内のアイテムを取ってきてくれるのだが、ここから「前回実行時からの新着アイテム」に絞り込むことがRSSノードではできない。このままWebhookへのPOSTにつなげてしまうと、ワークフローが実行されるたびに古い記事も含めて全部のアイテムがチャットに投げられてしまうので悲劇。そこでまずはワークフローの実行間隔を、cronに相当するSchedule triggerノードで設定する。ここでは例として157分間隔に設定。\n実行間隔の設定 続いて、Split In Batchesノードの後ろにFilterノードをつなげて、次のようなフィルターを設定する。\n現在時刻から157分前を指定 ここで、RSS内のアイテムに紐付いている日時{{$json.isoDate}}と、現在時刻から157分前の日時{{$now.minus({minutes:157}).toISO()}}を比べて、記事が前回の実行時より新しいかどうかを無理やり判定する。\nこれ以外にいい方法がないか調べたけども、公式のノードだけではこれが限界っぽい。157分をハードコードすると、後々間隔を変更したときにこの部分を変更し忘れそうなので変数を使って\n$(\u0026#39;Schedule Trigger\u0026#39;).params[\u0026#34;rule\u0026#34;][\u0026#34;interval\u0026#34;][0][\u0026#34;minutesInterval\u0026#34;]\nに変更しておくとよさそう。後は$nowを使うとワークフロー全体が開始された日時ではなくて、コード自体が呼び出された日時が入りそうなので、フィードの取得に時間がかかったときなどは空白の時間が生まれて新着判定が上手くいかなそうなので、ここも変数を使ってワークフローが開始された日時そのものを使うために\n$(\u0026#39;Schedule Trigger\u0026#39;).item.json.timestamp\nとしておく。\n最終的には新着判定のために使う基準日時は\n{{ DateTime.fromISO($(\u0026#34;Schedule Trigger\u0026#34;).item.json.timestamp) .minus({ minutes: $(\u0026#34;Schedule Trigger\u0026#34;).params[\u0026#34;rule\u0026#34;][\u0026#34;interval\u0026#34;][0][ \u0026#34;minutesInterval\u0026#34; ], }) .toISO(); }} となる、けど読みにくいですね。\nこのあたりは、何分間隔という指定ではなくて、毎時決まった時間に、とした方がすっきりすると思う。だけど、毎時決まった時間にフィードを取りに行くのはなんかしっくりこないんですよね。\nここまでで新着判定はできているはずなので、後はWebhookに向かって情報を投げるだけ。HTTP Requestノードを使って、サービスに合わせて整形した上で投げる。例えばMattermostの場合は、textにリンクを入れてあげれば自動でプレビューされるので十分。\nリンクやタイトルを整形して投げる 新着アイテムを全部投稿するのではなくて、特定のキーワードに合致するものだけに絞りたければ、POSTする前にもう一つFilterノードを追加してRegexが書ける。\nタイトルか概要がキーワードを含むものだけに絞れる 「RSSの新着アイテムをキーワードで絞ってからPOSTしておいて」っていう簡単ぽく聞こえる作業が、ここまでの長文になってしまった。\n","date":1688885165,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688885165,"objectID":"05e589b1391e4f6c404b29cd528ecb07","permalink":"https://nobuto-m.github.io/ja/post/2023/1688885165/","publishdate":"2023-07-09T15:46:05+09:00","relpermalink":"/ja/post/2023/1688885165/","section":"post","summary":"昔はSleipnirのRSSリーダーとかGoogle Readerとかを使っていて、Feedlyもちょっとは使っていた。けれどもいつのまにかTwitterで話題になったやつとか、Google Discoverで出てきたニュースをちょろっと読むだけになってしまった。もうちょっと能動的にキーワードで引っ掛けたりして自分にとって重要そうなニュースを早めに読みたいという気持ちはあり、n8nのself-hostingコミュニティ版を使ってチャットに流すことにした。","tags":[],"title":"n8nでRSSの新着アイテムをwebhookに投げる","type":"post"},{"authors":[],"categories":[],"content":"Ubuntu Serverを自動インストールする方法については、Ubuntu Serverガイドにすでにちゃんとした記事がある。\nAutomated Server installation Automated Server install quickstart Automated Server installer config file reference あとは柴田さんのgihyo.jp記事もあるので日本語でも解説されている。\nUbuntu Serverガイドにしたがって、自分用に最小のautoinstallファイルを作ってやってみた。\n#cloud-config autoinstall: version: 1 identity: hostname: ubuntu-server username: ubuntu # password=ubuntu password: \u0026#34;$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0\u0026#34; ssh: install-server: yes # https://launchpad.net/bugs/1974483 allow-pw: no apt: geoip: false kernel: flavor: generic # or hwe ドキュメントにあるように、kvmコマンドと下記カーネルコマンドラインパラメーターを使うと完璧に動作する。\n-append \u0026#39;autoinstall ds=nocloud-net;s=http://_gateway:3003/\u0026#39; けれども、カスタマイズしてない普通の22.04 LTSのISOだとうまくいかなくて、最初の言語選択の画面で止まってしまう。\n結局はすごく小さなところが問題で、セミコロンをエスケープしておかないと、autoinstallファイルを取得するためのURLが無視されて渡らない。これだけの話で1時間以上悩んだ。ドキュメントへのフィードバックはしたので、将来的に誰かの役に立てればと。\nGRUBの時はセミコロンのエスケープが必須 ","date":1688282992,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688282992,"objectID":"d6ce7ea91d3f16a2fc3e21bbc38d98dc","permalink":"https://nobuto-m.github.io/ja/post/2023/ubuntu-server-autoinstall-with-a-physical-machine/","publishdate":"2023-07-02T16:29:52+09:00","relpermalink":"/ja/post/2023/ubuntu-server-autoinstall-with-a-physical-machine/","section":"post","summary":"Ubuntu Serverを自動インストールする方法については、Ubuntu Serverガイドにすでにちゃんとした記事がある。","tags":[],"title":"物理マシンでUbuntu Serverのautoinstall","type":"post"},{"authors":[],"categories":[],"content":"一個新規記事ファイルを作って、Hugoのプレビューを開こうとしたらエラーになる。\n$ hugo go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify-cms@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-reveal@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy/v5@v5.7.1-0.20230420205746-951c7b6f709d: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; hugo: collected modules in 897 ms Total in 906 ms Error: failed to load modules: failed to download modules: failed to execute \u0026#39;go [mod download]\u0026#39;: failed to execute binary \u0026#34;go\u0026#34; with args [mod download]: go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-netlify-cms@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy-plugin-reveal@v1.0.0: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; go: github.com/wowchemy/wowchemy-hugo-themes/modules/wowchemy/v5@v5.7.1-0.20230420205746-951c7b6f709d: invalid version: git ls-remote -q origin in /tmp/hugo_cache_nobuto/modules/filecache/modules/pkg/mod/cache/vcs/0c88995f39c54fe356dd74460b6359b56b0fb376c52289c9656c86270b2c006d: exit status 128: fatal: unable to find remote helper for \u0026#39;https\u0026#39; *errors.errorString snap版特有の問題っぽかったので、一応Hugoプロジェクトにバグ報告。\nhttps://github.com/gohugoio/hugo/issues/11195\nなぜsnap版なのにHugoプロジェクトかというと、snapcraft.yamlはHugoプロジェクト側でメンテされていて、これはこれですごくありがたい。\n現状の回避策は、こないだまで動いていたrevisionを指定してインストールする形。\n$ sudo snap refresh --channel extended/stable --revision 16307 hugo パッと見はなんで名前解決がブロックされるのかよくわからず。/snap/hugo/{16307,16457}を比べてもバイナリ以外大きな差分はないし、リビジョンごとに生成されるAppArmorのプロファイルも特に差分は見えない。\n追記: AppArmor上は新しいリビジョンでだけ2つ追加でブロックされたログが出るので名前解決かと思ったけど、名前解決まではできてるみたい。\n[pid 95517] 15:50:23.307119 openat(AT_FDCWD, \u0026#34;/snap/core20/current/lib/x86_64-linux-gnu/libresolv.so.2\u0026#34;, O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) [pid 95517] 15:50:23.310260 openat(AT_FDCWD, \u0026#34;/snap/core20/current/lib/x86_64-linux-gnu/libnss_dns.so.2\u0026#34;, O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) [pid 95517] 15:50:23.311317 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(\u0026#34;127.0.0.53\u0026#34;)}, 16) = 0 [pid 95517] 15:50:23.313023 connect(3, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr(\u0026#34;20.27.177.113\u0026#34;)}, 16) = -1 EINPROGRESS (Operation now in progress) 追記2: 結局はAppArmorではなくて、Hugo本体のセキュリティ機構だった。snapのビルド時にsedを走らせてsnap用の設定を入れてるけど、本体側で加えた変更がsnapcraft.yamlには反映されていなかった。さらに進めて最終的にはsedを使わなくなって一件落着。素晴らしい。\n","date":1688220202,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1688220202,"objectID":"0d85a1201f4127b06b5d149844cc00b9","permalink":"https://nobuto-m.github.io/ja/post/2023/1688220202/","publishdate":"2023-07-01T23:03:22+09:00","relpermalink":"/ja/post/2023/1688220202/","section":"post","summary":"一個新規記事ファイルを作って、Hugoのプレビューを開こうとしたらエラーになる。","tags":[],"title":"Hugo snapが fatal: unable to find remote helper for 'https' のエラーを出すようになった","type":"post"},{"authors":[],"categories":[],"content":"NucBox3はファンレスで安いところが良さそうだと思って、Raspberry Piを置き換える用途でしばらく前に買ってあった。とにかく値段が安い(今日時点で実売12,383円)。それとは別に流行りのIntel N100と2.5G NICが搭載されてるもっと高めのものを家庭用NASを置き換える用途で買いたいなぁと思ってて、予行演習のためにまずはIntel Celeron J4125と1G NICのNucBox3にTrueNAS SCALEをインストールしてみた。\nまず、NucBox3は最大限にコスパ重視って感じ。噂に聞く、全くuniqueではないUUID 03000200-0400-0500-0006-000700080009は健在。\nubuntu description: Desktop Computer product: NucBox3 vendor: GMKtec version: Default string serial: Default string width: 64 bits capabilities: smbios-3.2.0 dmi-3.2.0 smp vsyscall32 configuration: boot=normal chassis=desktop family=Default string uuid=03000200-0400-0500-0006-000700080009 DDR4の8GBメモリもvendor ABCDのproduct 123456789012345678、シリアル番号は1234。\n*-memory description: System Memory physical id: 23 slot: System board or motherboard size: 8GiB *-bank:0 description: DIMM DDR4 Synchronous 2400 MHz (0.4 ns) product: 123456789012345678 vendor: ABCD physical id: 0 serial: 1234 slot: A1_DIMM0 size: 8GiB width: 64 bits clock: 2400MHz (0.4ns) 全部こんな感じなんでしょと思いきや、M.2 SATAの128GB SSDは製品名は入ってなかったけどシリアル番号っぽいものは入ってる。ちなみに簡易ベンチマークはこんな感じ。\nSSDはそれなり。可もなく不可もなく。 lstopoの出力 さくっと情報を確認したので、こっからはTrueNAS SCALEのインストールテスト。SCALEの方はDebianベースなのがいいなと思って選んだんですが、インストーラーもアプライアンスとしてカスタマイズされているので特に迷うところはなし。\nShellアクセスもあるけども、アプライアンスとして使われるのを意図しているのでaptやdpkgコマンドはPermission deniedが返る。どんな方法で制限してるんだろうと思ったけど、executableフラグを落としてあるだけだった。\nadmin@truenas[~]$ find /usr/bin ! -executable /usr/bin/docker-compose /usr/bin/dpkg /usr/bin/apt-get /usr/bin/apt-extracttemplates /usr/bin/apt-mark /usr/bin/apt-sortpkgs /usr/bin/apt-key /usr/bin/apt /usr/bin/apt-cache /usr/bin/apt-ftparchive /usr/bin/apt-config /usr/bin/apt-cdrom まったくもって推奨されてないけど、ちょっとiperfでも実行してみるかと思って一時的にaptを使えるようにしたけど、iperf3はデフォルトで入っているというオチでした。TrueNAS SCALEのインストールしたバージョン“Bluefin” 22.12はDebian 11 bullseyeベースなんだけど、アプライアンスなので結構手が入ってる。opensslのバージョンとかも。\nadmin@truenas[~]$ apt policy openssl openssl: Installed: 1.1.1t-001+deb11u4 Candidate: 1.1.1n-0+deb11u4 Version table: *** 1.1.1t-001+deb11u4 100 100 /var/lib/dpkg/status 1.1.1n-0+deb11u4 1000 500 http://apt.tn.ixsystems.com/apt-direct/bluefin/22.12.3/debian-security bullseye-security/main amd64 Packages 1.1.1n-0+deb11u3 900 900 http://apt.tn.ixsystems.com/apt-direct/bluefin/22.12.3/debian bullseye/main amd64 Packages NUCの形状からしてNASとして使う時のデータ置き場はUSB接続の外部HDDになる予定で、USB接続は推奨はされていないもののZFS用のデバイスとしてちゃんと使える。\nUSBストレージはnot recommendedでwarning扱い で、ここまでいろいろ見てきて、TrueNAS SCALEはうちの家庭用NASとしてピッタリじゃね、と。最初はDebianベースだからっていう理由で触り始めたけど、NASとしてこれこそが求めていたものでは。\nただ、TrueNAS SCALEのアプリストアを使う時に、SCALE自体がインストールされているドライブとは別のドライブを必要とする。ので、SCALE自体を内蔵SSDに入れるとして、アプリ(Kubernetes上で動く)が外付けHDDで動作するのもなんだかなと。一般にNASにアプリストアってあるあるだけど、んーでも結局そんなに使うことになるのかしら。将来のために、デフォルトで全領域を使うboot-poolを何とかサイズ指定したり後から縮小したりできるかを調べることからかな、と。\n$ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 ├─sda2 vfat FAT32 EFI 2D4A-EDB1 ├─sda3 zfs_member 5000 boot-pool 572534033895956289 └─sda4 └─sda4 swap 1 9a1c0394-e549-4ef5-a15b-dc69f9a39e41 [SWAP] sdb ├─sdb1 └─sdb2 zfs_member 5000 external 9260921456295045295 Intel Celeron J4125と1G NICでテストしててさくさく動いてしまうので、N100と2.5Gとか要らないような気がしてくる。現状で十分というかアプリ、コンテナ、VMをそんなに動かすのかなと。ちょっと悩んだ後に、安いのは正義ということでNucBox3をまずはもう一個買いました。ので、これでしばらく運用してみて本当に必要だったらスペックを考え直すことにする。\n","date":1687011989,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1687011989,"objectID":"2baa9a818dfd780a136ee29d4561bfa1","permalink":"https://nobuto-m.github.io/ja/post/2023/1687011989/","publishdate":"2023-06-17T23:26:29+09:00","relpermalink":"/ja/post/2023/1687011989/","section":"post","summary":"NucBox3はファンレスで安いところが良さそうだと思って、Raspberry Piを置き換える用途でしばらく前に買ってあった。とにかく値段が安い(今日時点で実売12,383円)。それとは別に流行りのIntel N100と2.","tags":[],"title":"NucBox3でTrueNAS SCALEを試してみた","type":"post"},{"authors":[],"categories":[],"content":"手術といっても滞在時間は1時間もいかないぐらい。ずっと前(たぶん高校生ぐらい)から耳の上にホクロが変化してBB弾がくっついたぐらいの大きさの出っ張りがあって、今までは髪切ったときに丸見えになるぐらいで生活に支障はなかった。ただ、こないだから眼鏡をかけるようになったら眼鏡のツルと干渉するので思い切って取ってみるか、と。\n診療明細書上は「皮膚、皮下腫瘍摘出術(露出部)(直径2cm未満)」という扱いで健康保険適用対象、当日の支払額は合計で8,420円。\n病院によっては当日に取ってくれるところもあるみたいだけど、一番近そうなところの院長はGoogleマップのレビュー上でずーっと患者とバトルしてて不安だったので、妻が行ったことのある皮膚科に行った。そこもそこで保険適用外のいろんな注射がメニューにあるところで不安だったけど、結果的には説明もしっかりしてくれてよかった。\n最初の日は写真を撮って説明するだけですぐ終わり、手術当日までに周りの髪の毛をジョリジョリしてきてください、次の日に消毒のために来てもらいます、その後は軟膏塗ってテープ自分で貼ってもらって1週間後に抜糸です、と。なるほど、手術後に貼るテープみたいなのを買っとかなきゃと物色して、2種類の太さと一応防水のも買ってみた。\n初めてなのでいろいろ買ってみた で、当日は麻酔注射を打たれて、その注射自体がちょっと痛いぐらいで手術中の痛みは無し、縫ってる時の糸の振動が伝わるぐらい。結果5針縫ったみたい。次の日消毒に行った時に、どんなテープ貼られるのかな、買ったテープはちゃんと合ってるのかなと思いながら診察受けてて、先生も耳の周りの曲線で貼るの苦労してるなと思って帰って来たら絆創膏が貼ってあった。はい、もったいないので買ったテープは積極的に使っていこうと思います。\n","date":1686462501,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1686462501,"objectID":"6364d23dc8b459802bfb90c38b9f7391","permalink":"https://nobuto-m.github.io/ja/post/2023/1686462501/","publishdate":"2023-06-11T14:48:21+09:00","relpermalink":"/ja/post/2023/1686462501/","section":"post","summary":"手術といっても滞在時間は1時間もいかないぐらい。ずっと前(たぶん高校生ぐらい)から耳の上にホクロが変化してBB弾がくっついたぐらいの大きさの出っ張りがあって、今までは髪切ったときに丸見えになるぐらいで生活に支障はなかった。ただ、こないだから眼鏡をかけるようになったら眼鏡のツルと干渉するので思い切って取ってみるか、と。","tags":[],"title":"ミニミニ手術を受けた","type":"post"},{"authors":[],"categories":[],"content":"光クロスのレンタルルーターであるXG-100NEの動作に耐えられなくて解約申請をして、そしたらその後にファームウェアのアップデートがリリースされた。返却前の週末に今使ってるルーターからレンタルルーターに切り戻して、まだ不具合が出るか出ないかだけでも確認して気持ちをはっきりさせたかったけど、結局単純な理由で確認できなかった。\n手順としては単純で、ダウンロードページからファームウェアver.03.00.0002を落としてルーターのWebUIから適用するだけ。で、そのまま使えばテストできたのに、何か魔が差したんですよね。不具合と言うからにはちゃんと初期状態で再現できるか確認しないと意味がないかな、と。そう思ったので、まずは使う前に工場出荷時の状態に戻すみたいな初期化ボタンを押したんです。で、再起動してIPv6はつながってIPv4がつながらなくなったときに、あっ、と。\nXG-100NEはIPv4接続のためのMAP-Eバンドルというソフトウェアをフレッツ・ジョイントの仕組みを通じて受け取って初めてMAP-Eで通信できるはずなので、初期化したことでこのすでに受け取り済みのソフトウェアも消えてしまった。で、解約申請を出してこのソフトウェア配信もちょうど止まったところだったので、このソフトウェアが再度ダウンロードされることはなく。はい、ここで手詰まり、テストできず。初期化しよう、とかさえ思わなければ。\nhttp://ntt.setup:8888/tにアクセスして、あっ、と思った瞬間。何もない。 おとなしくすぐに梱包して期限内にレンタルルーターを返送しました。これで我が家でXG-100NEについて脳みそを使う時間を割くのは完全に終了です。\n","date":1685705588,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685705588,"objectID":"006f71b1162ba6504c15ca066d2cb211","permalink":"https://nobuto-m.github.io/ja/post/2023/1685705588/","publishdate":"2023-06-02T20:33:08+09:00","relpermalink":"/ja/post/2023/1685705588/","section":"post","summary":"光クロスのレンタルルーターであるXG-100NEの動作に耐えられなくて解約申請をして、そしたらその後にファームウェアのアップデートがリリースされた。返却前の週末に今使ってるルーターからレンタルルーターに切り戻して、まだ不具合が出るか出ないかだけでも確認して気持ちをはっきりさせたかったけど、結局単純な理由で確認できなかった。","tags":[],"title":"XG-100NEの新ファームウェアのテストが結局できなかった話","type":"post"},{"authors":[],"categories":[],"content":"子どもがルイージマンション3をクリアした。祖父母に買ってもらって子どもメインで進めてて、まだ字が読めないなりに結構プレイできていた。所々こっちで調べてあげたり協力プレイで手伝ったりしてあげた感じ。\n謎解き要素も少しあって、わかんないときは本当に調べないとわかんなくて子どもには難しそうだったけども、まあでもほどよい感じ。最初の段階で、地下2階から15階まであることがエレベーターのボタン配置で明示されてて、進捗がわかりやすくてよかった。「今日は14階をクリアする!」みたいに意気込んでいたので。おかげで十の位の読み上げ(じゅうご、とか)が完璧になった。\n4-5歳の子どもがいままである程度ちゃんとプレイできて、ハマってきたのは何本かあって、ルイージマンション3も何回もやるリストに入ったみたい。\n子どもでもできたゲーム Good Job! これは大人がやっても名作だと思ったけど、子どもはずーっとやってた。\nUntitled Goose Game 出張中にSteamで一人でキーボードでやってたときは難易度が高くて最初は楽しさがわからなかった。これは子どもは「鳥さんのゲーム」って読んでて、協力プレイでワイワイやる感じが盛り上がる。\nヨッシークラフトワールド これは体験版で最初のステージだけできるようになってて、子どもがそのステージだけをずっと繰り返してやってたので、折をみて購入。無限にパタパタ空中を浮いていられるモードにするのが子ども向きで重要。クリアした後の追加ステージは全部完走まではやりきれず。\nASTRO’s PLAYROOM これはPS5に最初から入っているデモ用ゲームだけど、デモって感じの分量ではないしすごく作り込まれてる。子どもは「ロボットのゲーム」って読んでる。過去のSony製品がアイテムとして登場するんだけど、祖父母宅に泊まりに行ったときにPS2の本体がたまたまあって「これロボットのゲームで見たやつ!」って興奮してた。\nKNACK 2 これは夫婦で何か協力プレイやりたいなと思って過去に買ってあったやつだけど、結局やらずに子どもとやることに。同じようなステージがだらだら続くふしがあるので、大人だとそんなにハマらないかもしれないが子どもは「コナックのゲームやる!」ってハマってる(ナックというのは発音しにくいみたい)。\nまとめ やっぱり全体的に、右スティックを使った視点移動がないゲームであることが重要な気がする。ポケモンのアルセウスとかスカーレット・バイオレットとかだとどうしても視点移動が必須でそうなるとあんまりストーリーが進められていない感じ。\n","date":1685275311,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685275311,"objectID":"3a0451bff07fc067000f89be8b43024e","permalink":"https://nobuto-m.github.io/ja/post/2023/1685275311/","publishdate":"2023-05-28T21:01:51+09:00","relpermalink":"/ja/post/2023/1685275311/","section":"post","summary":"子どもがルイージマンション3をクリアした。祖父母に買ってもらって子どもメインで進めてて、まだ字が読めないなりに結構プレイできていた。所々こっちで調べてあげたり協力プレイで手伝ったりしてあげた感じ。","tags":[],"title":"子どもがルイージマンション3をクリアした","type":"post"},{"authors":[],"categories":[],"content":"基本はノートPCと検証機のどっちともUbuntuを常用してて、ごくごくたまーにWindowsが必要になることもあるので、Rufusで外付けSSDにWindowsをインストールしてある。で、この用途で使ってるKIOXIA EXCERIA G2 SSD-CK500N3G2/Nは値段で選んだので特に性能は気にしたことはなかったので、この機会に測ってみた。\nキャッシュ溢れみたいな変な落ち込みがない シーケンシャルアクセスはNVMeのSSDをUSBにケースで変換して接続していることを考慮してまったく文句なし。最初は測定しようと思ったときに、あーWindowsが入っちゃってるから書き込みテストできないじゃん、書き込みテストした後にもう一回Windowsインストールしてもいいけど面倒だなと思ったところにGNOME Disksの説明を読んで驚いた。\n書き込みテストはすでにデータがあるドライブにも実行可 Benchmarking the write-rate of a disk requires exclusive access to the disk (e.g. the disk or its partitions cannot be mounted or in use) and involves reading data and then writing it back. As a result, the contents of the disk is not changed.\nGNOME Disksだけが独占的にドライブにアクセスしている前提で、読んだデータをそのまま書き直すのでベンチマークが完走する限りはデータ破壊がないので、確かに頭いいなぁと。読んだデータしか使えないので、しっかりとランダムなデータを生成して書き込むタイプのベンチマークに比べると色んなレイヤーの影響で変に良い値が出てしまう懸念があるけどまあ簡易ベンチマークとしては本当に頭がいい。\nあとはUSB経由でつないでいても、ちゃんと色々な値が取れてすごいなぁと。\n$ sudo smartctl -a /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1012-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: KIOXIA-EXCERIA G2 SSD Serial Number: XYZ Firmware Version: ECFA17.1 PCI Vendor/Subsystem ID: 0x1e0f IEEE OUI Identifier: 0x8ce38e Total NVM Capacity: 500,107,862,016 [500 GB] Unallocated NVM Capacity: 0 Controller ID: 1 NVMe Version: 1.3 Number of Namespaces: 1 Namespace 1 Size/Capacity: 500,107,862,016 [500 GB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 8ce38e 0500bbcc25 Local Time is: Sun May 21 14:06:49 2023 JST Firmware Updates (0x12): 1 Slot, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Log Page Attributes (0x0a): Cmd_Eff_Lg Telmtry_Lg Maximum Data Transfer Size: 512 Pages Warning Comp. Temp. Threshold: 72 Celsius Critical Comp. Temp. Threshold: 90 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 7.69W - - 0 0 0 0 1 1 1 + 6.18W - - 1 1 1 1 1 1 2 + 5.42W - - 2 2 2 2 1 1 3 - 0.0500W - - 3 3 3 3 7000 5000 4 - 0.0050W - - 4 4 4 4 13000 36000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 2 1 - 4096 0 1 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 34 Celsius Available Spare: 100% Available Spare Threshold: 5% Percentage Used: 0% Data Units Read: 337,687 [172 GB] Data Units Written: 314,483 [161 GB] Host Read Commands: 12,348,912 Host Write Commands: 13,616,612 Controller Busy Time: 17 Power Cycles: 26 Power On Hours: 10 Unsafe Shutdowns: 24 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Warning: NVMe Get Log truncated to 0x200 bytes, 0x200 bytes zero filled Error Information (NVMe Log 0x01, 16 of 63 entries) No Errors Logged ","date":1685172674,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1685172674,"objectID":"6f9782dc3d57d3afda40bec3b604e1ad","permalink":"https://nobuto-m.github.io/ja/post/2023/1684645587/","publishdate":"2023-05-27T16:31:14+09:00","relpermalink":"/ja/post/2023/1684645587/","section":"post","summary":"基本はノートPCと検証機のどっちともUbuntuを常用してて、ごくごくたまーにWindowsが必要になることもあるので、Rufusで外付けSSDにWindowsをインストールしてある。で、この用途で使ってるKIOXIA EXCERIA G2 SSD-CK500N3G2/Nは値段で選んだので特に性能は気にしたことはなかったので、この機会に測ってみた。","tags":[],"title":"Windows用に使ってるSSD-CK500N3G2/Nもテストしてみた","type":"post"},{"authors":[],"categories":[],"content":"ONU、ルーターなどのネットワーク機器はクローゼットというか物置きというか、というところに置いてあるのだが、そのままだとケーブル類がぐちゃぐちゃになってしまうので整理してみた。本格的な19インチラックは導入せず、あくまで家庭用っぽくする方針で。\n整理前 3月に複合機を買ったときに同時にIKEAのテーブルを買っておいて、テーブルの上を複合機、下をネットワーク機器とまずは空間を分けておいた。必要になった段階でIKEAのテーブルを“LackRack”として使って1Uだけ使うつもりだった。で、ルーターを乗せるためだけに棚板の値段を調べたりして、結構高いななんて思いながら4月に買って最上段に取り付けて完成。とはならずに、棚板の落下防止の返し部分があることで、ルーターが入らなかった。毎回ネジを緩めたりすれば出し入れできるけれどもそれは果たして家庭用なのかなと。\n結局はルーター用の棚板を2段目にして空間を確保し、空いた一段目をそのままにしておくのはあれなので、特に必要のなかったケーブルオーガナイザーも買った。圧迫感を与えないように白色で探したので、配線が丸見えになる魚の骨タイプしかなかった。\n整理後 出来栄えとしては決して美しくはないけれども、当初の目的である床部分から配線を持ち上げる、ということは達成したのでよし。LackRackを初めてやってみた感想としては1U以上はやっぱり普通にメタルラック買った方がいいんじゃないでしょうか。使ったネジはM6の六角フランジタッピング。当然のことながらIKEAのテーブルは穴を開けられることを想定してないし、チップ材なのでドリルで穴開けると手応えなかったりネジ打ち込んでも最後の方空転したりする箇所がちらほらあるので。\nドリルで下穴も開けた あと最近光クロスの上りが最速の計測値でも2.5Gbpsを超えなくなってきたので、ちょっとはONUの温度下がらないかなと思ってあえて速度を落とすように設定してみた。インターネット側は10Gbpsから5Gbpsへ、LAN側は検証機を10Gbpsから2.5Gbps、他のポートとの合計で4.5Gbpsになるように。でもこれをやるとなぜ10Gbpsを契約しているのだろうという気持ちになるので、まずは様子見。\nと思ったけども、やっぱり2.5Gbpsだと10G対応のルーターを買った意味がないので落とすのは5Gbpsまでに。\n結局落とすのは5Gbpsまでにした ","date":1684594567,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684594567,"objectID":"137953e01fb68652af2df1b3555a3aec","permalink":"https://nobuto-m.github.io/ja/post/2023/1684594567/","publishdate":"2023-05-20T23:56:07+09:00","relpermalink":"/ja/post/2023/1684594567/","section":"post","summary":"ONU、ルーターなどのネットワーク機器はクローゼットというか物置きというか、というところに置いてあるのだが、そのままだとケーブル類がぐちゃぐちゃになってしまうので整理してみた。本格的な19インチラックは導入せず、あくまで家庭用っぽくする方針で。","tags":[],"title":"ネットワーク配線の整理をした","type":"post"},{"authors":[],"categories":[],"content":"何度も出張する中で、スーツケースの角の部分が剥がれてきてしまった。実用上は支障がなくて、内袋はファスナー部分と一体なのでこの外殻との隙間部分から細かい荷物が落ちたりすることはまったくない。けれども一度だけ海外のチェックインカウンターでスーツケースが破損しているからという扱いになって、免責書類にサインさせられた。この部分の剥がれが大きくなっても別に賠償を要求しないけど、全体的な破損とかだとまた話が違ってくるので直すことに。\nポリカーボネート素材のはずなので、家にあったある程度強そうな接着剤のどれでもいけそうだったけど最終的にはポリカーボネート対応が明記されていたセメダイン スーパーXクリアを選択。\n","date":1684038443,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684038443,"objectID":"b94a7c7f10bc6efe0579b2388c9bfcf8","permalink":"https://nobuto-m.github.io/ja/post/2023/1684038443/","publishdate":"2023-05-14T13:27:23+09:00","relpermalink":"/ja/post/2023/1684038443/","section":"post","summary":"何度も出張する中で、スーツケースの角の部分が剥がれてきてしまった。実用上は支障がなくて、内袋はファスナー部分と一体なのでこの外殻との隙間部分から細かい荷物が落ちたりすることはまったくない。けれども一度だけ海外のチェックインカウンターでスーツケースが破損しているからという扱いになって、免責書類にサインさせられた。この部分の剥がれが大きくなっても別に賠償を要求しないけど、全体的な破損とかだとまた話が違ってくるので直すことに。","tags":[],"title":"スーツケースの補修をした","type":"post"},{"authors":[],"categories":[],"content":"録画してあったTOKYO MERのSPドラマ「隅田川ミッション」を観た。TOKYO MERは医療ドラマだけど医療ドラマじゃない、まともな判断がなされないハチャメチャなドラマだけど、このスペシャルドラマはいつも通りハチャメチャで期待を裏切らなかった。絶対に一人では完走できなさそうな、家族と一緒にわいわい観るから楽しいタイプのドラマ。今回の話がMERの中での出来が良すぎて、映画がこれより面白くなれるのか心配になるぐらい。\n","date":1684037305,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1684037305,"objectID":"c59d1d8127ee7a35320260d2a24844d6","permalink":"https://nobuto-m.github.io/ja/post/2023/1684037305/","publishdate":"2023-05-14T13:08:25+09:00","relpermalink":"/ja/post/2023/1684037305/","section":"post","summary":"録画してあったTOKYO MERのSPドラマ「隅田川ミッション」を観た。TOKYO MERは医療ドラマだけど医療ドラマじゃない、まともな判断がなされないハチャメチャなドラマだけど、このスペシャルドラマはいつも通りハチャメチャで期待を裏切らなかった。絶対に一人では完走できなさそうな、家族と一緒にわいわい観るから楽しいタイプのドラマ。今回の話がMERの中での出来が良すぎて、映画がこれより面白くなれるのか心配になるぐらい。","tags":[],"title":"TOKYO MER 隅田川ミッションを観た","type":"post"},{"authors":[],"categories":[],"content":"フレッツ光クロスのひかり電話対応がアナウンスされた。提供開始日は2023年5月31日となっていて、それまでにひかり電話対応用のファームウェアアップデートが来ないといけないはずだけど、まだ東日本はver.02.00.0005(2021/02/24日付)が最新との表示。\n西日本の方は、ひかり電話対応のアナウンスの一足先にVersion 03.00.0001(2023/04/11日付)が出ている。\nhttps://www.ntt-west.co.jp/kiki/download/flets/xg100ne/\n今後のサービス拡張において必要な基本機能を追加しました。\n一部動作の改善を行いました。\nレンタルルーターなのでこれを無理やり適用するのはまずいので、ルーターの返却期限までに東日本公式のアップデートが来てくれれば通信が詰まる現象が解消されたかどうかだけでも確認できるのでいいなぁと期待。\n","date":1683630665,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683630665,"objectID":"284ddc9c507731befa2d2c8a20699da4","permalink":"https://nobuto-m.github.io/ja/post/2023/1683630665/","publishdate":"2023-05-09T20:11:05+09:00","relpermalink":"/ja/post/2023/1683630665/","section":"post","summary":"フレッツ光クロスのひかり電話対応がアナウンスされた。提供開始日は2023年5月31日となっていて、それまでにひかり電話対応用のファームウェアアップデートが来ないといけないはずだけど、まだ東日本はver.02.00.0005(2021/02/24日付)が最新との表示。","tags":[],"title":"レンタルルーターのファームウェアアップデート待ち","type":"post"},{"authors":[],"categories":[],"content":"ゴールデンウィークも終わってしまう、でも何かちょっと子どものためにどっか連れて行ってあげたいと思った土曜日に東京ドームシティへ行った。リニューアルされてから行くのは初めてだと思う。メリーゴーラウンドはいつも馬じゃなくて馬車の客室部分にあたるベンチみたいなところに座りたいと言い出すけども、ちょうど他の付い添いの大人がベンチ2つに座ってくれたので、しぶしぶだけど初めて馬に乗ってくれてよかった。乗ったら乗ったでめちゃめちゃ楽しそうにしてくれるんだけど。\n夕飯はレストランせんごくで。このエリアなのに並ばずに入れてしまうのが何ともだけど、子ども連れて入れるので助かってます。\n","date":1683548704,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683548704,"objectID":"0007d5eae9ea99a383652a5767c86792","permalink":"https://nobuto-m.github.io/ja/post/2023/1683548704/","publishdate":"2023-05-08T21:25:04+09:00","relpermalink":"/ja/post/2023/1683548704/","section":"post","summary":"ゴールデンウィークも終わってしまう、でも何かちょっと子どものためにどっか連れて行ってあげたいと思った土曜日に東京ドームシティへ行った。リニューアルされてから行くのは初めてだと思う。メリーゴーラウンドはいつも馬じゃなくて馬車の客室部分にあたるベンチみたいなところに座りたいと言い出すけども、ちょうど他の付い添いの大人がベンチ2つに座ってくれたので、しぶしぶだけど初めて馬に乗ってくれてよかった。乗ったら乗ったでめちゃめちゃ楽しそうにしてくれるんだけど。","tags":[],"title":"メリーゴーラウンドに乗った","type":"post"},{"authors":[],"categories":[],"content":"だいぶ黒ずんできたので本格的にお掃除。大理石みたいなツルツルタイプではなくて、かなりざらざらなタイプなので引っかかって雑巾で拭くこともできず掃除しにくい。メラミンスポンジもすごい勢いで削れていく。結局はメラミンスポンジに水をたっぷり含ませてタイルを濡らしていき、水で汚れが浮いたところを乾拭き雑巾で押さえるの繰り返し。\n家の外の部分はがっつり水がかけられるので専用のブラシを買った。水切りがついてるのが良い。どうせピカピカな状態は数日も持たないので、ある程度あきらめることが重要。\n","date":1683448276,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683448276,"objectID":"888df1f7ce5d18e64401219a07a7c7ee","permalink":"https://nobuto-m.github.io/ja/post/2023/1683448276/","publishdate":"2023-05-07T17:31:16+09:00","relpermalink":"/ja/post/2023/1683448276/","section":"post","summary":"だいぶ黒ずんできたので本格的にお掃除。大理石みたいなツルツルタイプではなくて、かなりざらざらなタイプなので引っかかって雑巾で拭くこともできず掃除しにくい。メラミンスポンジもすごい勢いで削れていく。結局はメラミンスポンジに水をたっぷり含ませてタイルを濡らしていき、水で汚れが浮いたところを乾拭き雑巾で押さえるの繰り返し。","tags":[],"title":"玄関のタイル掃除をした","type":"post"},{"authors":[],"categories":[],"content":"運転免許の更新に支障はないぐらいだけれども、年齢とともに左目で遠くを見たときに霞むようになってきた。ずっと裸眼で過ごしてきて眼鏡が必要になるのは老眼になる時だけだと思ってたけど、そうはいかなかった。\n元から左右で見え方が少し違って高校生の時と6年前に眼鏡が欲しくて測定してもらって、多少乱視はあるものの眼鏡が必要なほどじゃないと言われてまあそうか、とあきらめた。ただ数年前から左目の違和感が大きくなってきてついに眼鏡を買うことに。選んだのは1本で運転にも使えるようにパカパカフリップタイプ。\nhttps://www.jins.com/jp/switch/#flip_up\nパカパカなしで紫外線の量によって色が変わる調光レンズの方がスマートだけど、ドライブに使ったり屋外から屋内に入った時を考えるとパカパカタイプがいいな、と。\nhttps://www.jins.com/jp/lens/colorcontrol/\n紫外線カットガラスに覆われた車内などでは、レンズは変色しません。\n濃いレンズが淡く戻るまでに多少の時間を要します。\n結果、左目用にSPH: -0.50、CYL: -0.50のレンズを入れてもらった。手元のノートPCを見るぐらいだと元から困ってなかったけど、それ以上の距離を見るときにパリッと見えて幸せ。\n","date":1683432577,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683432577,"objectID":"fba59da0b46e49116f59886677fbf42c","permalink":"https://nobuto-m.github.io/ja/post/2023/1683432577/","publishdate":"2023-05-07T13:09:37+09:00","relpermalink":"/ja/post/2023/1683432577/","section":"post","summary":"運転免許の更新に支障はないぐらいだけれども、年齢とともに左目で遠くを見たときに霞むようになってきた。ずっと裸眼で過ごしてきて眼鏡が必要になるのは老眼になる時だけだと思ってたけど、そうはいかなかった。","tags":[],"title":"眼鏡を買った","type":"post"},{"authors":[],"categories":[],"content":"前回、SanDisk SDSSDA-2T00-G26がREGZAの2番組同時録画と別番組再生に追いつけなかった話で興味が出たので、同じシリーズの480GB(SDSSDA-480G-J26)も持ってたので同じ条件で軽く計測してみた。古いSSD同士で何をいまさらって感じがあるけど、まあ見てみたかったので。\nSanDisk SSD Plus 2TB SanDisk SSD Plus 480GB これを見ると480GBの方がガタガタではあるけれども、予測しやすい理屈に合った動きをしているように見えるし、平均書き込み速度で上回ってて、レイテンシーの面でも優秀。SSDは容量が大きい方がだいたい書き込み速度が上がる印象だけどこういうこともあるんだなと。ファームウェアのリビジョンによる違いなのかもしれないけど。\nと思ったら普通にデータシートに1TBの方が他より遅いって書いてあった。2TBは最速っぽく書いてあるけど。\nDatasheet (PDF)\nRead/write speeds of up to 545MB/s/450MBs** [2TB] Read/write speeds of up to 535MB/s/350MBs** [1TB] Read/write speeds of up to 535MB/s/445MBs** [480GB] Read/write speeds of up to 530MB/s/440MBs** [240GB] ちなみに実際のTBWはどちらも使いすぎってわけではなくて、大した値ではなかった。\n[480GB]\n$ sudo smartctl -A /dev/disk/by-id/ata-SanDisk_SDSSDA480G_XYZ -d sat smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1009-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Retired_Block_Count 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours_and_Msec 0x0032 000 100 000 Old_age Always - 11604h+00m+00.000s 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 1926 165 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 7241469593843 166 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 2 167 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 168 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 15 169 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 170 Reserve_Block_Count 0x0032 100 100 000 Old_age Always - 0 171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 173 Unknown_SandForce_Attr 0x0032 100 100 000 Old_age Always - 8 174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age Always - 120 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 194 Temperature_Celsius 0x0022 061 022 000 Old_age Always - 39 (Min/Max 0/78) 199 SATA_CRC_Error_Count 0x0032 100 100 000 Old_age Always - 0 230 Life_Curve_Status 0x0032 100 100 000 Old_age Always - 3277067780859 232 Available_Reservd_Space 0x0033 100 100 004 Pre-fail Always - 100 233 SandForce_Internal 0x0032 100 100 000 Old_age Always - 3950 234 SandForce_Internal 0x0032 100 100 000 Old_age Always - 43857 241 Lifetime_Writes_GiB 0x0030 253 253 000 Old_age Offline - 13081 242 Lifetime_Reads_GiB 0x0030 253 253 000 Old_age Offline - 6245 244 Unknown_Attribute 0x0032 000 100 000 Old_age Always - 0 -\u0026gt; TBW: ~13 TB\n[2TB]\n$ sudo smartctl -A /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ -d sat smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.0-1009-oem] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 11767 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 343 165 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 1378 166 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 10 167 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 98 168 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 27 169 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 1623 170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0 171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0 173 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 10 174 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 239 184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 --- Old_age Always - 0 194 Temperature_Celsius 0x0022 058 071 000 Old_age Always - 42 (Min/Max 14/71) 199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0 230 Unknown_SSD_Attribute 0x0032 100 100 000 Old_age Always - 3698000397149 232 Available_Reservd_Space 0x0033 100 100 005 Pre-fail Always - 100 233 Media_Wearout_Indicator 0x0032 100 100 --- Old_age Always - 21640 234 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 37214 241 Total_LBAs_Written 0x0030 100 100 000 Old_age Offline - 14543 242 Total_LBAs_Read 0x0030 100 100 000 Old_age Offline - 9730 244 Unknown_Attribute 0x0032 000 100 --- Old_age Always - 0 -\u0026gt; TBW: ~14.5 TB\n","date":1683280885,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683280885,"objectID":"7637aa855e952bdafce1c67257360bbc","permalink":"https://nobuto-m.github.io/ja/post/2023/1683280885/","publishdate":"2023-05-05T19:01:25+09:00","relpermalink":"/ja/post/2023/1683280885/","section":"post","summary":"前回、SanDisk SDSSDA-2T00-G26がREGZAの2番組同時録画と別番組再生に追いつけなかった話で興味が出たので、同じシリーズの480GB(SDSSDA-480G-J26)も持ってたので同じ条件で軽く計測してみた。古いSSD同士で何をいまさらって感じがあるけど、まあ見てみたかったので。","tags":[],"title":"SanDisk SSD Plusシリーズは2TBの方が480GBより遅く見えちゃう","type":"post"},{"authors":[],"categories":[],"content":"SSD-SCT2.0U3BA/Nが15,980円と少し安くなっていたので思い切って買った。\nHDDのガリガリ音と振動の反響音がリビングで聞こえるのが嫌で、今までも2TBのSSDとしてSanDisk SDSSDA-2T00-G26をUSB接続で使っていた。ただこれがREGZAと組み合わせると全然期待通りに動いてくれない。テレビの録画なんて2番組同時録画してもせいぜい2x24Mbps、で同時録画中に他の番組を再生しても24Mbpsなので、6MB/sの書き込みと3MB/sの読み出しというHDDですら楽々こなせるタスクなのに、なぜかこのSanDiskのやつだとテレビ自体がエラーを吐いたり、録画データが破損してブロックノイズが出たりする。熱の影響かと思ってケースから出して裸で運用したり、USBからの電源供給が足りないかと思って補助電源を追加してもダメ。\nテレビが悪いのかSSDが悪いのか自信がないまま新しいSSDを買ったけど、結果として問題なく動いてくれてよかった。\nREGZAはXFSを使ってるのでファイルシステムか中身をコピーしてってのは可能かもしれないけど、今回はさくっとまるごと移行。\n$ lsblk -f /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda └─sda1 xfs d5ea386b-ad90-47fc-9105-383cb0b00eba 118.8G 94% /media/nobuto/d5ea386b-ad90-47fc-9105-383cb0b00eba 移行元と移行先のSSDのサイズはピッタリ同じなのでリサイズを考慮しなくていい。\n$ lsblk \\ /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ /dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1.8T 0 disk ... sdb 8:16 0 1.8T 0 disk ... $ lsblk -b \\ /dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ /dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 2000398934016 0 disk ... sdb 8:16 0 2000398934016 0 disk ... で、移行元のドライブも壊れてるわけではないので、ddrescueではなくさくっとddで。\n$ sudo dd \\ if=/dev/disk/by-id/ata-SanDisk_SSD_PLUS_2000GB_XYZ \\ of=/dev/disk/by-id/usb-BUFFALO_SSD-SCTU3A_XYZ-0\\:0 \\ bs=4M status=progress oflag=sync 2000398934016 bytes (2.0 TB, 1.8 TiB) copied, 18102.6 s, 111 MB/s 最初のうちは200-300MB/sとかでコピーされてたけれども徐々に100MB/sぐらいに落ち着いて結局5時間以上かかることに。\n移行が終わってからSanDiskのSSDをテストすると、新しいSSDの方が全然安定してる。特にレイテンシー。\n旧SSD、あんまり安定していない 新SSD、安定してる 条件を変えてもっと長く書き込みすると、なるほどテレビ録画といえどもこのSSDにはきつかったのかもしれない、という図が出せる。\n旧SSD、長く書くと10MB/sぐらいまで落ち込むこともある 旧SSDの費用が無駄になった感じがするけど、テレビ自体は悪くなさそうというのがわかっただけでも良しとする。\n","date":1683173373,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683173373,"objectID":"0455d386518c5672001bef58afa6834f","permalink":"https://nobuto-m.github.io/ja/post/2023/1683173373/","publishdate":"2023-05-04T13:09:33+09:00","relpermalink":"/ja/post/2023/1683173373/","section":"post","summary":"SSD-SCT2.0U3BA/Nが15,980円と少し安くなっていたので思い切って買った。","tags":[],"title":"REGZAの録画用ドライブをSSD-SCT2.0U3BA/Nに交換した","type":"post"},{"authors":[],"categories":[],"content":"ゴールデンウィーク開始の土日に、義両親の家に子どもと泊まってその足で観てきた。子どもが映画の予告を見てからずっと観たいと言っていて、GW期間中になることも知っていたので連休のスタートダッシュをきめた感じ。4DXの方が面白いかなと思ったけど、まだ3D用のメガネを上映中ずっとかけてるのは難しいかなと判断し2D上映で。終わった後に歩道橋の上でいきなり立ち止まって「マリオの映画楽しかった」と伝えてくれたのですべて良し。\n","date":1683115334,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683115334,"objectID":"f884a9dc787a03a26341166218ee788f","permalink":"https://nobuto-m.github.io/ja/post/2023/1683115334/","publishdate":"2023-05-03T21:02:14+09:00","relpermalink":"/ja/post/2023/1683115334/","section":"post","summary":"ゴールデンウィーク開始の土日に、義両親の家に子どもと泊まってその足で観てきた。子どもが映画の予告を見てからずっと観たいと言っていて、GW期間中になることも知っていたので連休のスタートダッシュをきめた感じ。4DXの方が面白いかなと思ったけど、まだ3D用のメガネを上映中ずっとかけてるのは難しいかなと判断し2D上映で。終わった後に歩道橋の上でいきなり立ち止まって「マリオの映画楽しかった」と伝えてくれたのですべて良し。","tags":[],"title":"ザ・スーパーマリオブラザーズ・ムービーを観た","type":"post"},{"authors":[],"categories":[],"content":"光クロスを契約した当初は10Gbps対応uplink/downlinkが1つずつ付いたルーターが⽉額550円で借りられるなんて激安だと思ったけど、このXG-100NEは独特の詰まり方をするので耐えられなくなってしまった。\nhttps://gihyo.jp/admin/serial/01/ubuntu-recipe/0706\n未解決の問題として、Androidスマートフォンの画面スリープからの復帰直後にICMP(IPv4)もTCP(IPv6)も問題なく疎通できるのにも関わらず、数分間だけTCP(IPv4)で再送が多発する場合があります。常に再現するわけではなく、しばらく待ったり、Android側でWi-Fiのオンオフ操作をすると即座に直ってしまうため\nこのように書くとMAP-Eのポートが足りなくなってるだけじゃないの、と読めるし、セキュリティログ(IPv4)というところに利用可能なポート無しとも出てくる。確定じゃんと思うけども、不思議なのはクライアント側から送られてくる通信がサーバー側から見えるのでポートの割り当て自体はできているように見えること。あと、クライアントの数が鍵な気がする(15-20台とか)。利用可能なポート無しは常に出ているので限界な状態をさらに超えると発生するのかも。\n時々TCP4通信だけが詰まる原因がわからん。このログ(何を意味するかの説明はない)からするとMAP-Eするときのソースポートが足りてないと言わんとしてそうだけど、特に1,000コネクションも張ってないと思うんだよな。 pic.twitter.com/2Es0GsLdGv\n— Nobuto Murata (@nobuto_m) January 29, 2022 で、発生した場合の通信をよく見てても特にポート枯渇してるようには見えず、TCP Port numbers reusedとTCP Retransmissionが観測されるのでなんとなくNAT/conntrackに相当するところが怪しいけれどもルーター側では詳しいログが出ないので詳細はわからず。\nやっぱり事象が発生するときはボコボコだな。HTTPはその状態でかろうじてなんとかなってもHTTPSはなんとかはならない。 pic.twitter.com/VtaygPYi3a\n— Nobuto Murata (@nobuto_m) February 27, 2022 現象が発生したらクライアント側から再接続しなきゃいけないのが面倒で、しかも再接続した後からは普通に使えてしまう謎。NEC製なので他のメーカーで切り分けしたくてまずは10Gbps対応していない5千円弱のBuffaloルーターを買ってきて取り替えたら現象がまったく発生しない!\nもしかしたらNEC製XG-100NEの方が規格に則った正しい動きということがあるのかもしれないけど、やっぱり現象が発生しない方がいいのでNEC製じゃない10Gbps対応かつOCNバーチャルコネクトにしっかり対応したものを探して最終的にはBuffaloのVR-U500Xを購入。ある程度値段はするものの10Gbps対応ルーターとして長く動いてくれればそれでよし。無線LAN一体型ではないので、アクセスポイントがルーターとは別に選べることがメリットだと思い込むことにします。\n肝心のレンタルルーター解約手続きはお電話のみの対応っぽかったので、オペレーターにつながるまで10分、その後15分ぐらいで手続きは完了。工事扱いになるので工事日にMAP-Eでつながらない時間ができないかだけ心配。\n","date":1683091989,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683091989,"objectID":"4d25e192b98d140ac7ff6c6fe7c1c224","permalink":"https://nobuto-m.github.io/ja/post/2023/1683091989/","publishdate":"2023-05-03T14:33:09+09:00","relpermalink":"/ja/post/2023/1683091989/","section":"post","summary":"光クロスを契約した当初は10Gbps対応uplink/downlinkが1つずつ付いたルーターが⽉額550円で借りられるなんて激安だと思ったけど、このXG-100NEは独特の詰まり方をするので耐えられなくなってしまった。","tags":[],"title":"光クロス対応レンタルルーターの解約申請をした","type":"post"},{"authors":[],"categories":[],"content":"自分が書きたいがために何度目かのマイクロブログを始めてみる。Twitterみたいなサービスが出てきてからそこに書けばいいやってなってしまって、でもやっぱりTwitter以上長文ブログ未満のものが欲しくなって色々なサービスを使うものの結局サービス自体がなくなったりして長続きしない。その間にコツコツと10年以上同じところで書いてる人のものを読むと、映画観に行ったちょっとした感想とかでもなんか充実してるなとうらやましい気持ちになる。ということで私もその時は充実してると認識してなくても、後で見返してなんか充実してたんだなぁという気持ちになれたらいいなと思い書いていく。\nここではある程度続くかもしれないし、続かないかもしれない。今日時点のGitHub Pagesの規約ではこういった使い方は問題なさそうに読めるけど、いざとなったらデータそのままで自分のサーバーに置く予定。\n","date":1683077841,"expirydate":-62135596800,"kind":"page","lang":"ja","lastmod":1683077841,"objectID":"fc4de64a7d2180d793ca2796a07cf62c","permalink":"https://nobuto-m.github.io/ja/post/2023/1683077841/","publishdate":"2023-05-03T10:37:21+09:00","relpermalink":"/ja/post/2023/1683077841/","section":"post","summary":"自分が書きたいがために何度目かのマイクロブログを始めてみる。Twitterみたいなサービスが出てきてからそこに書けばいいやってなってしまって、でもやっぱりTwitter以上長文ブログ未満のものが欲しくなって色々なサービスを使うものの結局サービス自体がなくなったりして長続きしない。その間にコツコツと10年以上同じところで書いてる人のものを読むと、映画観に行ったちょっとした感想とかでもなんか充実してるなとうらやましい気持ちになる。ということで私もその時は充実してると認識してなくても、後で見返してなんか充実してたんだなぁという気持ちになれたらいいなと思い書いていく。","tags":[],"title":"マイクロブログ","type":"post"}] \ No newline at end of file diff --git a/docs/ja/index.xml b/docs/ja/index.xml index e01112eb..073bf386 100644 --- a/docs/ja/index.xml +++ b/docs/ja/index.xml @@ -1109,9 +1109,9 @@ necessary to do so.</p> TailscaleのACLを設定した - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ Sun, 30 Jul 2023 14:28:19 +0900 - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ <p><a href="https://tailscale.com/kb/1018/acls/" target="_blank" rel="noopener">TailscaleのACL</a>は簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">&#34;acls&#34;</span><span class="p">:</span> <span class="p">[</span> @@ -1151,6 +1151,7 @@ necessary to do so.</p> </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="c1">//{&#34;action&#34;: &#34;accept&#34;, &#34;src&#34;: [&#34;*&#34;], &#34;dst&#34;: [&#34;*:*&#34;]}, </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:client&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;*:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:scraper&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:9100&#34;</span><span class="p">]},</span> +</span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;autogroup:shared&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">],</span> </span></span><span class="line"><span class="cl"><span class="p">}</span> </span></span></code></pre></div> @@ -1174,7 +1175,7 @@ necessary to do so.</p> <figure id="figure-tagscraperのプレビュー"> <div class="d-flex justify-content-center"> <div class="w-100" ><img alt="`tag:scraper`のプレビュー" - src="https://nobuto-m.github.io/ja/post/2023/1690694899/featured.png" + src="https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/featured.png" loading="lazy" data-zoomable /></div> </div><figcaption> <code>tag:scraper</code>のプレビュー diff --git a/docs/ja/post/2023/1690694899/index.html b/docs/ja/post/2023/1690694899/index.html index dc3db617..43c9b8b2 100644 --- a/docs/ja/post/2023/1690694899/index.html +++ b/docs/ja/post/2023/1690694899/index.html @@ -1,291 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TailscaleのACLを設定した | Nobuto Murata + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ + + + - - - - - - -
-
-
-

TailscaleのACLを設定した

- - -
- -
-
-

TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。

- -
-
{
-  "acls": [
-    // Allow all connections.
-    // Comment this section out if you want to define specific restrictions.
-    {"action": "accept", "src": ["*"], "dst": ["*:*"]},
-  ],
-}
-
-
- -

一応手元のデバイスだけはtailscale up --shields-upでどこからもアクセスを受け付けないようにしてたし、仮にポートが空いていても認証が必須にはなっていた。ただ、人にTailscaleのデバイス共有機能と別途SSHの鍵認証でログインを許可することがあり、ログインするとそのデバイスが紐付いているTailscaleアカウント(私のアカウント)内の全デバイスに(ネットワーク的に)アクセスできてしまう。もちろん信頼できる人にしかログインさせていないけれども、これを機にACLを設定した。特筆することはなくドキュメント通り。

- - - -

まずはデバイスを3つタグにグループ分け。

- -
    -
  • tag:client - 手元のノートPC
  • - -
  • tag:server - 検証用マシンなど
  • - -
  • tag:scraper - Prometheusを動かしているマシン
  • -
- -
-
{
-  // Define the tags which can be applied to devices and by which users.
-  "tagOwners": {
-    "tag:client":  ["autogroup:admin"],
-    "tag:server":  ["autogroup:admin"],
-    "tag:scraper": ["autogroup:admin"],
-  },
-}
-
-
- -

ACLは初期ルールをコメントアウトするとデフォルトが全拒否になるので、必要なルールだけ追加。この場合は、手元のノートPCからは全マシンに全許可、Prometheusからはserverタグが付いたマシンのNode exporter用9100ポートのみ許可。serverタグ用のルールは存在しないのでこのタグのマシンはどこへもアクセスできない。

- -
-
{
-  // Define access control lists for users, groups, autogroups, tags,
-  // Tailscale IP addresses, and subnet ranges.
-  "acls": [
-    // Allow all connections.
-    // Comment this section out if you want to define specific restrictions.
-    //{"action": "accept", "src": ["*"], "dst": ["*:*"]},
-    {"action": "accept", "src": ["tag:client"], "dst": ["*:*"]},
-    {"action": "accept", "src": ["tag:scraper"], "dst": ["tag:server:9100"]},
-  ],
-}
-
-
- -
-
-
`tag:scraper`のプレビュー -
-
- -
- tag:scraperのプレビュー -
-
- -

ルール数が最小なので、テストを書くのも簡単。

- -
-
{
-  // Test access rules every time they're saved.
-  "tests": [
-    {
-      // clients can access anywhere
-      "src":    "tag:client",
-      "accept": ["tag:server:22", "tag:client:22", "tag:scraper:22"],
-    },
-    {
-      // scraper can only access to servers with port 9100
-      "src":    "tag:scraper",
-      "accept": ["tag:server:9100"],
-      "deny":   ["tag:client:22", "tag:scraper:22", "tag:server:22"],
-    },
-    {
-      // servers cannot access anywhere
-      "src":  "tag:server",
-      "deny": ["tag:client:22", "tag:server:22", "tag:scraper:22"],
-    },
-  ],
-}
-
-
- -

これでデバイスを共有してログインしてもらったとしても、アカウント内の全デバイスへのネットワークアクセスまで許可することはなくなった。

-
-
-
-
- - - - - - - - - + diff --git a/docs/ja/post/2023/1690694899/featured.png b/docs/ja/post/2023/configure-tailscale-acl/featured.png similarity index 100% rename from docs/ja/post/2023/1690694899/featured.png rename to docs/ja/post/2023/configure-tailscale-acl/featured.png diff --git a/docs/ja/post/2023/1690694899/featured_hu7da5e99bd034dae591657a9bec9998d0_79096_feb23d94d13a46da17bfe17d537f02c3.webp b/docs/ja/post/2023/configure-tailscale-acl/featured_hu7da5e99bd034dae591657a9bec9998d0_79096_feb23d94d13a46da17bfe17d537f02c3.webp similarity index 100% rename from docs/ja/post/2023/1690694899/featured_hu7da5e99bd034dae591657a9bec9998d0_79096_feb23d94d13a46da17bfe17d537f02c3.webp rename to docs/ja/post/2023/configure-tailscale-acl/featured_hu7da5e99bd034dae591657a9bec9998d0_79096_feb23d94d13a46da17bfe17d537f02c3.webp diff --git a/docs/ja/post/2023/configure-tailscale-acl/index.html b/docs/ja/post/2023/configure-tailscale-acl/index.html new file mode 100644 index 00000000..1e08dccf --- /dev/null +++ b/docs/ja/post/2023/configure-tailscale-acl/index.html @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TailscaleのACLを設定した | Nobuto Murata + + + + + + + +
+
+
+

TailscaleのACLを設定した

+ + +
+ +
+
+

TailscaleのACLは簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。

+ +
+
{
+  "acls": [
+    // Allow all connections.
+    // Comment this section out if you want to define specific restrictions.
+    {"action": "accept", "src": ["*"], "dst": ["*:*"]},
+  ],
+}
+
+
+ +

一応手元のデバイスだけはtailscale up --shields-upでどこからもアクセスを受け付けないようにしてたし、仮にポートが空いていても認証が必須にはなっていた。ただ、人にTailscaleのデバイス共有機能と別途SSHの鍵認証でログインを許可することがあり、ログインするとそのデバイスが紐付いているTailscaleアカウント(私のアカウント)内の全デバイスに(ネットワーク的に)アクセスできてしまう。もちろん信頼できる人にしかログインさせていないけれども、これを機にACLを設定した。特筆することはなくドキュメント通り。

+ + + +

まずはデバイスを3つタグにグループ分け。

+ +
    +
  • tag:client - 手元のノートPC
  • + +
  • tag:server - 検証用マシンなど
  • + +
  • tag:scraper - Prometheusを動かしているマシン
  • +
+ +
+
{
+  // Define the tags which can be applied to devices and by which users.
+  "tagOwners": {
+    "tag:client":  ["autogroup:admin"],
+    "tag:server":  ["autogroup:admin"],
+    "tag:scraper": ["autogroup:admin"],
+  },
+}
+
+
+ +

ACLは初期ルールをコメントアウトするとデフォルトが全拒否になるので、必要なルールだけ追加。この場合は、手元のノートPCからは全マシンに全許可、Prometheusからはserverタグが付いたマシンのNode exporter用9100ポートのみ許可。serverタグ用のルールは存在しないのでこのタグのマシンはどこへもアクセスできない。

+ +
+
{
+  // Define access control lists for users, groups, autogroups, tags,
+  // Tailscale IP addresses, and subnet ranges.
+  "acls": [
+    // Allow all connections.
+    // Comment this section out if you want to define specific restrictions.
+    //{"action": "accept", "src": ["*"], "dst": ["*:*"]},
+    {"action": "accept", "src": ["tag:client"], "dst": ["*:*"]},
+    {"action": "accept", "src": ["tag:scraper"], "dst": ["tag:server:9100"]},
+    {"action": "accept", "src": ["autogroup:shared"], "dst": ["tag:server:*"]},
+  ],
+}
+
+
+ +
+
+
`tag:scraper`のプレビュー +
+
+ +
+ tag:scraperのプレビュー +
+
+ +

ルール数が最小なので、テストを書くのも簡単。

+ +
+
{
+  // Test access rules every time they're saved.
+  "tests": [
+    {
+      // clients can access anywhere
+      "src":    "tag:client",
+      "accept": ["tag:server:22", "tag:client:22", "tag:scraper:22"],
+    },
+    {
+      // scraper can only access to servers with port 9100
+      "src":    "tag:scraper",
+      "accept": ["tag:server:9100"],
+      "deny":   ["tag:client:22", "tag:scraper:22", "tag:server:22"],
+    },
+    {
+      // servers cannot access anywhere
+      "src":  "tag:server",
+      "deny": ["tag:client:22", "tag:server:22", "tag:scraper:22"],
+    },
+  ],
+}
+
+
+ +

これでデバイスを共有してログインしてもらったとしても、アカウント内の全デバイスへのネットワークアクセスまで許可することはなくなった。

+
+
+
+
+ + + + + + + + + + + diff --git a/docs/ja/post/2023/index.html b/docs/ja/post/2023/index.html index 0e932aa1..4795638f 100644 --- a/docs/ja/post/2023/index.html +++ b/docs/ja/post/2023/index.html @@ -221,21 +221,21 @@

2023

diff --git a/docs/ja/post/2023/index.xml b/docs/ja/post/2023/index.xml index a6ab1014..61d36342 100644 --- a/docs/ja/post/2023/index.xml +++ b/docs/ja/post/2023/index.xml @@ -490,9 +490,9 @@ TailscaleのACLを設定した - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ Sun, 30 Jul 2023 14:28:19 +0900 - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ <p><a href="https://tailscale.com/kb/1018/acls/" target="_blank" rel="noopener">TailscaleのACL</a>は簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">&#34;acls&#34;</span><span class="p">:</span> <span class="p">[</span> @@ -532,6 +532,7 @@ </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="c1">//{&#34;action&#34;: &#34;accept&#34;, &#34;src&#34;: [&#34;*&#34;], &#34;dst&#34;: [&#34;*:*&#34;]}, </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:client&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;*:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:scraper&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:9100&#34;</span><span class="p">]},</span> +</span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;autogroup:shared&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">],</span> </span></span><span class="line"><span class="cl"><span class="p">}</span> </span></span></code></pre></div> @@ -555,7 +556,7 @@ <figure id="figure-tagscraperのプレビュー"> <div class="d-flex justify-content-center"> <div class="w-100" ><img alt="`tag:scraper`のプレビュー" - src="https://nobuto-m.github.io/ja/post/2023/1690694899/featured.png" + src="https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/featured.png" loading="lazy" data-zoomable /></div> </div><figcaption> <code>tag:scraper</code>のプレビュー diff --git a/docs/ja/post/index.xml b/docs/ja/post/index.xml index c578b162..e395701e 100644 --- a/docs/ja/post/index.xml +++ b/docs/ja/post/index.xml @@ -1109,9 +1109,9 @@ necessary to do so.</p> TailscaleのACLを設定した - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ Sun, 30 Jul 2023 14:28:19 +0900 - https://nobuto-m.github.io/ja/post/2023/1690694899/ + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ <p><a href="https://tailscale.com/kb/1018/acls/" target="_blank" rel="noopener">TailscaleのACL</a>は簡単に設定できることは知ってたけど、自分のデバイス間は全許可というデフォルトのポリシーのまま使っていた。</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span> </span></span><span class="line"><span class="cl"> <span class="nt">&#34;acls&#34;</span><span class="p">:</span> <span class="p">[</span> @@ -1151,6 +1151,7 @@ necessary to do so.</p> </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="c1">//{&#34;action&#34;: &#34;accept&#34;, &#34;src&#34;: [&#34;*&#34;], &#34;dst&#34;: [&#34;*:*&#34;]}, </span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:client&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;*:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:scraper&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:9100&#34;</span><span class="p">]},</span> +</span></span><span class="line"><span class="cl"> <span class="p">{</span><span class="nt">&#34;action&#34;</span><span class="p">:</span> <span class="s2">&#34;accept&#34;</span><span class="p">,</span> <span class="nt">&#34;src&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;autogroup:shared&#34;</span><span class="p">],</span> <span class="nt">&#34;dst&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;tag:server:*&#34;</span><span class="p">]},</span> </span></span><span class="line"><span class="cl"> <span class="p">],</span> </span></span><span class="line"><span class="cl"><span class="p">}</span> </span></span></code></pre></div> @@ -1174,7 +1175,7 @@ necessary to do so.</p> <figure id="figure-tagscraperのプレビュー"> <div class="d-flex justify-content-center"> <div class="w-100" ><img alt="`tag:scraper`のプレビュー" - src="https://nobuto-m.github.io/ja/post/2023/1690694899/featured.png" + src="https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/featured.png" loading="lazy" data-zoomable /></div> </div><figcaption> <code>tag:scraper</code>のプレビュー diff --git a/docs/ja/post/page/2/index.html b/docs/ja/post/page/2/index.html index 3420e6d2..5d2d12fe 100644 --- a/docs/ja/post/page/2/index.html +++ b/docs/ja/post/page/2/index.html @@ -117,21 +117,21 @@

投稿

diff --git a/docs/ja/sitemap.xml b/docs/ja/sitemap.xml index 363b4116..eb5b4afc 100644 --- a/docs/ja/sitemap.xml +++ b/docs/ja/sitemap.xml @@ -17,7 +17,7 @@ /> https://nobuto-m.github.io/ja/ - 2024-05-02T12:45:39+09:00 + 2024-12-26T15:54:55+09:00 weekly https://nobuto-m.github.io/ja/year/ - 2024-05-02T12:45:39+09:00 + 2024-12-26T15:54:55+09:00 weekly https://nobuto-m.github.io/ja/post/ - 2024-05-02T12:45:39+09:00 + 2024-12-26T15:54:55+09:00 weekly weekly https://nobuto-m.github.io/ja/post/2023/ - 2023-12-22T09:40:52+09:00 + 2024-12-26T15:54:55+09:00 weekly 2023-08-11T11:52:49+09:00 weekly - https://nobuto-m.github.io/ja/post/2023/1690694899/ - 2023-07-30T14:28:19+09:00 + https://nobuto-m.github.io/ja/post/2023/configure-tailscale-acl/ + 2024-12-26T15:54:55+09:00 weekly https://nobuto-m.github.io/ja/post/2023/1690287370/ diff --git a/docs/ja/year/index.html b/docs/ja/year/index.html index f177a66a..c0bc4375 100644 --- a/docs/ja/year/index.html +++ b/docs/ja/year/index.html @@ -127,7 +127,7 @@

Year

diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 554d1300..c99a1872 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -11,7 +11,7 @@ https://nobuto-m.github.io/ja/sitemap.xml - 2024-05-02T12:45:39+09:00 + 2024-12-26T15:54:55+09:00