ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

utmの中で動くmac(sequoia)でbrew doctorの警告回避

去年にsequoiaが動くmac m4を使い始めて、vmwareの代わりに utm入れてさらにsequoiaを稼働 させるようにした。 utmの中のsequoiaは前に使ってたintel macからデータ引越してるんやけど、ずっと放置してた警告No Cask quarantine support available: unknown reasonを回避してみた。 utmをホストしてるmac miniではこの問題発生せんかったし、intelからm4に引っ越してbrew使い続けたときだけ出るエラーなんとちゃうかなぁ。 警告の内容 こんなん出てた。 1 2 3 4 5 6 7 nari@gvis-mac script % brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry or file an issue; just ignore this. Thanks! Warning: No Cask quarantine support available: unknown reason. ⭐️何だチミは nari@gvis-mac script % brewの状態はこんな感じ。brewはrubyで実装やったな。 ...

 ⭐️

macでwinmergeみたいなこと

djangoのソースいじったり、linux/mac/windowsのスクリプトを維持したり、この文章もgoogle cloudで動かしてるgitlabのコンテナに入れてる。 更新差分を確認するのは、ずっとwinmerge使ってるんやけど、macでも同じようなことできるんとちゃうか。 探してみたらあった。 DiffMergeってのがあるそうな 総本山はここ。 SourceGear | DiffMerge www.sourcegear.com 本来はプログラムをマージしてくのが目的なんやけど、自分は直近1年ぐらいの変遷がわかったらええ。 ファイルのありなしと、書いてる内容の差分が見えたらいったんOKやねんけどね。 macで書いてから、gitlabに登録してgit cloneしたあとに、内容が維持できてるかが見れるのが自分としての目的。 入れてみましょ。 ダウンロードするdmgファイルの名前にintel stableってあるけど、macやからm4でもうまいことやってくれるはず。 Extrasって書いてあるフォルダには実行には関係なさそうなファイルが入ってるから放置。 Applicationsのフォルダのエイリアスあるから、ドラッグして起動させてみたら動くやん。 brewでもインストールできるで。こっちのほうがバージョンアップ維持しやすいかも。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 nari@gvis-mac ~ % brew install --cask diffmerge ==> Downloading https://formulae.brew.sh/api/cask.jws.json ==> Caveats diffmerge is built for Intel macOS and so requires Rosetta 2 to be installed. You can install Rosetta 2 with: softwareupdate --install-rosetta --agree-to-license Note that it is very difficult to remove Rosetta 2 once it is installed. ==> Downloading https://download.sourcegear.com/DiffMerge/4.2.1/DiffMerge.4.2.1.1013.intel.stable.dm ############################################################################################# 100.0% ==> Installing Cask diffmerge ==> Moving App 'DiffMerge.app' to '/Applications/DiffMerge.app' ==> Linking Binary 'diffmerge.sh' to '/opt/homebrew/bin/diffmerge' ==> Linking Manpage 'diffmerge.1' to '/opt/homebrew/share/man/man1/diffmerge.1' 🍺 diffmerge was successfully installed! nari@gvis-mac ~ % エンコードとか初期設定 インストーラがあるアプリケーションやったら言語で日本語選べることもあるけど、macのソフトウェアは日本語でストレートに動きだすことは少ない。 ...

 ⭐️

mariadbを10.11(jammy)から11.4(noble numbat)へ切り替え

