ラベル NetBSD の投稿を表示しています。 すべての投稿を表示
ラベル NetBSD の投稿を表示しています。 すべての投稿を表示

2020年3月21日土曜日

NのBSD

BSD magazine DVD 久しぶりにをみた流れから、また何かの *BSD でも入れてみるということに。

前 NetBSD に関して書いてたのが 2008年なのだけどその後も何度か入れてた気はする。
https://ktjtn.blogspot.com/2008/11/netbsd.html
この時は 4.0.1 入れてから current にしていた。

まぁ再び NetBSD をば。今は 9.0
http://www.netbsd.org/

で同じく current に更新。今もカーネルは "/netbsd" なんだね。

参照したドキュメント
http://www.netbsd.org/docs/guide/en/chap-updating.html#updating-summary
http://www.netbsd.org/docs/guide/en/chap-fetch.html

netbsd$ uname -mrs
NetBSD 9.99.50 amd64
netbsd$ stat -x /netbsd
  File: "/netbsd"
  Size: 27017856     Blocks: 48704        IO Block: 16384        Regular File
Device: 168,0   Inode: 2088111    Links: 1
  Mode: (0755/-rwxr-xr-x)         Uid: (    0/    root)  Gid: (    0/   wheel)
Access: 2020-03-20 20:58:35.908917327 +0900
Modify: 2020-03-20 20:55:38.784151909 +0900
Change: 2020-03-20 20:58:12.169217188 +0900
 Birth: 2020-03-20 20:55:38.231611786 +0900

current にする前、はて、ソース更新は今も CVS 使わないといけないのかなと調べてみると GitHub 上にミラーされていることがわかった。数時間おき。
上記の chap-fetch には書かれていない。

https://github.com/NetBSD/src#latest-sources
To fetch the main CVS repository:
cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P src

To work in the Git mirror, which is updated every few hours from CVS:
git clone https://github.com/NetBSD/src.git

git は pkgin で入れ、その後 clone しようとするとエラーに。
netbsd# git clone https://github.com/NetBSD/src.git
Cloning into 'src'...
fatal: unable to access 'https://github.com/NetBSD/src.git/': SSL certificate problem: unable to get local issuer certificate
証明書ね、ということはわかるのだけどどうするのかしらと調べたところ同じエラーを reddit で発見

https://www.reddit.com/r/NetBSD/comments/dveadk/ssl_errors_with_git_and_curl/

・mozilla-rootcerts を入れる
netbsd# pkgin install mozilla-rootcerts

・ファイルは以下
netbsd# pkg_info -L mozilla-rootcerts
Information for mozilla-rootcerts-1.0.20191207:

Files:
/usr/pkg/sbin/mozilla-rootcerts
/usr/pkg/share/mozilla-rootcerts/cacert.pem
/usr/pkg/share/mozilla-rootcerts/certdata.txt

・git config で設定
netbsd# git config --global http.sslcainfo /usr/pkg/share/mozilla-rootcerts/cacert.pem

これでOK。NetBSD の CVS サーバの負荷増やすよりも GitHub の負荷を増やすのがマシだと思うのでよかったよかった。
よい子は安易に git config --global http.sslVerify false などとしてはいけないぞ。

しかしまぁ top なり ps でプロセスみると少ないこと少ないこと。すっきりしている。

ギョームでほぼ Linux ばかり触れてると良くも悪くもいつも見てる方が当たり前になってしまう。
やはりプロセスにしてもログにしてもだらだらとあれこれ起動してたり出てるのは好みでないな。
一見何を言ってるのかわからないログ(調べてみると影響ないから無視で良いというパターン)とか、存在意義が初見ではよくわからないプロセスとか。ログに書き出すこと自体は大事だけどね。。そのよくわからないおかげでご飯食べられているとも言えるので複雑な気持ちである。

2008年11月16日日曜日

早速 wapbl がパニックしてくれた

