よたかの日記を兼ねたブログです
あっちこっちケイイチ

よたかの日記を兼ねたブログです

  1. サーバーライフ
  2. pentiumMMX の PC に vineLinux をインストール中

pentiumMMX の PC に vineLinux をインストール中

よたか2010.03.28 16:15:26

作業のおぼえ

いろいろと大変な事があるけど、一番苦しかったのは「CDから起動できない」事。

起動用FD作くらないといけないのですが、起動FDが作れるvineは3.2までなので、3.2をインストールする事にします。

ネットインストール失敗
vineのサイトから「bootnet.img」をダウンロードし、winで「rawrite.exe」を使って起動用FDを作ります。
FDで起動は出来るのですがFTPサイトが見つからずにインストール出来ません。
まぁ、ネットワークカードがちょっと古いのでさっさと諦めます。

結局インストールCDを焼きます
ネットインストールできないので、CDイメージをダウンロードしてインストールディスクを準備して再挑戦。
vineは1枚なので助かるとはいえ、ダウンロードに時間が30分ほど。
そしてインストール。

今回は、PDFファイルを書き出すだけなので「最小インストール」にして、後からいろいろ追加する事にする。
マシンが遅いので、それなりに時間が掛かるものの、なんとか終了。

さて、起動させようとすると、liloがカーネル選択する画面でステータスバーが振り切られてフリーズ。
フリーズするファイルを確認する為に、テキストモードにしようと「esc」を押してもテキストモードにならない。

HDDを他のマシンに繋いで起動させるとちゃんと起動する。
相性かぁ。

「vine2.6」をインストールする
まぁ今回の目的は、PDFだけ書き出せればいいので、別段vine2.6でも問題はないはず。
CDもFDも手元にあったので、そのままインストール。
こちらでも「最小インストール」でインストール。
最小なのでログイン画面は当然テキストモード。

起動開始する。

順調にファイルを読み込んでいく物の「murasaki」で止まる。
「murasaki」ってなに?
どうやら「HotPlug」に対応させる為のユーティリティーの様です。

そうかぁ、マシンが古いので、対応出来なかったのか。

という訳で、インストールしたHDDを他のマシンに繋いで、
murasakiが動作しない様にしました。(ここのコマンド忘れた!!)


起動はしますが肝心の…
さて、HDDを戻して起動させる。今度はちゃんと起動しますね。
サンバの設定やって、php準備して、プログラムコピーして動作チェック…。

あれ?FPDFがエラー返してる。
このバージョンのPHPでは動かないよ。だって。

しまったぁ。phpのバージョンが4.23だ。phpは4.4にしないとだめなんだ。

そんな訳で、apt-get でアップグレードする事にする。
/etc/apt/sources.listを編集

===============
rpm http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus updates extras
rpm-src http://updates.vinelinux.org/apt 3.2/$(ARCH) main devel plus updates extras

===============
#apt-get dist-upgrade

===============

これでアップグレードできるとおもいきや、
依存関係でエラーが発生。emacsがどうとか言ってる。
最小インストールなので、emacsなんて入れてないのに…。


もう一度3.2をインストール
時間もないし、このままではどうしようもないので、3.2を再インストールする事にした。

今度はapt-getで怒られない様にカスタマイズでフルインストールを選択。
パッケージを選ぶ画面で「murasaki」を外してインストール開始。

そして夕べはそのまま寝ました。

今朝。インストールも終わっているし、気持ちよく作業再開。
しかし起動画面のエラーは相変わらず。

今度はダメもとで「esc」を押すと、あっさりテキストモードになった。
これで作業が続けられると思いきや、

今度はネットワークカードに繋がらない。
[eth0]は表示されているので、カードは認識されている様です。

ifconfig叩くと、ipが割当られていないようです。

/etc/modules.conf からeth0の行を削除して、電源を落とし、
イーサーカードを抜く。

イーサーカードがない状態で起動させて、もう一度電源を落とし、
イーサーカードを組み込んで起動させる。
今度は上手くいった様です。

これは「murasaki」を外した影響かもしれません。

