FreeBSDをRpiに導入する方法

  • 投稿日:
  • by
  • カテゴリ:

FreeBSDをRpiに導入する方法。
USBアダプタを介して接続するSSDに導入することを目標とする。

下準備として以下を実施。

  1. WindowsPCにSSDを接続する。
  2. windows→windows管理ツール→コンピュータの管理と順番に進む。
  3. SSDがもしパーテーションで分割されていたら、開放する。
  4. その後、接続したSSDの領域をexFATでフォーマットする。

画面では以下のような感じ。

1.png2.png3.png4.png

ISOイメージをダウンロードする。

https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/14.0/FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz

Win32DiskImagerでイメージをSSDに書き込む。

書き込まれたイメージのドライブにてconfig.txtを開き、"dtoverley=mmc"をコメントアウトする。boot loaderが更新された模様だがこのオマジナイは依然必要だ。

config_txt.png

Rpi3のUSBに接続して起動させる。

(Rpi3でUSB Bootが初回の場合は、さらに下準備が必要と思う。
すでに処置してしまっているので検証できない)

(2023年11月21日)

FreeBSDの14.0-RELEASEが出てたので導入

  • 投稿日:
  • by
  • カテゴリ:

FreeBSDの14.0-RELEASEが出てた。
さっそく導入する。

メジャーバージョンの更新なので 、いつものセキュリティパッチを当てるコマンドの"freebsd-update fetch"だけでは導入できない。

https://docs.freebsd.org/ja/books/handbook/cutting-edge/ にあるように、"-r" オプションにてバージョンを指定する必要がある。

freebsd-update -r 14.0-RELEASE upgrade

こんな感じ。

14-RELEASE.pngかなり時間を要する。

/etc/ssh/sshd_config
/etc/group
/etc/master.password
/etc/ttys

等の書き換えを求められる。

尋ねられたら別窓でbackupし、エディタの書込み終了時点で、backupのファイルを戻した。

この後、

freebsd-update -install
reboot
freebsd-update -install

で作業終了。

なおpackageが壊れる現象に悩まされたが、

pkg-static -v.
pkg-static install -f pkg
pkg upgrade -f

で復旧した。

https://forums.freebsd.org/threads/pkg-not-working-ld-elf-so-1-shared-object-libssl-so-111-not-found-required-by-pkg.68078/

を参照した。

(2023年11月21日 記)

FreeBSDのPostfixにOpenDKIMを追加する

  • 投稿日:
  • by
  • カテゴリ:

FreeBSDで稼働するpostfix+bindの環境にDKIMを導入する。

まずはpkgコマンドでOpenDKIMを導入する。

root@fbsd:~ # pkg search opendkim
opendkim-2.10.3_16             DKIM library and milter implementation
p5-Mail-OpenDKIM-4204          Perl interface to OpenDKIM C library
root@fbsd:~ # pkg install opendkim
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 4 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        libsodium: 1.0.18
        lua54: 5.4.6
        opendkim: 2.10.3_16
        unbound: 1.18.0_1

Number of packages to be installed: 4

The process will require 12 MiB more space.
3 MiB to be downloaded.

Proceed with this action? [y/N]: y

[1/4] Fetching unbound-1.18.0_1.pkg: 100%    2 MiB   2.3MB/s    00:01
[2/4] Fetching lua54-5.4.6.pkg: 100%  291 KiB 298.3kB/s    00:01
[3/4] Fetching opendkim-2.10.3_16.pkg: 100%  288 KiB 295.4kB/s    00:01
[4/4] Fetching libsodium-1.0.18.pkg: 100%  161 KiB 164.4kB/s    00:01
Checking integrity... done (0 conflicting)
[1/4] Installing libsodium-1.0.18...
[1/4] Extracting libsodium-1.0.18: 100%
[2/4] Installing unbound-1.18.0_1...
===> Creating groups.
Using existing group 'unbound'.
===> Creating users
Using existing user 'unbound'.
[2/4] Extracting unbound-1.18.0_1: 100%
[3/4] Installing lua54-5.4.6...
[3/4] Extracting lua54-5.4.6: 100%
[4/4] Installing opendkim-2.10.3_16...
[4/4] Extracting opendkim-2.10.3_16: 100%
=====
Message from opendkim-2.10.3_16:

