pkgsrc/pkgtools/libkverを使うと、uname -r等を偽ることができる。
これによって、unameの情報を使うプログラムをだまして実行することができる。
pkgsrcのbinary packagesは、uname -sやuname -rを埋め込んでいる。
例えばNetBSD/amd64 current上でchroot環境を用意し、
NetBSD/amd64 6.1用のbinary packagesを作る場合に、libkverを使うことで
他のマシンでpkg_addが可能なbinary packageとすることができる。
こうしないと、NetBSD 6用のlibraryにリンクしているのに、
binary packageとしては、7.99.*用の情報が埋め込まれていて、
pkg_addしにくいbinary packageになってしまう。
また、pkgsrcのMakefileはunameの結果を使って条件分岐する箇所
があるので、buildに失敗するpackagesもあるはずである。
pkgsrc/pkgtools/libkverを使う場合については、
http://comments.gmane.org/gmane.os.netbsd.devel.packages/13587
にあるような手順が書かれているが、手作業でchroot環境を起動させる
場合については、若干分かりにくいように感じたので、手順を書いておく。
ちなみに、pkgsrc/sysutils/sudoを使っていないのは、sudoがLD_*という
環境変数を切り替え先の実行ユーザーに渡さない仕様であるからである。
先にsu(1)でrootになっておく。
(1) chroot環境の外側でlibkverをinstallする。
# cd /usr/pkgsrc/pkgtools/libkver
# make install
# make clean
(2) chrootに一度入り、chroot環境の内側でもlibkverをinstallする。
# chroot /usr/tmp/chroot/netbsd-6/root /bin/ksh
# cd /usr/pkgsrc/pkgtools/libkver
# make install
# make clean
# exit
(3) libkverを使ってchroot環境に入り直す。
ここでは、NetBSD/amd64 7.99.5上で、NetBSD/amd64 6.1に偽る場合を示す。
# kver -r 6.1 chroot /usr/tmp/chroot/netbsd-6/root /bin/ksh
# uname -r
6.1
# uname -a
NetBSD angelcake.elements.tetera.org 6.1 NetBSD 6.1 (LIBKVER) #0: Tue Jan 19 00:00:00 UTC 2038 root@localhost:/sys/arch/amd64/compile/LIBKVER amd64
Amazon Kindle Fireタブレットで、放送大学の学生向けのインターネット配信を視聴する
放送大学では学生向けには、テレビで放送されている講義のビデオと、ラジオで放送されている講義のオーディオがウェブ上で配信されている。 これはどうやら、Widevine CDMを使っているようだ。 そして、ウェブブラウザーのuser agent stringを見て視聴で...
-
Apache TomcatのフロントエンドにApche httpdを設置している環境がある。 Apache httpdとApache Tomcatの間は、AJP接続をしている。 Apache Tomcatを9.0.34にアップデートしたとこと、以下のようなエラーになってAJP接...
-
先週末に、OpenVMSを使ってみたいと思っていたのを思い出して、OpenVMSのhobbyist licenseを取得し、simhのVAXエミュレーターで使う、VAX用のインストール用のISOイメージをダウンロードしたので、その手順を書いておく。 どうやら、OpenVMS ...
-
OCNをISPとして、回線はフレッツで利用しているのだが、IPoEなIPv6は使えるようになっているのだが、IPv4 over IPv6は利用できていない。 自分の環境でIPv4 over IPv6が使えるかどうか良く分からなかったので、使えるかどうかの確認方法を書いて...
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。