たわごと


by wakemasa

カテゴリ:サーバ( 52 )

何にもしてないのに

何にもしてないのに、同じoptionでcofigureして、make、make installしたら、tclがインストールできてしまった。。。。。

どーゆーこと!?!?!?!?

見なかったことにして、先に進む。

tk8.6.1のコンパイルとインストール。

1. tk8.6.1を展開
2. configure実行
ここでも、エラーに悩まされる。./configure --prefix /c/tcl --enable-64bitで「TclConfig.shが見つからんぞ」とエラー。TclConfig.shを探したら、/c/tcl/libにいたので、option追加。
./configure --with-tcl=/c/tcl/lib --prefix /c/tcl --enable-64bit
でconfigure終了。
3. make
4. make install

これでTcl/Tkのインストールが完了。

ようやく本題へ、、、、入れるのか!?

人気ブログランキングへ
by wakemasa | 2013-12-21 07:08 | サーバ
さて、原因不明なコンパイルエラーがなんで起きるかを調査しないと話が先に進まない。。。

READMEを読み漁ったが、よくわからん。何となく、configureを実行するときのoptionに細工してみた。

./configure --prefix /c/tcl -enable-64bit

そーいえば、自分のPCは64bitだったなぁと思い出したので、"-enable-64bit"を追加してconfigure実行。

Makefileができたら、make実行。

・・・・・・・・・(make実行中)・・・・・・・・・・・・・

あらら、、、makeが通ったよ。(驚)

じゃ、installのためにmake install実行。

またまたエラーで停止。(怒)

今度は、エラーコードが0xc000007b。どうも、install-tzdataを実行する際、tclsh86.exeを起動しようとしてこのエラーになっているみたい。

このエラーコードでググってみたら、64bitと32bitを間違うと出ることが多いらしい。
んなこと言っても、パソコンは64bitなんですけどーーーー!!!

さて、、、困ったぞ。。。。どうやって解決するんだ、この問題。。。。

人気ブログランキングへ
by wakemasa | 2013-12-21 05:43 | サーバ

Stwawberry PerlでTk

Strawberry Perlをインストールしたばかりだが、早速壁にぶち当たる。

Tkを使いたかったんで、何も考えずにそのまま "use Tk;"と書いたら、perl様に「んなもん、知らんわ!ぼけ!!」と言われてしまいました、、、

いろいろ手順を踏んでインストールしなきゃならんらしい。

必要な素材は以下の通り。

・MSYS (tar.gzなファイルを解凍するために必要。こちらからゲット)
・MinGW (Windows上でgccを使うため。ネットではこちらからダウンロードできるとあったが、ページ上にリンクがない。結局、こちらから最新版をダウンロード)
・Tcl/Tk (GUIツールを開発するためのおまじない。tcl8.6.1とtk8.6.1をこちらからダウンロード)


準備1. MSYSのインストール
ダウンロードしてきたMSYS-1.0.11.exeをダブルクリックして、インストール。いろいろ聞かれるが、適当に(笑)入力。

準備2. MinGWのインストール
同じく、ダウンロードしたmingw-get-setup.exeをダブルクリックでインストール。ダブルクリックでインストーラが起動されて、必要なファイルが落ちてくる。ネットの教えに従って、MinGW base toolとg++ compilerのみをインストール、、、、したつもり。。。。

準備3. msys、mingwにそれぞれpathを通す
インストールしたコマンド群を普通に使うために、環境変数PATHにmsysとmingwのbinフォルダを追加する。Win7の場合、環境変数は「スタート→コンピュータ右クリック→プロパティ→システムの詳細設定→環境変数」で表示されるタブで設定する。このタブに「システム環境変数」という部分があるので、この中から"PATH"を探して、編集をクリック。編集画面になったら、一番最後にmsysとmingwのbinフォルダを追加。
PATHを修正したら、DOS窓で"path"とコマンドを入力して、msysとmingwにpathが通っていることを確認。


ここまできたら、本題のtclとtkのインストール。

