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に見立てて扱かう コマンドが有るのね。知らんかった。

jq コマンドを使う日常のご紹介

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級ぐらいだから自信があったらどうぞ。

  1. 英会話を楽しみましょう。
  2. 貴方はトランプを名乗ってください。
  3. 貴方はワシントンDCからの旅行者で、今、空港の到着ロビーにいます。
  4. 私は出川です。
  5. 私からインタビューしますので、それに答えて下さい。
  6. 一回の会話は40ワード以内にしてください。
  7. 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の会場とかだと断わられるだろうな。


This year's Index

Home