NetBSDでLinuxエミュレーションを利用する

  • 便利そうな機能だ。

もっとわかりにくい種類のエラーとしては、インストール・スクリプトが#!/bin/shで始まるが、実際にはbashスクリプトであるようなプログラムで生じるエラーがある。これは以前に比べて少なくなってきてはいるものの、現在でもよく見られ、イライラの原因にもなる。shadow root(/emul/linux)に/bin/shがきちんと入っているだけでは十分ではない。他のプログラムからそのスクリプトが起動された場合に、Linuxエミュレーション・フラグが立たずに実行される可能性があるからだ。表面上は標準のシェル・スクリプトとしてきちんと動作するように見えるためだ。対処策の1つとしては、/bin/shを一時的に、何らかのバージョンのbashへのリンクに置き換えるという方法がある。もう1つは、スクリプトの「#!…」行に手を加えて、/bin/sh以外(たとえば/bin/bash)を参照するように修正するという方法だ。

  • ふむふむ。スクリプトで実行されるものに対しても注意ですね。
  • 手元の端末(Vine seed)では、/bin/sh -> bashとなっているけどNetBSDは違うのかいな?