1. tcl861のインストール
(1)適当なフォルダにtcl861-src.tar.gzを展開
(2)展開したファイルにwinというフォルダがあるんで、そこをwindows用コンパイルフォルダにする
cd c:\tmp\tcl861-src\win
(3)UNIXなら、./configureとやればconfigureスクリプトが動くんだが、Windowsだと「configureなんて知らんもんね」とおっしゃる。。。。「pathは通したし、なんでやねん」と悩んでいたが、DOS窓でshellを起動してやったら、ちゃんと./configureを認識。そんなもんかい、、、、
(4)c:\tclにインストールしたいので、"./configure --prefix /c/tcl"を実行。
(5)confugireが完了したら、make実行

何事もなくmakeが終了するはずが、エラー発生。

c:/strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/4.7.3/../../../../x86_64-w64-m
ingw32/bin/ld.exe: tclZlib.o: bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status
make: *** [tcl86.dll] Error 1

なんじゃ、これ、、、、、

人気ブログランキングへ
by wakemasa | 2013-12-20 04:16 | サーバ
備忘録を兼ねてまとめ。

ふと思い立って、自宅PCにperl開発環境を作りたいと思った。(笑)

ActivePerlが世の中の標準らしいが、最近はStrawberryPerlというFreeなPerlもあるらしい。ActivePerlだとCPANの入手が大変だったりするらしいが、StraeberryPerlならそんなことはないらしい(と、ネットに書いてあった 笑)。

1. StrawberryPerlの公式サイトにアクセス。
2. 自分の環境に合ったStrawberryPerlを選択して、ダウンロード。December19, 2013現在で最新版は5.18.1.1。コンパイラやライブラリなど一切合財をダウンロードするんで、結構な時間がかかる。
3. strawberry-perl-5.18.1.1-64bit.msi(自分は64bitなので、64bit版)というファイルができるので、ダブルクリックしてインストール
4. StrawberryPerlが使えるようになります

人気ブログランキングへ
by wakemasa | 2013-12-19 05:12 | サーバ

NAS復活に向けて、その後

RAIDの再構築完了を待っていたら、何事も起らずに終了。

一方のHDDエラーは検出されたままなので、いずれ取り替えなければならない。が、RAID再構築が完了したということは、中身も取り出せるんじゃないかと思った。

試しに、アクセスできなかった3つのファイルをコピーしてみたら、問題なくコピーできた。

なるほどね。。。

メーカーのサポートが言ったことは、まんざらウソでもないらしい。

ということで、一方のHDDを交換しなきゃならないけど、NAS自体には思い残すことがなくなった。

HDD交換して、初期化するかな。。。。

人気ブログランキングへ
by wakemasa | 2013-01-26 15:46 | サーバ

NAS復活に向けて

ほぼ1年くらい前から使えなくなっていたNASがあり、この中にしか残っていないデータがある。

「いい加減になんとかするべ」と一昨日から作業開始。

電源を入れると、ちゃんと起動する。しばらくすると共有ディスクもちゃんと見えるようになる。ここまでは問題なし。

問題はここから。このNASは2台のHDDでRAID1を組んでいる。1年ほど前に片側のHDDが逝ったので、純正のHDDを買いなおしたんだが、そこからRAIDの再構成ができなくなっていた。しばらく時間が経つ(10時間くらいか)と、うんともすんとも言わなくなる。電源をOFFにしても落ちない。こうなるとACアダプタを抜くしかなくなる。

こうなった時点でメーカーのサポートとやり取りしたんだが、「中身は保証しないけど、○○の操作をやってくれ」とかナメたことを言う。

「だったら、NASなんか売ってんじゃねーよ」と思いつつ、どうするか考える。

10時間くらい放置して、様子をうかがっていたら、どうももう一方のHDDでエラーが起きているようで、RAIDの再構成でそこをアクセスすると即死するらしいことが分かった。

うーん、、、重症だ。。。

まずは中身を可能な限り取り出すことを優先。

USB HDDを買ってきて、そいつにコピーできるだけコピーする。

「10時間の壁」があるので、コピーだけで2日かかってしまった。結果、ファイル3つがアクセスできない(=おそらく、エラーが出ているセクタに乗ってると思われる)だけで、それ以外は全部取り出せた。アクセスできないファイルの1つはバックアップで、オリジナルはまだ持っているのでなんとかなる。