--
In order to run this port, write your opendkim.conf and:

if you use sendmail, add the milter socket `socketspec' in
/etc/mail/<your_configuration>.mc:

INPUT_MAIL_FILTER(`dkim-filter', `S=_YOUR_SOCKET_SPEC_, F=T, T=R:2m')

or if you use postfix write your milter socket `socketspec' in
/usr/local/etc/postfix/main.cf:

smtpd_milters = _YOUR_SOCKET_SPEC_


And to run the milter from startup, add milteropendkim_enable="YES" in
your /etc/rc.conf.
Extra options can be found in startup script.

Note: milter sockets must be accessible from postfix/smtpd;
  using inet sockets might be preferred.
root@fbsd:~ #

次に/etc/rc.confに下行を追加

milteropendkim_enable="YES"

インストールされる/usr/local/etc/mail/opendkim.confはいささか長いので、
opendkim.conf.orgとかに退避。下記を貼り付けた。
(ドメイン名はインストール先の環境に合わせること)

# vi /usr/local/etc/mail/opendkim.conf
Canonicalization        simple/simple
Domain                  example.jp
KeyFile                 /var/db/dkim/example.jp.private
LogWhy                  yes
Mode                    sv
ReportAddress           "DKIM Error Postmaster" <postmaster@example.jp>
Selector                example.jp
SendReports             yes
Socket                  inet:8891@localhost
SubDomains              yes
Syslog                  Yes
SyslogSuccess           yes
UMask                   002

次に/etc/groupを編集。mailnullにpostfixを追加する

mailnull:*:26:postfix

postfixのmain.cfに下記を追加

# mail filter
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept

OpenDKIMを起動するとともにPostfixとnamedbを再起動する。

kill -HUP `cat /var/run/named/pid `
postfix reload
/usr/local/etc/rc.d/milter-opendkim start

googleにメールして、DKIMが有効になっていることを確認する。

古いBaofengのProgramingケーブル

  • 投稿日:
  • by
  • カテゴリ:

UV-5Rに接続した際に送信しっぱなしになる。

調べたら解決法があった。

https://scarcs.ca/howto/baofeng

翻訳ページを付ける

古いbaofeng-cable.PNG

まさにこれ。

このページから辿れる下記にて、P3200.exeをダウンロードし
作業例にあるように、デバイスマネージャにてドライバを入れ替える。

https://www.miklor.com/COM/UV_Drivers.php

https://www.miklor.com/COM/software/P3200.exe

このページに辿り着く前に、こりゃぁ何ともならない予感がして、
Amazonでケーブルを買ってしまっていた。残念。

(2023/11/9 記)

上記の方法で生き返ったUSBケーブルだが、
Chirpしか使えず、UV-K5のファームウェア変更には使えなかった。

baofen-usb.PNG

Amazonから到着した新規ケーブル(上図)では、動作する。

残念ながら、旧ケーブルはお蔵入りの様だ。

(2023年11月12日 追記)

Asterisk20インストール

  • 投稿日:
  • by
  • カテゴリ:

前回に引き続きAsterisk20をインストールする。

環境は前回同様。

configure 時に以下の様に止まってしまった。

1.pnglibjanson-dev のpackage を挿入するか迷ったが、

./configure --with-janson-bundled

で導入することとした。

2.png

前提となるpkgで、libjansson-devcをインストールすれば configure できた。

apt-get install build-essential libedit-dev uuid-dev libxml2-dev -y
apt-get install ncurses-dev libsqlite3-dev sqlite3 -y
apt-get install libssl-dev subversion git -y
apt-get install libjansson-dev -y

とする。

20230930-ast.png

上記の画面の通り。

あとは前回同様

make menuselect

で日本語音声関連を導入する。

3.pngあとは前回同様に

make
make install
make samples
make config

と進めた。

なお、/etc/asterisk/*.conf類は、前回のAsterisk18で準備したものが使えた。

(2023年9月19日)

実際に運用してみて、転送(features.conf)の動作ではコツがある。

*7 呼び出してから転送
*8 続けて転送

を押したとき、Transfer と応答が返ってくるときと帰ってこないときがある。
*7、*8 とも「*」を長く押すと応答が返ってきやすい様な感じ。
DTMFと認識するのに時間がかかるのかも。

(2023年9月23日)

AsterskをRaspberryPiに導入する

  • 投稿日:
  • by
  • カテゴリ:

1.概要

  • コロナ禍を経てリモートワークに向けてのハードやソフトが発展した。さらに、企業ではTeams、個人ではLineを使ったりする。さらには、クラウド上のsipサーバーのサービスもある。となると、敢えて自宅やSOHOでAsteriskでPBXを立てる理由も薄れてきた。さらにはSIPポート(5060)を巡回するポートスキャナが居たりするので無断海外電話される危険がある。が、従来通りAsteriskサーバを立ててみる。
  • これまではapt-get install asteriskで導入できたが、Packageが見つからず、asterisk.orgよりソースコードをダウンロードしてコンパイルした。
  • 当初sipクライアントの設定としたが、外線発信と内線通話ができるものの、外線の着信ができない症状に悩まされたが、zoiper側をiax2に変更することで解決した。
  • confファイルは、extensions.conf, iax.conf, pjsip.conf, pjsip_trunk_hgw.conf, featurees.conf の5つを準備する。残りは、githubに公開されているファイル群で大丈夫な様子だ。

2.想定する環境

  • クライアントに使い慣れた"Zoiper"(Androidとios混在)を使う。
  • NTT東から借りているPR-500Niに接続し、NTT東のひかり電話から発信する。
  • 子機は3~4台。よってPR-500Miに直接接続しないでAsteriskで内線通話する。
    (子機1~2台だったらクライアントにAgePhoneで直接接続したほうが良さそう)
  • RaspberryPi 2B 、Debian (bookworm) 32bit環境 にインストールする。

3.ソースコードのダウンロード

・Asterisk18を https://www.asterisk.org/downloads/ よりダウンロードする。
 (Asterisk20も使用できるようである)

・メールアドレスの入力を促されるので入力。

・今回、ダウンロードされるtar,gzを.usr/local/srcで展開した。

4.必要pakageを予めインストールする。

・apt-get の様に依存するpackageを導入してくれないので、予め導入しておく。
 以下は管理者権限で実行

apt-get install build-essential libedit-dev uuid-dev libxml2-dev -y
apt-get install ncurses-dev libsqlite3-dev sqlite3 -y
apt-get install libssl-dev subversion git -y

今回はこれらを導入した。(過不足あるかも...少々自信なし)

5.ソースコードのコンパイル

以下の手順で進める。これも管理者権限で実行した。

tar xzvf asterisk-18-current.tar.gz
cd /usr/local/src/asterisk-18.19.0/
./configure
make menuselect

menuselectで日本語音声(japanese ...の全部)を選択し、導入する。

make
make install
make samples

と進める。

6.設定ファイルひながたのダウンロード

http://www.voip-info.jp/ から辿れるgithubからconfファイル群を取り寄せる。

git clone https://github.com/takao-t/asterisk-conf

Asterisk13用の様だ。

なお導入後、sip.conf はリネームして無効化しておくこと。

7.今回用意した必要ファイル一式

asterisk18-20230917.zipに纏める。

8.pjsip.confとpjsip_trunk_hgw.confの例

一式ファイルのうち、pjsip.conf にインクルードされるpjsip_trunk_hgw.conf の例を以下に。

まずはpjsip.conf

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5070
local_net = 192.168.0.0/16

[acl]
type=acl
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/16

#include "pjsip_trunk_hgw.conf"

次にpjsip_trunk_hgw.confの例

;トランク設定
;pjsip.confにtransportを設定しておくこと

;ひかり電話HGW
;
[hikari-hgw]
type = aor
; sip:内線番号@HGWのIPアドレス
contact = sip:4@192.168.0.1
qualify_frequency = 30
authenticate_qualify = no

[hikari-hgw]
type = auth
auth_type = userpass
;内線のユーザ名(4桁数字)
username = 0004
;内線のパスワード
password = Password

[hikari-hgw]
type = identify
endpoint = hikari-hgw
;HGWのIPアドレス
match = 192.168.0.1

[hikari-hgw]
type = registration
transport = transport-udp
outbound_auth = hikari-hgw
; sip:HGWのIPアドレス
server_uri = sip:192.168.0.1
; sip:内線番号@HGWのIPアドレス
client_uri = sip:4@192.168.0.1
retry_interval = 60

[hikari-hgw]
type = endpoint
transport = transport-udp
context = from-hikari-hgw
dtmf_mode = inband
disallow = all
allow = ulaw
direct_media = no
send_pai = yes
inband_progress = yes
; HGWの内線番号
from_user = 4
; HGWのIPアドレス
from_domain = 192.168.0.1
language = ja
outbound_auth = hikari-hgw
aors = hikari-hgw

パスワードは適宜設定のこと。

9.extentions.confの例

extentions.confの例を以下に。

[general]
writeprotect=no
priorityjumping=no

[globals]
ALLMEMBERS=IAX2/201&IAX2/202&IAX2/203&IAX2/204&IAX2/205&IAX2/206&IAX2/207&IAX2/208&IAX2/209

;自局の着信番号を設定する
;[incoming]セクションを参照
;ひかり電話HGWの番号(着信番号:自分の番号)
MYNUMBER1=XXXXXXXX
;FUSION OpenGateの番号(050を取ったもの)
;MYNUMBER2=XXXXXXXX

[default]
;200番台を内線に割り当てています
;グループ着信
exten => 200,1,NoOp(内線代表着信)
exten => 200,n,Dial(${GROUP1},60)
exten => 200,n,Hangup

;内線呼び出し
exten => _20Z,1,NoOp(内線呼出)
;下行のSIPでIAX2と書き改める
exten => _20Z,n,Dial(IAX2/${EXTEN},60)
exten => _20Z,n,Hangup

;300番台は特番で機能に割り当てています
;音声会議
exten => 301,1,NoOp(音声会議)
exten => 301,n,Answer()
exten => 301,n,Confbridge(${EXTEN})
exten => 301,n,Hangup

;PIASTでのページング
;ALSAサウンドを持つLinux機でも使用可能
exten => 309,1,NoOp(ページング)
exten => 309,n,GoTo(paging,s,1)

;700番台はコールパーキング用です
;コールパーキング
exten => 700,1,NoOp(コールパーキング)
exten => 700,n,Park()
;パーキングロットをインクルードしておく
include => parkedcalls

;0発信をひかり電話にする場合の例(03--でダイヤル)
exten => _0.,1,NoOp(ひかり電話0発信)
exten => _0.,n,Set(CALLERID(num)=${MYNUMBER})
exten => _0.,n,Set(CALLERID(name)=${MYNUMBER})
;@hikari-trunkを@hikari-gwとし{EXTEN:1}を{EXTEN}に
exten => _0.,n,Dial(PJSIP/${EXTEN}@hikari-hgw)

;9発信をFUSIONにする場合の例(9+03--でダイヤル)
;exten => _9.,1,NoOp(OpenGate 9発信)
;exten => _9.,n,Set(CALLERID(num)=${MYNUMBER2})
;exten => _9.,n,Set(CALLERID(name)=${MYNUMBER2})
;exten => _9.,n,Dial(SIP/${EXTEN:1}@fusion1)

;外線着信用コンテキスト
[incoming]
;着信番号毎に処理を書くこと

;ひかり電話着信例
exten => ${MYNUMBER1},1,NoOp(うちの代表番号)
exten => ${MYNUMBER1},n,Macro(cidnamecheck)
exten => ${MYNUMBER1},n,Dial(${GROUP1},60)

;FUSION OpenGate着信例
;exten => ${MYNUMBER2},1,NoOp(FUSION着信)
;exten => ${MYNUMBER2},n,Macro(cidnamecheck)
;exten => ${MYNUMBER2},n,Dial(${GROUP1},60)

;ひかり電話HGW用前処理
[from-hikari-hgw]
;exten => s,1,NoOp(ひかり電話着番処理)
;exten => s,n,Set(DESTNUM=${PJSIP_HEADER(read,To)})
;exten => s,n,NoOp(着信To: ${DESTNUM})
;着信番号の桁数が異なる場合には以下の行を調整のこと
;exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
;exten => s,n,NoOp(着信番号: ${DESTNUM})
;exten => s,n,Goto(incoming,${DESTNUM},1)
exten => s,1, Dial(${ALLMEMBERS},12,Tt)
exten => s,n, Hangup

;CID(番号)から名前を取得するマクロ
;AstDBのcidnameに番号と名前を入れておくこと
[macro-cidnamecheck]

exten => s,1,NoOp(CID参照マクロ)
exten => s,n,Set(CIDNAME=${DB(cidname/${CALLERID(num)})})
exten => s,n,GotoIf($["${CIDNAME}" = ""]?noname)
exten => s,n,Set(CALLERID(name)=${CIDNAME})
exten => s,n,Goto(endmacro)
exten => s,n(noname),Set(CALLERID(name)=不明)
exten => s,n(endmacro),MacroExit

;PIASTページング用
[paging]

;リレーをONしてページング実行、ページング前にビープを鳴らす
exten => s,1,NoOp(Paging Start)
;exten => s,n,System(/home/piast/relayon.sh)
exten => s,n,Dial(Console/0,,A(beep))

;ハングアップ後にビープを鳴らす
exten => h,1,NoOp(Paging Hangup)
exten => h,n,System(asterisk -rx 'channel originate Console/0 application Playback beep')
;exten => h,n,System(/home/piast/relayoff.sh)

ダイアルプランは雛形ファイルを踏襲した。

10.iax.confの例

sipではなく、iax2でZoiper子機を収容する。

[general]
;sip(5060)およびpjsip(5070)と重複せぬよう。
bindport=4589
bindaddr=0.0.0.0
iaxcompat=yes
language=ja
bandwidth=medium
disallow=all
allow=ulaw
allow=gsm
allow=speex
jitterbuffer=no
;dropcount=2
;maxjitterbuffer=500
;maxexcessbuffer=80
;minexcessbuffer=10
;jittershrinkrate=1
;tos=lowdelay
;mailboxdetail=yes
calltokenoptional=0.0.0.0/0.0.0.0
minregexpire = 300
maxregexpire = 300

[201]
type=friend
username=201
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=201

[202]
type=friend
username=202
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=202

[203]
type=friend
username=203
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=203

[204]
type=friend
username=204
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=204

[205]
type=friend
username=201
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=205

[206]
type=friend
username=206
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=206

[207]
type=friend
username=207
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=207

[208]
type=friend
username=208
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=208

[209]
type=friend
username=209
secret=Password
host=dynamic
callgroup=1
pickupgroup=1
mailbox=209

各子機のパスワードは各々設定のこと。

11.features.confの例

sipフォンだとファンクションキーに各種動作を定義できるが、今回使うzoperには転送ボタンが定義されていない。そこで、

*7 を押下し保留後、他のAsterisk転送先(自分を除く201~209)とダイアル+会話して繋ぐ

*8 を押下し保留後、他のAsterisk転送先(自分を除く201~209)をダイアルして転送する

の2つを実現する。以下、features.confの例

[general]

[featuremap]
atxfer => *7 ; Attended transfer
blindxfer => *8 ; Blind transfer

として、転送ができるようになった。

12.参考にさせていただいたサイト

厚く御礼を申し上げます。

(2023年9月16日)

Debian 12 (bookworm)へのアップグレード

  • 投稿日:
  • by
  • カテゴリ:

Debian.JPによると、bookwormが無事リリースされたらしい。

debian12.PNG

お盆休みでもあるので、さくらVPSやら、自宅Rpi4などのメンテナンスをしてみる。

前回(buster->bullseye)では、/etc/apt/souces.list をsedでいっきに書き換えたが、公式のガイドによると、

4.3.1. APT のインターネットソースの追加
新規インストールではデフォルトはネットワークの条件によってあなたに近いサーバから自動的にパッケージをダウンロードできる Debian APT CDN サービスを使うように APT を設定します。これは比較的新しいサービスのため、古いインストールでは以前としてメインの Debian インターネットサーバのひとつまたはミラーのひとつを設定しているかもしれません。もしまだ設定を行っていない場合、APT 設定において CDN サービスを使うように切り替えることを推奨します。

とある。(赤線下線は筆者)
そこで、http://ftp.jp.debian.org から取り寄せていたところを、http://deb.debian.org/debian に改めてCDNのゴリヤクにあずかることにする。ということで、/etc/apt/souces.list を以下。

deb http://deb.debian.org/debian bookworm main
#deb-src http://deb.debian.org/debian bookworm main

#updates
deb http://deb.debian.org/debian bookworm-updates main
#deb-src http://deb.debian.org/debian/ bookworm-updates main

#security
deb http://deb.debian.org/debian-security bookworm-security main
#deb-src http://deb.debian.org/debian-security bookworm-security main

あとは、

apt update
apt full-upgrade

の命令を発出すればupdateが開始する。

途中、configファイル関係をどうするか訊いてくるが、これまでのバージョンを使うとする"N"または"n"で応答する。configファイルが書き換わってしまったりすると、設定を元に戻すのに大変な苦労をする。※何回かハマった

(2023/08/18 記)

worningが出るようになったので対処

root@web64:/home/makoto# apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub   rsa2048 2012-06-17 [SC]
      CF8A 1AF5 02A2 AA2D 763B  AE7E 82B1 2992 7FA3 303E
uid           [ unknown] Raspberry Pi Archive Signing Key
sub   rsa2048 2012-06-17 [E]

どうも古い鍵が悪さをしているらしい
apt-keyでtrusted.gpg.d 以下にexportし、keyringから削除する

apt-key export 7FA3303E | gpg --dearmour -o /etc/apt/trusted.gpg.d/RaspberryPiArchive.gpg

apt-key --keyring /etc/apt/trusted.gpg del 7FA3303E

ワーニングが出なくなった。

(2023/09/10 追記)

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BDE6D2B9216EC7A8

新規インストールに上の2行が必要

firefoxで5chを快適に閲覧できる"5ch style format"アドオン

  • 投稿日:
  • by
  • カテゴリ:

WindowsPCfirefoxで、
5ch(特に嫌儲)を快適に見る方法を纏めておく。(ヽ´ん`)

