freebsd/FreeBSD-11.1-RELEASE on Vagrant の HDDサイズを増加させる
tag:freebsd,vagrant
以下、Windows 10 PowerShellから操作した例。
PowerShellの起動は一般ユーザーでOK。
# 仮想マシンの情報を取得。HDDのコントローラ名(IDEとか)は後でパラメータとして使うのでメモする。 VBoxManage list vms --long # 仮想メディアマネージャーのHDD一覧表示。対象のディスクのUUIDをメモする。 VBoxManage list hdds $UUID="71d86c9a-7615-45ae-97f1-cf198e62dc89" # UUIDを指定して詳細表示 VBoxManage showhdinfo $UUID # vmdkディスクをクローンしてvdi形式に変換 # VBoxManage clonemedium サブコマンドでは、 disk input-disk-uuid output-file options のように記載する。output-fileのフルパスは各自変更のこと。 VBoxManage clonemedium disk $UUID "/Users/george/VirtualBox VMs/vagrant-freebsd111_default_1525242509231_45939/NewVirtualDisk1.vdi" --format vdi # 仮想メディアマネージャーのHDD一覧表示。cloneしたvdi形式のUUIDをメモする。 VBoxManage list hdds $UUID_VDI="1cb7dc7c-76ee-49ed-b96c-900fa9e8e066" # クローンしたvdi形式のディスクをリサイズ ( 200 GB ) VBoxManage modifymedium disk $UUID_VDI --resize 200000 # 仮想メディアマネージャーのHDD一覧表示。サイズが増加していることを確認。 VBoxManage list hdds # VM一覧表示。対象のVMのUUIDをメモする VBoxManage list vms $VMID="97214c23-d507-4ad6-abec-c5f933e0990f" # ディスクをリサイズしたVDIに切り替える。 # VBoxManageコマンドを利用して、コントローラ削除->コントローラ追加->ディスク接続という流れで作業を実行する。 # FreeBSD 11.1-RELEASEのvmdkではSATAではなくてIDEが使われていたので、以下のコマンドでもIDE Controllerを指定する。 VBoxManage storagectl $VMID --name "IDE Controller" --remove VBoxManage storagectl $VMID --name "IDE Controller" --add ide VBoxManage storageattach $VMID --storagectl "IDE Controller" --type hdd --medium $UUID_VDI --port 0 --device 0 # お掃除。無事にHDDサイズ増加に成功したら、元のvmdkのディスクは消去。 VBoxManage showhdinfo $UUID VBoxManage closemedium disk $UUID --delete VBoxManage list hdds
以上でディスク形式はVDI型になり、最大サイズは200GBに増えたはず。
vagrant up してみる。
次はゲストOS側の設定。増加したHDDを認識させる。
# vagrant ssh で FreeBSD側にログイン。 vagrant ssh # rootになる sudo -i # gpart show で現在のパーティション情報を表示。 gpart show
実行結果の例。200GBに増えてないw
# gpart show => 3 44042235 ada0 GPT (195G) [CORRUPT] 3 118 1 freebsd-boot (59K) 121 2097152 2 freebsd-swap (1.0G) 2097273 41943040 3 freebsd-ufs (20G) 44040313 1925 - free - (963K) #
続いて操作。
# GEOMエラー発生チェック。発生している場合は、以下のようなメッセージが表示される。 # kernel: GEOM: ada0: the secondary GPT header is not in the last LBA. # kernel: GEOM: diskid/DISK-VB1cb7dc7c-66e0e8a9: the secondary GPT header is not in the last LBA. grep GEOM /var/log/messages # gpart recover コマンドで復旧してみる。 gpart recover ada0 # 再度、gpart showでパーティション情報を表示 gpart show
修正後の表示例。良い感じに増えてる。
root@:~ # gpart show => 3 409599989 ada0 GPT (195G) 3 118 1 freebsd-boot (59K) 121 2097152 2 freebsd-swap (1.0G) 2097273 41943040 3 freebsd-ufs (20G) 44040313 365559679 - free - (174G) root@:~ #
gpart showの結果では、freebsd-swapが2番目、freebsd-ufsが3番目(最後)にあって、その後に空き領域が続いている。
つまり、freebsd-swapを消さなくてもそのまま root file system が増やせるレイアウトとなっている。
# gpart resize実行。 -i は何番目を操作対象にするか。 -s はリサイズ後の容量を指定。 gpart resize -i 3 -s 170G -a 4k ada0 # 変更後の確認 gpart show
実行結果。なんか増えたw
root@:~ # gpart show => 3 409599989 ada0 GPT (195G) 3 118 1 freebsd-boot (59K) 121 2097152 2 freebsd-swap (1.0G) 2097273 356515839 3 freebsd-ufs (170G) 358613112 50986880 - free - (24G) root@:~ #
growfsコマンドでUFSのファイルシステムも増やす
# growfs(8)実行 root file system を増やす # シングルユーザーに落とさなくても平気らしい growfs / # 空き容量表示 df -k
実行結果。うし。増えたw
root@:~ # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/gpt/rootfs 172642104 1878928 156951808 1% / devfs 1 1 0 100% /dev root@:~ #
今までも日記のh4タグの所にはリンクついてたけど、これの生成元をawkから俺のwiki側にしてみた。
日記を目で見ている限りでは違いはない・・・はず。
全HTMLファイルの更新日時が新しくなってるけど、リンクの自動付与が原因。
結構有名どころが揃い踏みしててワロタw
ニコニコ生放送企画としてはアリかも。
複数キャラ同時出場だと色々カオスで司会者大変そうだw
NHK BS 103 ではガンダム大投票やってる
ヴァーチャルYouTuber生放送と時間が衝突してて画面がカオス
日記のid付与処理を8年ぶりに更新。 年月日に加えて時分秒まで含むように変更。 latest生成時に降順ソートのキーに使いたかったので。
つか8年ぶりって長いなww
んで、ダイジェストというか最新 n 件の日記を自動生成してみた結果がこれ。jdiaryLatest 。 悲しいことに awk / perl で加工生成した jdiary_last.html の方が優秀だったw
今後、新しい日記のエントリ件数が20件を超えたあたりから、ようやくマトモにリンクが動作するようになるはず。
WindowsとMacOS XとLinuxとFreeBSDはIntelの罠にかかった模様
OpenBSDとNetBSDはセーフだったらしい
銀河英雄伝説の新版、Amazon Prime Videoでもやってた
ぐぅ・・今期は懐かしアニメの続編とかリニューアル多すぎじゃないですかね
jdiaryB80501の続き。
tag:wiki
ダイジェストというか最新n件の日記自動生成処理を更新。jdiaryLatest 。
日記専用じゃなくて、特定の名前から始まるwiki nameを更新日時の新しい方から表示しているので微妙な感じだが、とりあえずは使えるかな。
残りの野望としては、タグ検索結果のダイジェスト出力も静的HTML出力すると、日記に時々出現している tag: という謎の記述もリンクとして表示できるようになる予感。
tag:wiki
元々のネタはここから。
投入済みのタグって何があったっけ?と不明になってきたのでタグ一覧表示機能追加。
そこから指定タグを持つ記事のアーカイブ出力モードも追加。
日記というかblogをベースとしたメモ記事の分類整理に使えるかな。
いやまあ素直にWordPressとか各種日記システム使えって話だけどもw
minikube v 0.27.0 出たけど、ダメだったよ... (chocolatey Windows版)
tag:minikube
うーんw
kubeletの起動オプションがv0.10.0で変更になったので既存の構築スクリプト(kubeadm)が全滅してるけど、少なくともWindows版のminikubeだと対応されてない状態が続いてるな。
ちとLinux版のminikube試してみるかなー
minikube v0.25.2だと、搭載されているdockerのバージョンが古くて docker system prune が使えないので不便だ。
Starting cluster components... E0520 11:09:54.809505 2224 start.go:276] Error starting cluster: kubeadm init error sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI running command: : running command: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI output: [init] Using Kubernetes version: v1.10.0 [init] Using Authorization modes: [Node RBAC] [preflight] Running pre-flight checks. [WARNING Swap]: running with swap on is not supported. Please disable swap Flag --admission-control has been deprecated, Use --enable-admission-plugins or --disable-admission-plugins instead. Will be removed in a future version. failure loading ca certificate: the certificate is not valid yet : running command: sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI .: Process exited with status 1
後日談。issueにはあがっているようなので、しばし様子見かな
Vagrant用 Ubuntu bionic64(18.04 LTS)イメージが出ていたので起動してみた
環境はWindows10Pro(バージョン1803)+VirtualBox(5.2.4r119785)。
tag:vagrant
# イメージ入手 vagrant box add ubuntu/bionic64 # 作業用ディレクトリ作成&その中に移動 mkdir ubuntu-bionic64 cd ubuntu-bionic64 # Vagrantfile新規作成 vagrant init ubuntu/bionic64 # 起動 vagrant up
起動するまでしばらく待つ。
# vagrantマシンに接続 vagrant ssh
以下、vagrantマシンの中の操作。
# OSバージョン表示 cat /etc/os-release
うし。起動確認。これでちょっと遊べるぞい。
Let's Encryptの証明書の期限が切れてた
tag:freebsd,letsencrypt
前回の続き。
自動更新を仕込んだはずだったが、動いてなかった;;
エラーメッセージは以下。
Attempting to renew cert (xxx.yyy.local) from /usr/local/etc/letsencrypt/renewal/xxx.yyy.local.conf produced an unexpected error: Problem binding to port 80: Could not bind to IPv4 or IPv6.. Skipping.
証明書の更新する時もapacheを止めて、certbotにport 80受信させないといけない模様。
というわけで、まずは手動での操作。
# rootになる sudo -i # apache停止 apachectl stop # 証明書の更新。 certbot-3.6 renew # apache起動 apachectl start
余談だが、Linux版のcertbotにはapacheの設定ファイル書き換えと停止&起動を自動で行う機能も含まれていて、 設定次第ではフルオートでやってくれる模様。 ただ、certbotによる設定ファイル書き換えは万能ではなく、凝った設定をしてるとapache httpdが起動しなくなる設定に書き換えられてしまい、 証明書更新時にapache httpdが停止したままWebサイトがアクセス不能になるケースもあるらしい。
手動で動作確認できたので、シェルにする。
cat > ~root/bin/certbot-renew.sh << "EOF" #!/usr/bin/env bash # # FreeBSD版のcertbotはstandaloneモードのみサポート # # apacheの停止と起動はシェル側で制御する # export LANG=C # 起動メッセージ echo "$( date ) certbot-renew.sh: started" # 証明書の更新。 certbot-3.6 renew RC=$? echo "$( date ) certbot-renew.sh: certbot-3.6 renew first trial status: $RC" # certbotがエラーならば(ポート80が使えなかった場合)、apacheの制御を行って再度実行 if [ $RC -ne 0 ]; then # apache停止 apachectl stop # 証明書の更新。 certbot-3.6 renew RC=$? echo "$( date ) certbot-renew.sh: certbot-3.6 renew second trial status: $RC" # apache起動 apachectl start fi EOF chmod +x ~root/bin/certbot-renew.sh
crontab -e で登録する内容
毎週木曜日の5時7分にシェルを実行する。
MAILTO=george PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin 7 5 * * 4 /root/bin/certbot-renew.sh
Anaconda / Jupyter notebook / Google Colaboratory とか
tag:wiki
最近話題のGoogle Colaboratory。 ( https://colab.research.google.com/ )
GPU付き機械学習の環境を(今だけ?)無料で提供しているので一部で流行している模様。
この手の「説明書き+計算可能な数式( or 実行可能なコード)+実行環境」がセットになっているものには、数式処理のMathematica、 Python実行環境のIPython Notebook、 Python系機械学習セットのAnacondaにも同梱されているJupyter Notebook、 クラウド版でGPUも利用可能なGoogle Colaboratoryという発展の歴史があるようだ。
これはちと試してみないと。
個人的にはMarkDownがサポートされているメモ書き(wiki)として使えるかどうかに注目しているww
Pythonや機械学習コード書かないって人でも、メモ帳として使えるならそれはそれでw
データ保持とグラフ描画がついてるから、意外にもExcelとかWordの強敵になったりして
Windows 10 pro (1803) いつの間にか左Ctrl + 左Shiftでキーボード切り替え機能がついていたのでUS配列のHHKでびびる
いつの頃からかはわからないが、 地域と言語にて日本語と英語の言語パックをインストールして切り替えている場合、 「設定」→「言語とキーボードのオプションを設定する」で検索→右側の「キーボードの詳細設定」→「言語バーのオプション」→「テキストサービスと入力言語」画面の「キーの詳細設定」タブを選択→「入力言語のホットキー」の所で、日本語キーボードと英語キーボードの切り替えに左Ctrl + 左Shiftが設定されていた。
US配列のHHKを使っているので、日本語→英語切り替えには Alt + ` (バッククォート) を使うのだが、いきなりバッククォート文字が入らなくなってマジ焦った。 (日本語キーボードモードでは、HHK US配列のバッククォート文字のボタンは日本語〜英語切り替え動作キーになっている)
左Ctrl + 左Altは時々使う場合があるのでこの設定は解除しておく。