ファイル3つで済んだのは、不幸中の幸いか。。。。

中身を取り出せたので、メーカーから「やれ」と言われたことをやってみることにした。

・ディスクのエラーチェック
・ファームのバージョンアップ

エラーチェックにはひっかからず。オイオイ、、、

ファームのバージョンアップをしたら、表示されるメッセージが変わった(!!)。

RAIDの再構築は走り始めた。8時間くらいかかるらしい。このまま放置。

人気ブログランキングへ
by wakemasa | 2013-01-26 11:25 | サーバ

自宅サーバ復活に向けて

まず、最初にホコリの除去、、、

これまでずっと稼働しっぱなしだったので、中身はホコリだらけ、、、(>_<)
室内でエアダスターを使うと呪われそうなくらいホコリだらけなので、外でエアダスター攻撃。

出るわ、出るわ、ホコリのヤマ、、、、

もしかして、ディスクが死んだ理由はこれか????

使わなくなったWinPCからHDDを移植。一応、古いHDDは残しておく。可能なら、中身を引き出したい。

ついでに、Blu-RayドライブをWinPCから移植。FreeBSDなサーバにBlu-Rayドライブってのも無駄なような気がしないでもないが、死蔵させておくよりはマシでしょ。(笑)

配線して、くみ上げたら 9.0R にします。

人気ブログランキングへ
by wakemasa | 2012-02-25 22:34 | サーバ

Unrecovered I/O Error

なんか、最近呪われてます、、、

サーバから「Unrecovered I/O Error」なんてメッセージを残してPanicするようになっちまいました、、、orz

ディスクの一部が逝ってしまったようです。一応、fsck -f でフルチェックをかけて、エラー箇所はsalvageするか、clearするかしたんですが、、、、

fsckで修正できないってことは、物理的に逝ったってことだろうなぁ、、、、

ディスクを入れ替えるんなら、9.0Rにしたいな。。。boot DVD-Rから作り直さないと、、、

人気ブログランキングへ
by wakemasa | 2012-02-14 07:02 | サーバ

環境整備

ちょっとサーバ上でやりたいことができたので、まずは環境整備から。

1. FreeBSDのupdate

/etc /stable-supfileを準備する。stable-supfileの中身を編集

# vi /etc/stable-supfile

で編集。 default release=cvs tag=RELENG_8_2 となっていることを確認。
ソースコードのupdate。

# cvsup -g -L 2 /etc/stable-supfile

cvsupが終了したら、コンパイル。

# cd /usr/src
# make buildworld

そのまましばらく放置。

設定ファイルの名前をGENERICから変えておく。MYKERNELは自分の好きな名前にしておく。すでに存在するので、それをそのまま利用。

# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL

/etc/make.confの中にKERNCONF=MYKERNELを追加しておく。

/usr/src/でbuildkernelして、 installkernelしたらreboot。

# cd /usr/src
# make buildkernel
# make installkernel
# reboot

まずはシングルユーザモードで起動。念のため、ファイルシステムをチェック。

# fsck -p

/を read/write 可能にして再マウント

# mount -u /

/etc /fstabで指定されているすべてのファイルシステムをマウント

# mount -a -t ufs

ちゃんとファイルシステムがmountされました。一応、ぱらぱらと中身が表示されることを確認。
最後にswapを有効にする

# swapon -a

コンパイル済のシステムをインストール。

# cd /usr/src
# make installworld

念のために以下のファイルの中身でソースコードの版数をチェック

/usr/src/sys/conf/newvers.sh

ちゃんと8.2-RELEASE-p6になってました。

じゃ、reboot

ちゃんと8.2-RELEASE-p6で起動できました。


2. ports の upgrade

念のために古いportsをバックアップしておく。

# mkdir /export/ports-backup
# cd /usr/ports
# tar cf - . | (cd /export/ports-backup; tar xvfp -)

次にportsのupdate。snapshotのダウンロード、snapshotの再構築、portsのupdateの順

# portsnap fetch
# portsnap extract
# portsnap update

