grepとcoreutils

初期インストールが完了した状態でもいくつかの問題があるわけで・・・
1つはegrepの不具合。
もう1つはコマンドの不足。

egrepはapacheのコンパイル時にエラーになる原因として、
コマンド不足は致命的な操作制限の原因として、
それぞれ有名です。
インストールの必要があるものばかりですのでサクッとインストールしましょう。

光陰の初期設定群第五弾!
ユーザー環境の整備
お送りいたします!!
「grepとcoreutils」
玄箱についてくる追加パッケージ群って結構・・・というか、かなり古いです。
古いってことは、不具合が含まれているってことで・・・

まぁ、玄箱をサーバーとして使うには結構な数のソフトを入れなおしする必要がある。ということ。
今回の2つのソフトは最低限入れないとまともに活用もできないのでインストールは必須ですよ♪

やること一覧
	・grepのインストールcoreutilsのインストール

関連ページ
	・玄箱を使えるようにする/homeの引越しユーザーの追加とrootログイン禁止binary_packageFTP鯖の調整と/optの作成



grepのインストール

grepの確認

	# if echo GNU | egrep '(GNU|BFD)' >/dev/null; then echo "Good egrep"; else echo "Bad egrep"; fi
		┃Bad egrep
「ばっど いーぐれっぷ」だそうです。
悪いのか良いのかよくわかりませんが、問題があるようです。
再インストールといきましょう。

grep-2.5.4.tar.gzを探してきます。
Index of /pub/GNU/grep/
で、ユーザーのホームディレクトリにFFFTPで送ります。
圧縮ファイルを展開する
	$ tar xvfz grep-2.5.4.tar.gz
		注:ソースは特に理由がない限り最新版を利用してください
		注:私がインストール確認したバージョンがgrep-2.5.4ということです
作業場に移動
	$ cd grep-2.5.4
コンパイル(組み立て)
	$ ./configure --prefix=/usr
		

option説明など
--prefix=インストールディレクトリの指定

注:玄箱のgrepを殺すために/usrにインストールします $ make $ make check
インストール
	# make install
		注:インストールにはroot権限が必要です
インストールされるもの: install files list(default): use command is: ls -pR /usr/local >~/bin.txt
	[prefix]/bin/?grep
	[prefix]/info/
		dir grep.info*
	[prefix]/man/man1/?grep.1
	[prefix]/share/locale/[言語dir]/LC_MESSAGES/grep.mo
おまじない
	# strip -p /usr/bin/grep
不要なgrepの処理(古いgrepの方が優先的に使われてしまうため)
	# rm /bin/grep /bin/egrep /bin/fgrep
	または
	# mv /bin/grep  /bin/grep.old
	# mv /bin/egrep /bin/egrep.old
	# mv /bin/fgrep /bin/fgrep.old
テスト
	# if echo GNU | egrep '(GNU|BFD)' >/dev/null; then echo "Good egrep"; else echo "Bad egrep"; fi
		┃Good egrep
と、「ぐっど いーぐれっぷ」となりました。
グッドで良いgrepだそうです(違
「コンパイルの手順」
最初のころははっきり言って「呪文」ですよね。
大まかな内容は
tar xvfz :ソースを解凍する
cd :解凍してできたディレクトリの中に入る
./configure :玄箱の情報をかき集めるスクリプトを実行する。オプションでいろいろな設定を変更する
make clean :前回、コンパイルしたインストール前のソフトを削除する(コンパイルをやり直すためのコマンド)
make :コンパイルする
make check :正確にコンパイルできたか簡単に確認する
make test :正確にコンパイルできたかしっかりと確認する
make install :コンパイルしたソフトをインストールする(ほとんどの場合、root権限が必要)
となります。
まぁ。ソフトによってはcheckとかtestはないですけどね。
gnu系のソフトじゃないと、configureすらなくてMakefile(コンパイルの手順書)を直接編集する必要があったり・・・
まぁ、今回のは簡単なほうだから、これだけ。

coreutilsのインストール

初期状態では何をやっても
「そんなコマンドねぇよ!ヽ(`Д´)ノ」
といわれます。
コマンドリファレンス眺めながら、
「そんなコマンドねぇよ!ヽ(`Д´)ノ」
違うコマンド打って、
「そんなコマンドねぇよ!ヽ(`Д´)ノ」
何をしても、
「そんなコマンドねぇよ!ヽ(`Д´)ノ」
すぐ嫌になっちゃうので、基本コマンドを一通り使えるようにしましょう。

coreutils-5.96.tar.gzを探してきます。
Index of /pub/GNU/coreutils/

	注:5.97以降では、コンパイラエラーが発生しmakeできません(6.9まで確認)
	  ソースの解釈がうまく行えないようです。
で、ユーザーのホームディレクトリにFFFTPで送ります。
圧縮ファイルを展開する。
	$ tar xvfz coreutils-5.96.tar.gz
移動
	$ cd coreutils-5.96
コンパイル
	$ ./configure --prefix=/usr
	$ make
	$ make check
インストール
	# make install
インストールされるもの: install files list(default): use command is: ls -pR /usr/local >~/bin.txt
	[prefix]/bin/
		[ date false ln paste sha1sum tee users basename dd fmt logname 
		pathchk shred test vdir cat df fold ls pinky sleep touch wc chgrp 
		dir groups md5sum pr sort tr who chmod dircolors head mkdir printenv 
		split true whoami chown dirname hostid mkfifo printf stat tsort yes 
		chroot du hostname mknod ptx stty tty cksum echo id mv pwd su uname 
		comm env install nice readlink sum unexpand cp expand join nl rm sync 
		uniq csplit expr kill nohup rmdir tac unlink cut factor link od seq 
		tail uptime
	[prefix]/share/man/man1/[上記コマンドの.1ファイル]
	[prefix]/share/locale/[言語dir]/LC_TIME/coreutils.mo
	[prefix]/share/locale/[言語dir]/LC_MESSAGES/coreutils.mo
	[prefix]/share/info/
		dir coreutils.info
おまじない
	# cd /usr/bin
	# strip -p [ date false ln paste sha1sum tee users basename dd fmt \
	logname pathchk shred test vdir cat df fold ls pinky sleep touch wc \
	chgrp dir groups md5sum pr sort tr who chmod dircolors head mkdir \
	printenv split true whoami chown dirname hostid mkfifo printf stat \
	tsort yes chroot du hostname mknod ptx stty tty cksum echo id mv pwd \
	su uname comm env install nice readlink sum unexpand cp expand join nl \
	rm sync uniq csplit expr kill nohup rmdir tac unlink cut factor link od \
	seq tail uptime
		注:一部、デフォルトで入っているコマンドを上書きしています
で、終了。

追記(適宜更新)
以下のものをシンボリックリンクしておくと後の作業が楽かも。
	# ln -s /bin/vi /usr/bin/editor
	# ln -s /usr/bin/true /bin/true
	# ln -s /usr/bin/false /bin/false
	# ln -s /usr/bin/pwd /bin/pwd
「そんなコマンドねぇよ!ヽ(`Д´)ノ」
最初のころの感想、とにかくコマンドがない。
実際、「玄箱で遊ぼう!」を買う前までは何度か弄ろうとしたけど、この「そんなコマンドねぇよ!ヽ(`Д´)ノ」に挫折していました。
「玄箱で遊ぼう!」を買ってから、WEBを彷徨ってコンパイルの方法や情報を手に入れていったんです。
Jun's Homepage様の玄箱インストールmemoはとても参考になりました。

前のページ 次のページ


戻るなら押せ!