新しいユーザーランドをインストール
( # ./build.sh -O ../obj -T ../tools -U install=/ )
してたらパニックしたよ。。

メッセージは次のとおり
panic: wapbl_flush: current transaction too big to flush

fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0233fbc cs 8 eflags 246 cr2 bbb81470 ilevel 0
Stopped in pid 2983.1 (nbpax) at netbsd:breakpoint:0x4: popl
db{1}>

再起動したらあがってこなくなったので boot.iso であげて fsck..
ジャーナルがおかしくなってたよ、、とほほ。

ソースだとここかな。

http://fxr.watson.org/fxr/source/kern/vfs_wapbl.c?v=NETBSD#L1349

一旦 soft updatesにもどした。快調快調。
wapbl は /home くらいで使っておくのがいいかもしれないね。

% mount -t ffs
/dev/wd0a on / type ffs (soft dependencies, local)


fstab 書き換えだけで済むような実装になっててステキ。

たまには NetBSD


PSP でネットワークまわりだかどこかでつかわれてる(はずの)NetBSD.

育て方がよくわかってないけどちょっと前 WAPBL が使えるようになったり
5.0 のリリースサイクル開始されたりしたのでたまには NetBSDをば、、
(Mac OS X 上の VMware Fusion で仮想マシン作成)

i386cd-4.0.1.iso を入手
インストール. パーティションはめんどくさいので / と swap のみ. / は ufs2 にする
current を追跡
tar玉とってきて展開、/etc 更新してリブート、これでひとまず 4.0.1 -> 5.99.01 に

bash-3.2# uname -mrs
NetBSD 5.99.01 i386

その後「最新の」 current にする、けど長いのでコマンド叩いて暫く放置。

pkgsrc guide みる
pkgsrc-2008Q2 とってきて使ってたけど perl がビルドできない、、、
cvs update して更新したあともダメだなー。。

kernfs がなんか変。なんもない

bash-3.2# ls /kern/
bash-3.2#

??
(カーネルビルドしなおして再起動したら解消)

WAPBL は fstab のとこに log 書くだけで OK 。素晴らしい。
softdep をやめて WAPBL にした。パフォーマンスはいいらしい。

ここ -> 31 Jul 2008 - FFS へのメタデータジャーナリングに対応
彼らはまた、性能ベンチマークをいくつかおこないましたが、 WAPBL の性能は soft-dependencies 有効でのマウントに非常に近いものであり、 (安全ではない) async でのマウントより少しだけ遅いものでした。 クラッシュや予期せぬ電源断において、 ジャーナルされたファイルシステムではブート時に長時間のファイルシステムチェックは必要なくなり、 カーネルが数秒の間にログを再生することになります。 これにより、クラッシュの高速な復旧が可能となり、 総停止時間の現象と高い可用性が実現できます。
mount コマンドで log になっているのを確認。

bash-3.2# mount -t ffs
/dev/wd0a on / type ffs (log, local)

こんなかんじ
20080731:
WAPBL (metadata journaling support) has been added, but at this
time isn't backwards compatible with pre-WAPBL aware kernels
and userland (fsck_ffs in particular). Please make sure you
don't use a journaled filesystem with an older kernel/userland,
especially an uncleanly mounted journaled filesystem. WAPBL
also requires the super block to be in the UFS2 format. You
can use fsck_ffs -c 4 to update the superblock format.

入れてみたあと気づいたのが、
・openssl が 0.9.9-dev
・openssh は hpn パッチあてられてる.これ地味にいいかもしれんね

bash-3.2# openssl version
OpenSSL 0.9.9-dev 09 May 2008
bash-3.2# ssh -V
OpenSSH_5.0 NetBSD_Secure_Shell-20080403, OpenSSL 0.9.9-dev 09 May 2008
bash-3.2# telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.0 NetBSD_Secure_Shell-20080403-hpn13v1
^]
telnet> quit
Connection closed.

そういえば citrus 関連ってどうなってるのかさっぱり解らないなぁ。。



追記: perl ビルドの件、コメントに依ると pkgsrc-2008Q3 だとよさそう。いかん、日本語訳のサイトみてたおかげか、 2008Q3 の存在に気づけなかった、、 orz...

先月でてる 14 Oct 2008 - pkgsrc-2008Q3 released