Fuguita 7.8
Table of Contents
syspatch
どんな物でも初期不良ってのは有るものだ。OpenBSDも7.8になって、早速 発見されたぞ。そんな事を良く知ってるオイラーは、公開後数日してから、 やおらインストールしたのさ。そしてパッチパッチと騒いだら、syspatchが 公開されてた。早速入れたよ。
そして、数日後、次は無いかとsyspatchをすると、入れたはずのsyspatchが 再び俎上に登ってきた。その時のメッセージではfailしてたぞ。失敗したって 事だ。これは堪らんと、HPのエラッタを確認したよ。
syspatch(8) is confused by aliased /dev/*rootdisk nodes in the database
generated by dev_mkdb(8). If syspatch fails (probably because /usr
is not a seperate filesystem), perform these steps:
sed -e 's/.checkfs/#checkfs/g' /usr/sbin/syspatch > /root/syspatch
ksh /root/syspatch
syspatch # re-run new syspatch command as instructed
rm /root/syspatch
dev_mkdb
見事に、この条件を満たしていたぞ。手動で上記を実施。一時的にcheckfsを
コメントにしたsyspatchコマンドを作成。その特製版を実行。それから、ちゃんと
syspatchを実行。それから dev_mkdb を実行とな。
dev_mkdb って何よ?
NAME
dev_mkdb – create /dev database
SYNOPSIS
dev_mkdb
DESCRIPTION
The dev_mkdb command creates a hash(3) access method Berkeley database in
“/var/run/dev.db” which contains the names of all of the character and
block special files in the “/dev” directory, using the file type and the
st_rdev field as the key.
Keys are a structure containing a mode_t followed by a dev_t, with any
padding zeroed out. The former is the type of the file (st_mode &
S_IFMT), the latter is the st_rdev field.
これって/devをアクセスするのに利用できる高速版なんだな。他のOSでは諸にDBに なってる。わざわざ分離してるのは、unix哲学なんだろうか。
vm$ file /var/run/dev.db /var/run/dev.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)
こちらは、その実体。OSの起動時に作成されるようだ。
DBと言えば、これとは直接関係無いけど、jsonファイルをDBに見立てて扱かう コマンドが有るのね。知らんかった。
emacs vs. vi
kshだとコマンドラインの編集にemacsかvi風かが設定できる。kshが開発された頃は 両派譲らずでしたからねぇ。editor戦争が勃発しない様に、両方共サポートしている。
で、どちらを使うかは、 set -o にこんな引数を設定できる。
emacs Enable BRL emacs-like command-line editing
(interactive shells only); see Emacs editing
mode.
vi Enable vi(1)-like command-line editing
(interactive shells only).
あるいは、環境変数である、EDITORもしくはVISUALに、設定しておいてもいいのかな。 それぞれのモードの詳細はkshの最後の部分に記載されてるぞ。
ob$ man ksh | wc
2992 20412 165825
ob$ man -T ascii -O width=75 ksh | col -b > ksh.man
ob$ wc ksh.man
3087 20408 135163 ksh.man
kshのマニュアルは長大なので、上記の様にしてテキストに変換。後は必要な部分 だけを、破り取って、読むと良い。
viの場合、モードが有るんで、ESCしてコマンド・モードに移行して、j,kとかでヒストリーを辿るとか するんだな。モードまで意識するのは、ちょっと辛いものが有るぞ。それを理解してる 作者さんは、何も設定しなかった場合、emacsモードをデフォに設定してる(っぽい)。
この証拠はコードを確認しなくても分かるぞ。前回、stty intr ^P として SIGINTに Ctl-Pを割りあてた。そうしたら、Ctl-Pでコマンド履歴を遡るようになったぞ(通常 なら、ライン入力がクリアされて、コマンド待ちになる)。 これはもう、emacsの前へ戻る機能ですよ。って事で、知らず知らずのうちにemacsの キーバインドを習得してるんですなぁ。世の中、平和であります。
up-history: [n] ^P, ^XA
Scrolls the history buffer backward n lines (earlier).
一読しとくとご利益が有るかも。特に補完機能の部分ね。
ob$ wc edit.c emacs.c vi.c
971 3234 20523 edit.c
2165 6536 42761 emacs.c
2303 7337 48986 vi.c
共通のコードはedit.cが請負してて、他のファイルは文字通りの機能を実装している。 世界平和を実現するには、これぐらいの努力が必要なんだなあ。 ああ、補完は両者共通なんで、edit.cに定義されてるぞ。zshみたいに鬼のような サポートは無いけどね。
(gdb) bt #0 x_init_emacs () at emacs.c:1481 #1 0x148a9abf in x_init () at edit.c:51 #2 0x148cc0ff in main (argc=1, argv=0xcf7c8a94) at main.c:388
ここでemacs風のキーバインドをひたすら定義してるな。 あっ、矢印キーも、ここでバインドしてるよ。
それから、 x_init の中に、こんなコードを見付けた。
if (setsig(&sigtraps[SIGWINCH], x_sigwinch, SS_RESTORE_ORIG|SS_SHTRAP))
sigtraps[SIGWINCH].flags |= TF_SHELL_USES;
got_sigwinch = 1; /* force initial check */
check_sigwinch();
WINCH Window size changes の事だよな。ターミナルの縦横幅が変更された場合に 発動されるシグナル。このおかげで、画面が乱れる事が無いんだな。大事な気配りだ。
Fuguita 7.8
河豚板の作者さんが、下記の様な解説を公開されている。より優しく OpenBSDの優位な所を紹介しようって寸法。
オイラーの友人に、Windows 10 難民がいる。Youtubeとメールができればそれだけで十分という年金生活者。 最初、Windows 11のマシンを調達する積りでいたけど、高価すぎて断念。 何か代替え案は無いって相談を受けたんで、インストールが楽なクノームOSを 紹介しといた。でも、これってやはりサポート期限が有るんだよな。 それから、これを入れちゃうと、USBにインストーラーを焼くなんて事が 不可能な不自由なマシンになっちまう。そこん所を、きちんと説明しておいた んだけど、分ってくれたか、はなはだ疑問。 この記事を読んで理解できるかな。一応、紹介してみるか。
USBメモリで暮らす ── OpenBSD LiveUSB 河豚板のデスクトップ環境構築(1/4)
今迄Youtubeなんてやった事が無いので、紹介する手前、確認しておきたい。
初期不良もおちついたと思うんで、10月31日版を入れてみた。 寒くなってきたので、USB-HDD(130G)の解禁である。これ、ずっと使っていると、蓄熱 されちゃって寿命が縮まるので、冬限定です。日本には四季が有ると言うのは、嘘だ。 夏と冬しか無いじゃん。
無事に稼動した。firefoxでyoutubeを閲覧して、百恵ちゃんの playback 2 を 聞いてみたら、やけに音がちいさいぞ。歳のせいで、耳特性が劣化したか? いや、違った。メインボリュームが絞ってあった。
fu$ sndioctl input.level=0.494 input.mute=0 output.level=0.494 output.mute=0 server.device=0(azalia0)
ボリュームが中央位置じゃ駄目なんで、出力ボリュームを0.75にした。後は 個別のアプリに任せる。TVみたいにCMの時は、音量が増大したりして。 こういうの、初心者には難解なんだろね。
難解と言うかイライラがまだ有った。 起動を速める為、/usr/localを /dev/sd1dに置いて、saveエリアは リンクにしちゃうおうとしたら、/fuguita が read-only になってて、どうにも ならなかった。構成方法に変更が有ったのかな?
20250701 の時は、下記のようにして上手くいったんだけどな。ひょっとして、真夏の 夢だったりして。 FuguIta ja 16G -> 8G
fu$ cat /etc/fuguita/fstab.tail /dev/sd1d /ram/my ffs rw 0 1 fu$ mkdir /ram/my fu$ mkdir /ram/my/local fu$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/rd0a 3.7M 1.7M 2.0M 45% / mfs:15458 5.7G 1.2G 4.3G 22% /ram /dev/sd1d 5.3G 3.5G 1.8G 66% /ram/my
今は、こんな状態。
Filesystem Size Used Avail Capacity Mounted on /dev/rd0a 3.7M 1.7M 2.0M 46% / /dev/sd1a 1.2G 1.2G 9.3M 100% /sysmedia /dev/vnd5a 1.2G 1.2G 3.7M 100% /fuguita mfs:74441 5.7G 2.3G 3.1G 43% /ram /dev/sd1d 129G 12.5G 117G 10% /mnt
sd1dのエリアがたっぷり余っているので、SRC,PORTS,AVデータとかの置き場にしてる。 それから、セカンド・ホームも作成して、保存が必要な物は、ここに置く事に しよう。 Fuguitaのセーブ・エリア中、pkgエリア(usr/local)の容量は2Gになってた。
next
こんなのを見つけた。これで何ができるだろうか?
高機能なLinuxベースのソフトウェアルーター「Vyatta」を使う
OpenBSDのpf機能を利用してルーターを作れそうだな。上記説明中でqemuでやってる 部分が仮想マシンのpfで実現するのかな。
README
AI英語革命―ChatGPTで英語学習を10倍効率化 (改訂版)Ver.3
普段はチャッピーをプログラミングの友としてるんだけど、英語の勉強にも役にたつそうだ。 英会話もお手のもの。もう、高い金を払って駅前留学の必要はない。オンラインで予約 しといて、 フィリピーナの姉ちゃんと会話の勉強する必要もない。フィリピン・パブでもいいけど。
ChatGPTとなら、Youは何しに日本への真似事を、通訳無しで試せるぞ。何はともあれ プロンプトの設定が肝らしい。特に6番の条件が重要。ChatGPTはお喋りすぎるきらいが あるので、それに歯止めをかけておく。CEFRってのは、世界共通の英語レベル (TOEICとか英検は日本固有みたいだ)。最低レベルが、A1で、中卒ぐらいらしい。 A1,A2,B1,B2,C1の順にむずかしくなる。B1で英検2級ぐらいだから自信があったらどうぞ。
- 英会話を楽しみましょう。
- 貴方はトランプを名乗ってください。
- 貴方はワシントンDCからの旅行者で、今、空港の到着ロビーにいます。
- 私は出川です。
- 私からインタビューしますので、それに答えて下さい。
- 一回の会話は40ワード以内にしてください。
- CEFR A1 レベルの易しい単語で、ゆっくり発音してください。
この台本を与えてから マイクをONにして、Hello, I am 出川哲郎 japanese TV man. My term are makeing 日本滞在記. インタビュー OK ? Why did you come to Japan ?
相手の言っている事が分からない時は、日本語で聞き返してもOK。何たって出川君 ですから。
Chromeのウェブストアで、Voice Control for ChatGPT 拡張を入れて、こいつをONに しておくと、文字を見ながら会話を確認できるそうです。
このシチェーションは、何かイッテQ と被っているみたいだけど、それは気のせいですよ。 ああ、それから会話力を鍛えるには、瞬間英作文の練習が効果的らしいです。
May I ~ ? な文を5個作成するとかね。
貴方のパソコンを使ってもよいですか?
May I use your computer ?
Black Hatの会場とかだと断わられるだろうな。