0

最近の bash のバグ - Shellshock に照らして、Mac OS X Snow Leopard (10.6.8) の Bash (および Sh) プログラムを更新したいと考えています。意図的に 10.6.8 を使用しているため、現在 OS X の新しいバージョンに更新したくありません。

この Q&A を読みました - Mac OSX Mountain Lion で Bash をアップグレードし、正しいパスを設定するにはどうすればよいですか? しかし、[home?]brew (または Xcode、コンパイラなど) がインストールされていないため、うまくいきません。Max OS X プラットフォームでプログラミングを始めたばかりです。

ところで、ターミナルで brew update と入力すると、次の出力が得られます。

[489]$ brew update
-bash: brew: command not found

では、 OS X 10.6.8 用の固定バージョンのbashをインストールするには、どのような手順を (最初から) 行う必要がありますか?
それは...ですか:

  1. XCode 3.2.6 をインストールします (現在、4.1 GB のインストール ファイルをダウンロードしています)。
  2. Homebrew をインストールします (どのように?)
  3. 「 Mac OSX Mountain Lion で Bash をアップグレードして正しいパスを設定するにはどうすればよいですか?」の手順に従ってください。?

または、OS X 10.6.8 を使用しているため、どこかから Bash コードをダウンロードし、XCode 3.2.6 (または有料の場合は 4.2) を使用してコンパイルし、/bin/bash と /bin/ を手動で置き換える必要がありますか? shファイル?

私が言ったように、私は Mac でこれを行うのは初めてですが、[少し古い] プログラミング経験があります。

ありがとう。

4

4 に答える 4

2

全端末スタイルで行うこともできます (Lion 更新パッケージが提供されています)。

# pkgutil --expand ~/BashUpdateLion.pkg ~/BashUpdate
# vi ~/BashUpdate/Distribution

InstallationCheckおよびVolumeCheck関数を次のように編集します。

function InstallationCheck(prefix) {
     return true;
}
function VolumeCheck(prefix) {
     return true;
}

最後に、それを再びインストール可能なパッケージにフラット化します

# pkgutil --flatten ~/BashUpdate ~/Desktop/BashUpdateModified.pkg
于 2014-11-07T13:06:37.467 に答える
1

http://hacksagogo.wordpress.com/2014/10/02/shell-shock-os-x-bash-update-installer-for-snow-leopard/

ここには、クレイジーな人、はみ出し者、トラブルメーカー、四角い穴の丸いペグがあります。物事の見方が変わった...そしてまだ Snow Leopard を使っている人たちです。

1.- PackageMaker で bashUpdateLion.pkg を開きます

2.- プロジェクト/生編集モードに移動し、ファイル「Distribution」内の関数「InstallationCheck」および「VolumeCheck」を次のように変更します。

function InstallationCheck(prefix) {
    return true; }

function VolumeCheck(prefix) {
    return true; }

3.- 「ビルド」をクリックして、インストーラー パッケージの名前を選択します。

それはすべての人々です。

于 2014-10-02T16:15:07.397 に答える