"5ch style format 2017(ff)"を使うと良い。

5CH STYLE FORMAT 2017(ff)

なお6月のUI変更に伴い、下記のアドオンも導入した。
(UI変更のためか、
"5ch style format 2017(ff)"だけではうまく動作しなくなったため)

5chクラシックUI転送ソフト

なお従来より、uBlock Originで広告をブロックしている。

uBlock Origin

以下、これら3つのアドオンを順次入れていくスクショにて、
それぞれの効果を紹介する。

まずは、アドオンなしで、スレッドを見た様子。
左右に広告が入ってしまう。UIも見にくい。

1_no-add-on.png

次に、uBlock Origine。アドオンの追加→"uBlock Origin"で導入できる。

2_ublock-origin.png"uBlock Origine"で広告を抑止した状態。

2a_with_ublock-origin.png広告が抑止された。

ここで"5chクラシックUI転送ソフト"を導入。
アドオンの追加→"5chクラシックUI"で導入できる。

3_5ch-classic-ui.png5chクラシックUI転送ソフトを導入して表示した様子。

新UIの表示から、旧UIに転送された状態で表示される。
スレ毎に"表示の切り替え"をしなくとも、旧表示されるようになった。

3a_with-5ch-classic-ui.png今まで通りのUIとなった。

肝心な"5ch style format 2017(ff)"を導入する。
アドオンの追加→"5ch style "で導入できる。

