vine-users ML アーカイブ



[vine-users:060513] Re: pcinitrd について

  • From: KAMEI Masahisa <mkamei@xxxxxxxxxxxxx>
  • Subject: [vine-users:060513] Re: pcinitrd について
  • Date: Thu, 22 May 2003 02:30:32 +0900
On Sun, 18 May 2003 01:45:14 +0900
"Masahiro Inoue" <miyabi.-.inoue@xxxxxxxxx> wrote:

> pcinitrdについて質問があります。
> 
> スクリプトの175行目あたりに
> strip_cp --strip-all $ROOT/bin/ash $MNT/bin/sh
> とあるのですが
> strip_cp --strip-all $ROOT/bin/bash $MNT/bin/sh
> の間違いでしょうか?
> 
> bashにしないとならないような気がしますが・・・

pcmciaもinitrdも詳しくありませんが、このスクリプトでは、
ramdiskを作成するに当たってBourne-Shell互換のシェル(/bin/sh)
として Ash(/bin/ash)をstripしてコピーしているのだと思います。

間違いと思われるのは、Vineでの /bin/sh は、bashへの
シンボリックリンクであるからだとおもいますが、/bin/shは
あくまでもshであって、Bashそのものである必要はないとおもいます。

# 私は、/bin/sh が bashへのシンボリックリンクであるこに違和感を覚えました。

/bin/shとして、Bash,AshのどちらがよりBourne-Shellに近い動作を
するかわかりませんが、この場合、モジュールサイズの小さい事が
重要なのだとおもいます。

問題は、#!/bin/sh で始まるシェルスクリプトはどう書くべきかだとおもいます
。ちなみに、Vine2.6では man sh とすると、Bash と同じです。また、manペー
ジには、bash と 昔ながらのバージョンのshとの間にはちょとした違いがいくつ
かあると書かれています。

Vineに直接関係ないかも知れませんが、
結構大事な事だとおもいますのでレスしました。

以上、参考になれば幸です。

-- 
  KAMEI, Masahisa
  E-mail:mkamei@xxxxxxxxxxxxx