でもこの数回の再起動がまずかったのかHDDがクラッシュしてしまいました。
結局また再インストール。


もう一度、2.6をインストール
あぁ何度目のインストールでしょうか?
起動画面のエラー修正する自信が無くなって来たし、php4.4無理矢理インストールすれば良さそうなので、2.6にします。

「murasaki」は外して、
「samba」「apache」「webmin」はバージョン上げなくてもいいので、一緒にインストール。
 起動まではスムーズ。


とりあえず、2.6をアップグレードする。
最初に、2.6用のアップグレードを設定。
===============
#vi /etc/apt/souces.list

===============
rpm http://updates.vinelinux.org/apt/ 2.6/$(ARCH) updates main plus
rpm-src http://updates.vinelinux.org/apt/ 2.6/$(ARCH) updates main plus

===============
main plus を追加しておきます。

#apt-get update
これでデータをアップデート。

#apt-get upgrade
これで一気にアップグレード。

すでにエラーが出てる。

===============
glibc-common ##################################################
===============
これのあと、

===============
パッケージ glibc は conflict index 中にリストされていません
パッケージ LC_ADDRESS は file index 中に見つかりません
パッケージ LC_COLLATE は file index 中に見つかりません
パッケージ LC_CTYPE は file index 中に見つかりません
パッケージ LC_NAME は file index 中に見つかりません
パッケージ LC_NUMERIC は file index 中に見つかりません
パッケージ LC_PAPER は file index 中に見つかりません
パッケージ LC_TIME は file index 中に見つかりません
===============
これの繰り返し。

何百行か繰り返して
===============
パッケージ LC_MESSAGES は file index 中に見つかりません
===============
これ10行くらい吐き出して。

===============
glibc ##################################################
===============
インストールは進む。

アップグレードが終わると一度リブート
#reboot


続けて、3.0にある、php4.4 をインストールする。

2.6ならば、これらはインストール出来るのですが、インストールしすぎると、apt-getでエラーが出そうなので回避。
どうせ、アップデートすると設定とか全部やり直しになるし。

ちなみに、apt-getでエラーが出るときは「依存性」についてなんだけど。
いままでこれを解決出来た試しがない。

さて、3.0のデータを持って来る為にもう一度書き直す

===============
#vi /etc/apt/souces.list

===============
rpm http://updates.vinelinux.org/apt/ 3.0/$(ARCH) updates main plus extras
rpm-src http://updates.vinelinux.org/apt/ 3.0/$(ARCH) updates main plus extras

===============

ディストリをアップグレードするのは、
#apt-get dist-upgrade

なんだけど、そんな事やったらまたログイン出来なくなるので、あくまで2.6のままで作業を進めます。


===============
#apt-get update
#apt-get upgrade

===============

===============
取得完了: 52.4MB を 2m8s (409kB/秒)
RPM データベースを再構築しています(処理に数分かかることがあります)...
RPM コマンドを実行しています (-e)...
Running uninstall scripts ..
RPM コマンドを実行しています (-U)...
エラー: 依存性の欠如:
rpmlib(PartialHardlinkSets) <= 4.0.4-1は glibc-common-2.3.3-3vl1.3 に必要とされています
E: Sub-process /bin/rpm returned an error code (36)

===============

やはりこのエラーですね。
でも無視して作業を続けます。

===============
#rpm -Uvh --nodeps --force /var/cache/apt/archives/php_4.4.4-0vl1_i386.rpm
#rpm -Uvh --nodeps --force /var/cache/apt/archives/php-pear_4.4.4-0vl1_i386.rpm

===============
var/tmp/rpm-tmp.10722: line 5: syntax error: unexpected end of file
スクリプト php-pear-4.4.4-0vl1 の実行に失敗

===============
またエラーっぽいけど、/usr/bin/に pear4があるようなので、無視。

さてreboot

webminとsambaの設定
まずphpの動作を確認する。

===============
#vi /home/httpd/html/test.php

===============
<?php
phpinfo();
?>

===============

Apacheのドキュメントルートにphpinfoを表示させる。

===============
#cd /home/httpd/html/
#php test.php

