だ。ログ。

開発とかスノボとかやきうとか。

MacOSをMontereyにしたらVagrantが動かなくなったハナシ

MacのOSをアップデートする

何もない。
と思って金曜日の夕方にアップデートしたMacOS
月曜日の朝に起動しローカル環境のいつもの vagrant upを行うがエラーが。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/xenial64' version '20210112.0.0' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8020 (guest) => 8020 (host) (adapter 1)
    default: 8080 (guest) => 8080 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "xxxxxxxxxxxxxxxxxxxxxxxx", "--type", "headless"]

Stderr: VBoxManage: error: The virtual machine 'xxxxxxxxxxxxxxxxx' has terminated unexpectedly during startup because of signal 10
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

赤字が出て動かない。
Twitterで見つけたフォーラム
github.com
どうやら、OS側とソフトウェア側が複雑に絡み合った問題で、動いたーって人もいるけどそのやり方だと動かない
みたいな状態で、なまじっか手を入れると問題になりそうだなと判断。1週間して今日Vagrantを見ると
2.2.18 -> 2.2.19になっているのでアップデート

その後、色々と調べていくと Zenn様のブログより
zenn.dev

config.vm.provider :virtualbox do |vb|
	vb.gui = true
end

自分の使うVagrantfile内のendの前に上記を付け足してvagrant upを試すと動いた。
ただし、GUIモードでのみ現状動く。なのでこのconfig〜〜を切ると動かない。

それと、192.168.33.xxのIPは使わないでね、56セグにしてねって怒られた。

まだフル解決ではないがとりあえず環境自体はある程度復旧できただけでもよしとするか。。

iCheck.jsのイベントが発火しない

iCheck.js

視覚的にチェックボックスを柔らかく見せてくれるので、特に管理画面なんかで使うiCheck.js
イベントを拾ってどうこうしたいとやっていた

## element側
<input type="checkbox" class="flat-red" id="hoge" name="hoge" value="hogehoge"> hoge

## js側
$("#hoge").change(function(){
   alert("うごいたよー");
});

hogeという要素に変更があった場合に一旦ダイアログを出せって言う感じで動作確認したが動かない。
よくよく考えるとiCheck.jsで要素を視覚的に書き換えているから、そりゃ動かない。
ただしくは