4_5ch-style-format.png"5ch style format 2017(ff)"を入れて表示した様子。
リプライにマウスポインターを乗せると、ポップアップ表示される。

4a_with-5ch-style-format.pngさらに画像のリンクにマウスポインターを乗せると、画像がポップアップする。

4b_with-5ch-style-format.png4c_with-5ch-style-format.pngなお、firefoxをダークモードで表示している。
スレッド一覧を表示した状態。暗い色調で眼に優しい。

5_threads.png該当のスレッドを表示した状態。

6_itapng.pngしばらく眺めていても楽である。スマホ上のchmateよりも良い感じと思う。


参考比較として、Windows11上でAndroid for Windowsの"Jane Style"を表示したところ。

スクリーンショット 2023-06-20 115012.png操作性はあまり良くない。

(2023年6月20日 記)

freebsd-update(FreeBSD 13.1 → 13.2 アップデート)

  • 投稿日:
  • by
  • カテゴリ:

半年ほど投稿をサボってしまった。

さて、FreeBSD.orgを見たところ、4月11日に、13.2-RELEASEが配布開始とのこと。

そこで、前回の、freebsd-update(FreeBSD 13 → 13.1 アップデート)と同様に

freebsd-update(FreeBSD 13.1 → 13.2 アップデート)