母艦として利用してるローカルlinuxも、xrdpコンテナもベースosをjammyからnumbatへ切り替えた。 ローカルkubernetesもminikubeからmicrok8sに切り替えて、利用イメージをnumbatへ切り替えた。 google cloudの中のベースosもxrdpも同じくnumbatへ切り替えた。 面倒やし書かへんけど、業務利用してるawsの中のamazonlinux2023で動かしてるコンテナもnumbatのxrdpに変えてみた。 今月けっこうがんばったな。 もしかしてと思ってdockerhub見たら、mariadbもベースosがnumbatのが出てるやん。 ただ上がるだけやったら放置やけど、LTSが出とる。 コンテナのバージョンアップしたほうがええな。 検証利用やし、メモなしで業務利用のawsの中のmariadbをnumbatにバージョン上げてダンプファイル突っ込んだら、あっさり動いた。 今回は母艦の中のdockerで動いてるmariadbをnumbatに上げる。 mariadbのダンプファイルはテキストになってて、createしたりinsertしたりするからデータの保全はほぼ常にできてる。 バージョンの特定 世間一般へのアナウンスは11.4がLTSってなってた。 MariaDB | endoflife.date endoflife.date dockerhubにタグがあって11.4がある。 hub.docker.com 11.4-nobleは11.4.2ってのと同じdigestになってるから、11.4.2を使えばええっぽい。 11.4.2より新しい11.5ってのもあるけど、LTSやないみたいやから要らん。 ubiってもしや? なんと、タグ名にubiってのがついてるのがある。 もしかしてUniversalBaseImageの略? redhatのこととちゃうんか? ググったら出てきた。 UBI based Docker Official Images - MariaDB.org mariadb.org 「エンタープライズ向けユーザにお知らせでーす」って赤い帽子かぶってるやん。 いろんなプラットフォームで動いてくれるのはええことかなって思う。 サポートの都合でredhat一択っていうユーザ企業もあるやろし。 redhatは母艦にあるubuntuに比べたら、使ってるカーネルが古い傾向があったはず。 dockerは親ホストとコンテナがカーネル共有するから、わけわかめな誤動作出たらイヤやしubiは使わん。 ibmの息がかかったプロダクトはredhat/centosみたいな末路たどるんとちゃうかってイヤな予感。 mysqlがubi使ってもええけど、mariadb大丈夫か? もしDBMSを切り替えるとしたら、postgresqlでもええけど、あのデータベースは運用途中で勝手に最適化動いて遅くなるのがイマイチ。 何年か前に業務で、javaのガベージコレクションがまとめて動いたときみたいな、悲惨な応答速度になることが夜間バッチであったな。 別のデータベースの可能性を探しながら様子見るしかないな。 どのへんが変わったか データベースそのものを変えるときはsql発行で使えんようになったものとか、使ってる処理に制限が出て影響出えへんかを気にする。 シンプルなsqlだけ使ってたら気にせずでええんやけど、ストアドとか使ってたらdbmsの変更すらできん。 世の中にはこのせいでoracleから抜け出せへんユーザ企業あるやろしな。 同じデータベースで、しかもバージョン変更だけやし、djangoから利用するのが前提やから、それほど気にせずアプリケーションテストでほぼ大丈夫なはずやけど、リリースノートは軽く読む。 MariaDB 11.4.2 Release Notes | MariaDB Documentation mariadb.com けっこういっぱい書いてある。 LTSやししゃぁないんかもしれん。 mysqldumpはmariadb-dumpに変わったんかな。 データの流し込みのとき気をつけなアカンかもな。 真面目に英語読んだのは5行。あとは読む気が萎えた・・・。 バグ対処とかいろいろあるんやろな。 型とかsqlは致命的な変更なさそうに思うけど大丈夫なんかなぁ。 事実を列挙するだけやのうて、使う側目線でもうちょっと読みやすかったらええのに。 どう保全するか 扱ってるデータベースには、djangoアプリからお金の情報/時間の情報/活動記録として数値とテキスト、名刺とか受け取り資料のpdf/jpegがblob列に入ってる。 帳簿は7年分を別途でpdf保管してるから、数字とかテキストを目検で追いかけたり、登録可否を確認する。 古いほうのバージョンのdbmsからのダンプを登録できる(インポート) 7年分の合計金額が1円単位であう(sql集計の確認) djangoのmatplotlibで円グラフ表示させてるパーセンテージが小数点以下でズレてへん(djangoでの集計) 月次の活動記録のテキストとpdf/jpegを任意で拾って化けてたり読み取り不良になってへん(blob列のデコード) mariadbに設定してるmax_allowed_packetを超えへんサイズのpdfがblob列にinsertできる(blob列へのbase64保管) 極端に挙動が遅くなってたりせんか(django画面での応答速度) 意識しながらdjangoの画面を開いて確認やな。 ...

 ⭐️

ubuntu24母艦のrdp接続 - xrdpやなくてgnomeの設定と.rdpファイル

