トップ > 最小システムの構築 > 新システムの作成(後半) >
Bash

  

Bashのビルド

Bashは、Linux系OSでの標準的なシェル、つまりコマンドインタプリタです。 コマンドライン入力された利用者の命令を解析しプログラムを起動することが主な役割です。

  
Bashは、"Bourne-Again SHell"の略です。

ビルド・インストール前リストの生成

最初に、ビルド・インストール前リストを生成します。


/sources/genprevlist.sh > /dev/null 2>&1

 

ソースファイルの展開

ソースファイルを展開します。


cd /sources
tar xvf bash-4.3.30.tar.gz
cd bash-4.3.30

 

パッチの適用

展開したソースファイルにパッチを適用します。


patch -Np1 < ../bash-4.3.30-upstream_fixes-1.patch

 

configure

configureを実行します。


./configure \
  --prefix=/usr \
  --bindir=/bin \
  --docdir=/usr/share/doc/bash-4.3.30 \
  --without-bash-malloc \
  --with-installed-readline > ../../logs/configurelog.bash 2>&1

 

configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


cat ../../logs/configurelog.bash

 

ビルド

ビルドを実行します。


make

 

ビルドが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

テスト

テストを行います。


chown -vR nobody .
su nobody -s /bin/bash -c "PATH=$PATH make tests" 2>&1 | tee ../../logs/checklog.bash

 

テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


grep -i -e '^error' -e '^fail' ../../logs/checklog.bash

 

上記の結果、何も表示されなければ問題ありません

インストール

インストールを行います。


make install

 

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

ソースファイル付属文書のインストール

ソースファイルに付属している文書のインストールを行います。


mkdir -vp /usr/share/doc/bash-4.3.30
cp -va ABOUT-NLS       /usr/share/doc/bash-4.3.30
cp -va AUTHORS         /usr/share/doc/bash-4.3.30
cp -va CHANGES         /usr/share/doc/bash-4.3.30
cp -va COMPAT          /usr/share/doc/bash-4.3.30
cp -va COPYING         /usr/share/doc/bash-4.3.30
cp -va INSTALL         /usr/share/doc/bash-4.3.30
cp -va NEWS            /usr/share/doc/bash-4.3.30
cp -va NOTES           /usr/share/doc/bash-4.3.30
cp -va POSIX           /usr/share/doc/bash-4.3.30
cp -va RBASH           /usr/share/doc/bash-4.3.30
cp -va README          /usr/share/doc/bash-4.3.30
cp -va Y2K             /usr/share/doc/bash-4.3.30
cp -va CWRU/changelog  /usr/share/doc/bash-4.3.30
cp -va doc/FAQ         /usr/share/doc/bash-4.3.30
cp -va doc/INTRO       /usr/share/doc/bash-4.3.30
cp -va doc/*.txt       /usr/share/doc/bash-4.3.30
cp -va doc/*.pdf       /usr/share/doc/bash-4.3.30
cp -va doc/*.html      /usr/share/doc/bash-4.3.30
cp -va doc/*.dvi       /usr/share/doc/bash-4.3.30
cp -va doc/*.ps        /usr/share/doc/bash-4.3.30

 

後始末

ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。


cd ..
rm -fr bash-4.3.30

 

インストールリストの生成

最後に、インストールリストを生成します。


/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh bash

 
  

チェンジルートのやり直し

ここで、一度チェンジルート環境から抜け、再度チェンジルートします。 理由は、新たなbashに切り替えるためです。


exit

 

Fedoraに戻りますので、再度チェンジルートします


/root/chroot.sh

 
  

まとめ

Bashは、Linux系OSでの標準的なシェル、つまりコマンドインタプリタです。

 
メニュー