$("#hoge").on('ifChanged',function(event){
    alert("うごいたよー);
});

ifChangedでイベントを取得しないと、要素が書き換えられて動かないみたい。
結構便利だから使うけど、意外と忘れやすい部分なのでメモ。

VirtualMachineのSSH接続が吹っ飛んだ

ターミナルアプリが吹っ飛んだ

お昼から帰ってきてPCを立ち上げると、ターミナルアプリから変なメッセージが出てホストが全部吹っ飛んでいる。。。
とにかく他に影響ないかを確認して、自分のマシンのみがクラッシュした事で色んな関係各所に迷惑は掛けずに済んだ

VMのローカルに入れない

192.168.334.334 で10334番ポートにしてある。しかもユーザーはvagrantのままだ。
なのにホストを入れても入れない。

原因

VM仮想マシンを作った際にインストールしたディレクトリの

./.vagrant/machines/default/virtualbox/

内にkeyがあるのでそれを指定する。

殆ど触らないからこそ、何かあった時にビビる。。

applewatchを買った話

欲しいと思った動機

この1年以上、マスクが手放せないと言うか当たり前のように外出時にはマスクをする。
COVID-19の感染防止もあるが、仮に自分が保菌していた場合になるべく加害者にならないようにする。人様に迷惑を掛けないと言う事が大前提である。

通勤(ほとんどしていないが)、野球、その他シーンでもスマホは高い頻度で使う。
あれだけ当たり前に使っていた顔認証が今の時代が出来ない。ほんの少しマスクを外すのも憚られる時代だ。
特に通勤電車では、混雑状況によっては何度かスマホを使えないので毎回パスワードを手入力する。

その辺が面倒臭いと感じるのが悲しいかな年齢だなと思った。ちょうど緋弾のアリアで2万発出て小遣いがあるので今ならと量販店へ。

最初の難関、ベルト取り付け

どちらが上かどちらが下か最初は見分けが付かない。
簡単に言うと竜頭がついている方に、ベルトのボッチのついた物を差し込む。
自分は間違って竜頭がある方に下側のベルトを付けてしまった。

間違ってつけてしまった場合は裏側の窪みを押せばベルトが開放される。力ずくでやると壊れる。

使用感

ビジネスシーンでは目立つ。仕事でお客様と会うときとかは、これぞ腕時計って形の物に変更している。
あくまでも個人で楽しむガジェットと言う事を念頭としている。

使っているアプリは主にモバイルSuica
まず、親機となるiPhone側のSuicaをapplewatch側に転送する必要がある。これはSuicaだけでなくapplewatch側で利用するカードは端末に転送しなくてはならない。
転送したあとは親機であるiPnone側からは利用はできなくなる。無意識にスマホで改札タッチをすると通れない。最初はここに戸惑う。

基本的に腕時計を左腕につける癖があるので、改札が右だと一旦腕を回し込む。出来る人なら右につけた方が間違いがなく楽に通れると思う。
春以降電車での移動が増えた事もあるが、ビューカードオートチャージを設定しているのでチャージ不足で通れないと言う事はなくなった。

通知

結構ソースコードを書いたりアレコレしているとスマホの通知を見落とす。
applewatchは腕がブルっと来るので通知を見落とさない。友達がLINEで盛り上がると腕が延々とブルブルしている。

バッテリー

朝9時とか10時に装着して、自宅に帰るのは19時くらい
バッテリーがピンチになる事は今の所はない。あまりアプリをアレコレ使っていないからと言う事もあるだろうけど、使えるアプリが増えるにつれてバッテリーの減りは増えるだろうと思うが1日付けて気になる程ではない。
ただし、充電がワイヤレス接続なのでライトニングケーブルが使えない。
ヨドバシカメラで純正の3850円で購入、時計の液晶を保護するシートも同額くらいするので7000円くらいは付属品に必要となる。

たまに発熱する。ただし夏場の外での体感なので冬場にどれくらい発熱するか要観察

買ってよかったか

使い始めて1ヶ月程度経過したが、あればあったで便利である。
新幹線のスマートEXもタッチで通れるし、大阪でも気にせず利用出来た。
電車に乗る際もいちいちスマホを出さなくて良い、移動中にスマホを観るのが嫌いなのでいちいちポケットから出さなくて良いのは本当に助かっている。
AppleWatchと家のMaciPadと連動しているので、認証時にAppleWatchがアクティブになっていれば時計側で認証出来る。

vagrantをアップデートしたら起動しなくなった

$ vagrant up
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp

こんなエラーが出てvagrantが起動しなくなった。
どうやら、VirtualBoxVagrantのアップデートをした際にインターネットからダウンロードしたプログラムなので
管理者が意図的にインストールした物かどうかの許可を与えなくてはならないみたい。

と言うことで

システム環境設定 > セキュリティとプライバシー > 一般
のダウンロードしたアプリケーションの実行許可をチェックして再起動すると起動出来た。

Let's Encryptの担当者のメールアドレス変更

商用環境ではあまり使っていないが、どうしてもスモールスタートをする場合のネックとなる有料SSL
結構色んなところで利用はしているが、担当者が居なくなってSSLの更新をサボっている。もしくはcertbot更新用のバッチを作っていないなんて事も見られる。

まあ、ベンダー側としては3ヶ月に1回SSL更新で定期作業してますよーって言いたいのはわかる。

ただし担当者が辞める等でアラートメールが来なくなる → 誰も気付かない → 気づいたときにSSLが更新されてない!! → 見てください

って言うコンボが多い。更新はcertbot renewでなんとでもなるが、そもそも担当者を自分が巻くって言うところまではしたくないのでメアド変更のコマンド

$ sudo certbot update_account --email hoge@fuga.moge

担当者のメアドに変更すればOK
ただし、certbotのバージョンが低いとこのコマンドではないのでその場合は別途調べる。

Let's Encryptの証明書の更新エラー

上手く更新が出来ない

もともと手を入れていないサーバーなので、自分の管理外だったのだが「SSLが更新出来ない」との依頼。

$ certbot renew

Beginning June 1, 2020, we will stop allowing new domains to validate using the ACMEv1 protocol. You should upgrade to an ACMEv2 compatible client before then, or certificate issuance will fail. For most people, simply upgrading to the latest version of your existing client will suffice.

どうやらACMEv1にしか今のバージョン対応してないからACMEv2に対応するようにアップデートしてね。とのお達し。

$ certbot --version
-- certbot 0.21.1

ああ、コレだ。
2021年6月の段階でcertbotのバージョンは1.11.0なので相当古い物を使い続けていた。
アップデートしていない事により、バージョンが対象外になったよ。って事なのでアップデート

$ yum update certbot-apache

$ certbot --version
-- certbot 1.11.0

$ certbot renew

上手く通った。
多分古いサーバーで更新出来ないってなハナシがこれからぽつぽつ出てきそうなのでメモ。