===============
php: error while loading shared libraries: libsablot.so.0: cannot open shared object file: No such file or directory

===============

結局エラーかよ。


[vine rpmlib(PartialHardlinkSets) <= 4.0.4-1は glibc-common-2.3.3-3vl1.3]で検索する。
こちらの vine seed の記事に解決方法を記載してありました。
===============
# apt-get update
# apt-get remove rpmfind gnorpm
# apt-get -dy install apt rpm gcc gcc295
# rpm -Uvh --nodeps --force /var/cache/apt/archives/*.rpm
# rpm --rebuilddb

===============

エラーの元を回避して無理にねじ込む感じですね。
先達たちの苦労の賜物。ありがたく頂戴させていただきます。

だけど、
# apt-get remove rpmfind gnorpm の前に、
# apt-get clean はしといた方が良さそうですね。

でもその前にもう一度再インストール。


やっと見えて来た

ここまで来てやっとphp4がインストールできます。
===============
#apt-get install php

===============
これで、php と、php-pearがインストール出来ます。
インストール出来ると言ってもあちこちでエラーが出てます。

一度phpがインストールされているか確認
===============
#rpm -qa | grep php

php-pear-4.4.4-0vl1
php-4.4.4-0vl1

===============
無事インストール出来ている様子。

でも、どうやらエラーで、libphp4.so がインストール出来てなかったみたい。
他のPCからコピーします。
===============
#cd /etc/httpd/modules/
#wget http://192.168.0.XX/libphp4.so
#chmod 755 libphp4.so

===============

さて、ここでwebminの設定いれたてのwebminは外部アクセスが出来ないのでLan内からアクセス出来る様にします。
===============
# vi /etc/webmin/miniserv.conf

allow=127.0.0.1 192.168.0.0/255.255.255.0 これを環境に合わせて追加

#/etc/init.d/webmin restart webminの再起動

===============

https://192.168.0.xx:10000/ へアクセス。


sambaというか、winの事がよく解ってないので、sambaはwebminから設定します。

ゲストが使う「ドロップフォルダ」を作ります。

[新規のファイル共有を作成]
 共有名:「Doropbox」
 共有するディレクトリ:「/home/httpd/html/img」
 有効にしますか?「 はい」
 ブラウズ可能にしますか?「いいえ」

[セキュリティとアクセス制御]
 書込み可能にしますか?「 はい」
 ゲストのアクセスを可能にしますか?「 ゲストのみ」
 ゲスト Unix ユーザ「apache」

これはゲストが、httpのimgフォルダにデータを放り込む設定にしてます。
放り込んだあと、phpで加工するので、unixユーザーは「apache」にしております。


ここで一度 Reboot します。

phpの動作を確認。
sambaの動作を確認。
あらかじめ作っておいたphpスクリプトをアップして動作確認。

全部OK!!!!


クライアント先にあわせて設定
linuxなので、ユーザー名とパスワード入れて操作して欲しいのだけど多分そこまでやる事になると、違う要望がでそうなので、簡単なスイッチを作る事にします。

起動は「ボタン」を押すだけなので別にいいけど、終了が悩みどころ。

いろいろ考えたけど「終了するだけのユーザー」を作る事にした。
===============
#usersdd -d /home/end -m end 終了用のユーザーを追加

#passwd end パスワードを設定
Changing password for user end
New password: XXXXXX
Retype new password: XXXXXX
passwd: all authentication tokens updated successfully


#chmod 666 /etc/sudoers 終了コマンド使える様に設定
#vi /etc/sudoers

end ALL=/sbin/shutdown -h now この行を追加

#chmod 440 /etc/sudoers


#vi /home/end/.bash_profile 終了用ユーザーの起動設定シェルを追加

#!/bin/sh
sudo /sbin/shutdown -h now
"XXXXXX" <----------設定したパスワード
===============

これでログインした瞬間にスイッチが切れるユーザができました。

login: end
password: XXXXXX

とすればスイッチが切れると言う訳です。

パスワードをナシにすればもっとスマートだけどさすがにそれはちょっと…。


3日間にわたる「linux」の勉強がやっと終わりました。