よたか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」の勉強がやっと終わりました。