何事もなく終了。

portupgradeのインストール。

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

エラーが出た、、、

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean
===> Installing for portupgrade-2.4.9.3,2
===> portupgrade-2.4.9.3,2 depends on file: /usr/local/bin/ruby18 - found
===> portupgrade-2.4.9.3,2 depends on file: /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd8/bdb.so - not found
===> Verifying install for /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd8/bdb.so in /usr/ports/databases/ruby-bdb
===> Installing for ruby18-bdb-0.6.6
===> ruby18-bdb-0.6.6 depends on file: /usr/local/bin/ruby18 - found
===> ruby18-bdb-0.6.6 depends on shared library: db41.1 - found
===> Generating temporary packing list
===> Checking if databases/ruby-bdb already installed
===> ruby18-bdb-0.6.6 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of databases/ruby-bdb
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/databases/ruby-bdb.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.
*** Error code 1

Stop in /usr/ports/ports-mgmt/portupgrade.

おいおい、、、orz

エラーが出たruby-bdbを再インストールする。

# cd /usr/ports/databases/ruby-bdb/
# make deinstall
# make reinstall

エラーは解消したはずなので、portupgradeのインストール続行。

# cd /usr/ports/ports-mgmt/portupgrade
# make install

今回は成功。
INDEXファイルを更新したいので、portsdbを実行。

# portsdb -Uu
Updating the ports index ... Generating INDEX.tmp - please wait.."/usr/ports/cad/astk-client/../astk-serveur/Makefile", line 287: Could not find /usr/ports/cad/astk-client/../../french/aster/bsd.aster.mk
make: fatal errors encountered -- cannot continue
===> cad/astk-client failed
*** Error code 1
1 error

********************************************************************
Before reporting this error, verify that you are running a supported
version of FreeBSD (see http://www.FreeBSD.org/ports/) and that you
have a complete and up-to-date ports collection. (INDEX builds are
not supported with partial or out-of-date ports collections -- in
particular, if you are using cvsup, you must cvsup the "ports-all"
collection, and have no "refuse" files.) If that is the case, then
report the failure to ports@FreeBSD.org together with relevant
details of your ports configuration (including FreeBSD version,
your architecture, your environment, and your /etc/make.conf
settings, especially compiler flags and WITH/WITHOUT settings).

Note: the latest pre-generated version of INDEX may be fetched
automatically with "make fetchindex".
********************************************************************

*** Error code 1

Stop in /usr/ports.
*** Error code 1

Stop in /usr/ports.
failed to generate INDEX!
portsdb: index generation error

うーん、、、またエラー。
「FreeBSD portdb error」で調べてみたら、それらしい情報にヒット。
エラーが出たコンポーネントをportupgradeするとうまくいくらしい。。。

# portupgrade -r aster

なにやらメッセージが出た。
retryしてみる。

# portsdb -Uu

うーむ、、、やっぱり同じエラーで止まる。。。。

さらに調べてみると ports/161213 で track されているらしいが、修正済のようにも読める。。。

さて、、、どうしたもんか、、、

人気ブログランキングへ
by wakemasa | 2012-02-01 05:23 | サーバ

NASのRAID再構築

ちょっと前にディスクが飛んだNASですが、ディスク交換後にRAID再構築を実行していましたが、いつまで待っても終わる気配がありません。バッファローのサポートにメールしてみても、なんか要領を得ない回答で、どうしたもんかと思案していました。

RAID再構築中であっても、大元のデータは飛んでないという勝手な自己見解(笑)に基づき、一度電源をOFFしてみることに。

スイッチをOFFしてみたものの、落ちません。(*_*)

しゃーないので、電源ケーブルを抜いて落としました。しばらく(小1時間ほど)放置してから、電源再投入。

またRAID再構築が始まりましたが、今回は管理ツールでちゃんとアクセスできていて、進捗状況も確認できています。

どうも、RAID再構築中に何かがあって、ハングアップしていたみたいですね。

今回は管理ツールで確認できているので、このままRAID再構築が完了すれば問題なしです。

人気ブログランキングへ
by wakemasa | 2011-12-24 21:33 | サーバ