ubuntu24使いはじめのとき、リモートデスクトップ接続で内部エラーってなってた。 dockerコンテナでxrdpコンテナはホイホイ動いたけど、母艦にrdpできてへんかったなって思い出した。 今回はwindows/macから接続できるようにしてみる。 接続結果 windowsからやとこうなる。 ただし、警告が出る。 これを解決せんとmacosからはつなげられへん。 解決させて、macosから接続するとこうなる。 ほな、解決の経緯こっから下な。 アプローチ ubuntu24へのリモートデスクトップを真面目にやると、いくつもヒットする。 作者さんありがとう。 How to Install Remote Desktop (Xrdp) on Ubuntu 24.04 - Linux Genie linuxgenie.net Ubuntu 24.04 LTS : Xrdp サーバーの設定 : Server World www.server-world.info 自分はdockerコンテナで使ってるxfce使いたいなって思ったから、1つ目のリンクでやりかけた。 1 2 # sudo apt install xfce4 xfce4-goodies # sudo apt install xrdp せやけど、途中でsystemctlでステータス確認したらエラーが出てきた。 1 2 3 4 7月 21 03:05:31 nafslinux-ubu24 xrdp[27860]: [ERROR] g_tcp_bind(7, 3389) failed bind IPv6 (errno=98) and IPv4 (errno=22). 7月 21 03:05:31 nafslinux-ubu24 xrdp[27860]: [ERROR] trans_listen_address failed 7月 21 03:05:31 nafslinux-ubu24 xrdp[27860]: [CORE ] Failed to start xrdp daemon, possibly address already in use. 7月 21 03:05:31 nafslinux-ubu24 systemd[1]: xrdp.service: Control process exited, code=exited, status=1/FAILURE なんやねん、already in useってあるやんけ。 先にどっかのプロセスが使ってるってどういうことやねん。 ...

ubuntu24を利用開始(google cloud分)

ローカルlinuxをubuntu24にバージョン上げて様子見しながら、google cloudのも準備。 Google cloudのubuntu ちゃんとubuntu24LTSのイメージもgoogle cloudにあった。 intel系のだけやなくarmもあんねんな。 macosとかwindowsとか出始めは「バグ多いから出始めは使ったらアカン」みたいな人多いけど、ベータ版とか極端な危険の懸念とかないかぎり、必要機能が使えるって判断したらすぐ利用開始に着手するで。 linuxでもwindowsでもOSは新規インストール一択。 パーティション新規作成して入れる。 windows98もwindows11でもアップグレードしてインストールしたらうまくいかんこと多かったな。 今はvmあるんやから、新規でvm作ってデータパーティションだけマウントしたらええ。 新OSを準備 「noble numbat」って名前長い。 端的に「numbat」でええ。 nobleの意味は「高貴で尊い」ってなってて、あんまり好かん。 フクロアリクイの絵柄が王冠みたいになってた壁紙とかイヤやなぁ。 ubuntu22はjelly-fslinuxってつけて作ってた から、24はnumbat-fslinuxってつける。 やることは前と同じ。 google cloudのコンソールで、まずは外部IPと内部IPを準備・特定しとく。 次にネットワーキングにファイアウォールのタグつけて、ネットワークとサブネットワークの設定つけたら鍵ファイル作って設定。 1回作っておさらいしながらやっておいて潰す。 2回目に点検しながら作ってまう。 teraterm接続できてssh転送が終わってdocker入れる直前まで、E2シリーズのマシンタイプにしとこ。 uid=1000のユーザ名を変更 今更なんやけど、osインストールしたらユーザidが1000としてubuntuって名前のユーザが元からある。 以下、赤い背景がubuntu22(jammy jellyfish)で水色のがubuntu24(noble numbat)。 ローカルlinuxのubuntu24は、centosの頃から使ってるファイル類があるから、uid=1000は自分のユーザでないと困んねん。 特にgoogle cloudでファイル維持してるものをローカルlinuxに持ってきたとき、uidが変わってたらgit管理してるファイルがいっつも全更新みたいな感じになる。 一時的に別ユーザ作っておいて、ubuntuユーザを削除して作り直してく。 ユーザidの操作メモを書いてくれてる人がいた。ロックする方法もあった。 作者さんありがとう。 Linuxコマンド - ユーザ・グループの確認/追加/削除 #ユーザー管理 - Qiita qiita.com Linuxでユーザアカウントを無効化するエトセトラ - astamuse Lab lab.astamuse.co.jp 変更する方法ってのもあるのね。 UID と GID の変更 - プレイヤーズ・ハイ i97506051502.hatenablog.com 作り直した結果はこうなった。 1 2 3 4 naritomitsukasa@gcp-numbat-fslinux:~$ cat /etc/passwd | grep nari naritomitsukasa:x:1101:1101::/home/naritomitsukasa:/bin/bash nari:x:1000:1000::/home/nari:/bin/bash naritomitsukasa@gcp-numbat-fslinux:~$ ログインしといたまま、次に実施するssh鍵作った後で$HOME/.ssh/authorized_keysに最終的に作った鍵ファイルの内容を入れてく。 ...

 ⭐️