を実施する。

環境は、

Rpi3B(hostname="rpi3x.smbdom.local")
SSD500G (USB2)
FreeBSD 13R -> 13.1Rにアップデート
bind+postfix+dovecot+spamassassin+fail2ban のメール鯖構成

といったもの。

以下、冗長だが、手順;

Last login: Thu Apr 20 17:16:06 2023 from aopen.smbdom.local
FreeBSD 13.1-RELEASE-p6 GENERIC
Welcome !
makoto@rpi3x:~ % su -
password:
root@rpi3x:~ # freebsd-update upgrade -r 13.2-RELEASE
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 13.1-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic kernel/generic-dbg world/base world/base-dbg

The following components of FreeBSD do not seem to be installed:

Does this look reasonable (y/n)?


Fetching metadata signature for 13.2-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Does this look reasonable (y/n)? y

Fetching metadata signature for 13.2-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 13.1-RELEASE for merging... done.
Preparing to download files... done.
Attempting to automatically merge changes in files... done.

The following file could not be merged automatically: /etc/motd.template
Press Enter to edit this file in vi and resolve the conflicts
manually...
(エディターで変更なく抜ける)
/var/db/freebsd-update/merge/new//etc/motd.template: 1 lines, 10 characters.

The following file could not be merged automatically: /etc/ssh/sshd_config
Press Enter to edit this file in vi and resolve the conflicts
manually...
(エディターで変更なく抜ける)
The following changes, which occurred between FreeBSD 13.1-RELEASE and
FreeBSD 13.2-RELEASE have been merged into /etc/passwd:
--- current version
+++ new version
@@ -1,7 +1,5 @@
-# $FreeBSD$
-#
 root:*:0:0:Charlie &:/root:/bin/csh
 toor:*:0:0:Bourne-again Superuser:/root:
 daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
 operator:*:2:5:System &:/:/usr/sbin/nologin
 bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
