動的ライブラリのパスを指定する環境変数2012年02月18日 14時35分50秒

UNIX の動的ライブラリがある場所を指定する環境変数の名前はシステムによって色々と違う。中には同じものを用いるシステムもある。さて、わざわざシステムに依って変数の条件分けをしなくていいと喜ぶべきなのか、システム固有値のみを設定すべきなのか。中途半端な違いが悩みの種だ。

LD_LIBRARY_PATH 派

  • Solaris
  • FreeBSD
  • NetBSD
  • OpenBSD
  • Linux

LIBPATH 派

  • AIX

SHLIB_PATH 派

  • HP-UX

DYLD_LIBRARY_PATH 派

  • MacOS X

NetBSD の tmpfs も調べてみる2009年02月03日 08時21分41秒

更に、FreeBSD の tmpfs のコードを調べていると、 For now, we do the linear lookup in the parent node. This has its own drawbacks. Not mentioning speed (that could be fixed by using hash), the real problem is the situation where several hardlinks exist in the dvp. But, I think this is fixable. とあった。つまり既知の問題ではあったわけだ。

i-node が同じと云う条件が必要にせよ、意図しないファイルが消えていくというのは恐いバグだ。

NetBSD の当該コードをみると、tmpfs_dir_lookup が使われている。


	dnode = VP_TO_TMPFS_DIR(dvp);
	node = VP_TO_TMPFS_NODE(vp);
	tmp = VFS_TO_TMPFS(vp->v_mount);
	de = tmpfs_dir_lookup(dnode, cnp);
	if (de == NULL) {
		error = ENOENT;
		goto out;
	}

こちらは、ディレクトリ内をファイル名で探す関数なので、FreeBSD のような問題は起きない。この問題は、FreeBSD 固有のようだ。

前回次回

NetBSD macppc の記憶2009年01月16日 05時13分24秒

もう既に五年ぐらい前になると思う。i386 系以外で BSD を使ってみたくて挑戦した時に参考にしたサイト。

Re: PowerBook G4 17inch には、パーティションテーブルと細かい手順が書いてあった。BlueLeaf1336-PROBLEMS-2003_0008 には ofw の使用例があり、とても参考になった。最終的には、この二つを重点にして、NetBSD を起動させるのに成功した。

やはり、i386 と比べると利用者人口が少ないのだろう。色々と手間取った。機械が違うと微妙に変わり、また Macintosh をブートするのに使われるオープンファームウェアなども、バージョンによってかなり違っている。

最終的にはインストールは出来たが、X の設定は無理で、コンソールの表示がもの凄く遅かった。CPU 自体が時代遅れで遅いのにコンソールでのスクロールが遅く、使い物にならずに Mac OS X を入れてしまった。

NetBSD FFS Journalling Support2008年03月07日 11時36分31秒

Patches for journalling support との投稿を NetBSD で見つけた。FFS のメタデータジャーナリング用のパッチが、Wasabi Systems から提供された。 冒頭を簡単に訳す。

Wasabi Systems Inc is pleased to make our journalling code available
to the NetBSD community.  This code is known as WAPBL - Write Ahead
Physical Block Logging, and has been used to provide meta-data
journalling in production environments for over 4 years.  WAPBL
journals meta-data only - not file data, and has been used on
filesystems ranging from from 16MB to multiple terabytes in size.

Wasabi Systems はここに FFS 用のジャーナリングシステムを NetBSD に寄附する事を発表します。このコードは WAPBL、別名 Write Ahead Physical Block Logging といわれるメタデータのみのジャーナリングを提供します。ファイルのデータは保存されません。Wasabi Systems では、16MB から 数 TB に渡るファイルステム上で 四年に渡って運用されてきました。

数十 GB ぐらいでは、FreeBSD の Softupdate で十分だと思っていた。fsck もバックグラウンドで行うため、軽量かつ比較的早く終わる。しかし、数百 GB ぐらいになってくると、バックグラウンド fsck も十五分から三十分ぐらいかかるようになってくる。その間はディスクの性能も出ない。カーネルや新機能を弄っていて数分に一回クラッシュすると流石に嫌になってくる。FreeBSD には gjournal があるが、NetBSD の方も面白そうだ。