Does this look reasonable (y/n)?y

The following changes, which occurred between FreeBSD 13.1-RELEASE and
FreeBSD 13.2-RELEASE have been merged into /etc/ssh/sshd_config:
Does this look reasonable (y/n)? y

(nを入力すると処理が中断してしまうので。yで継続していく。
 一方で、後でreboot前に、例えば別ターミナルを開いて、
 バックアップしておいたmotd.templateとsshd_configを上書きする。
 sshd_configが不正な場合、sshで接続できなくなる。)

To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
root@rpi3x:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
(もう一度"/usr/sbin/freebsd-update install"を実行)
root@rpi3x:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...install: ///var/db/etcupdate/current/etc/rc.d/growfs_fstab: No such file or directory
install: ///var/db/etcupdate/current/etc/rc.d/var_run: No such file or directory
install: ///var/db/etcupdate/current/etc/rc.d/zpoolreguid: No such file or directory
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
rmdir: ///usr/tests/usr.bin/timeout: Directory not empty
 done.
root@rpi3x:~ #
(ここで/etc/motd.templateと/etc/ssh/sshd_configが"元の状態"であることを確認する)

root@rpi3x:~ # reboot

Last login: Fri Apr 21 07:59:02 2023 from aopen.smbdom.local
FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC
Welcome !
makoto@rpi3x:~ % su -
Password:
root@rpi3x:~ #  freebsd-version -kur
13.2-RELEASE
13.2-RELEASE
13.2-RELEASE
root@rpi3x:~ #

上記でカッコ書きした部分の、

/etc/motd.template
/etc/ssh/sshd_config

の2つを、バックアップしておいて、reboot前に元に戻すことがコツかと思う。

(2023年4月20日)