ホーム » コンピュータ » Linux (ページ 38)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

サーバリニューアル準備

自宅サーバの故障の前兆も怖いので、自宅サーバの更新ということで、 新しいマシンを(安価な構成=4万円!!)発注した。 安い構成だし、どこまで静音なのか心配が残るけど、それは来てからのお楽しみ。 RAIDやミラーリングも考えないといけないけど、ひとまずは基本サーバが立ち上がってから。

その前段階ということで、ネットワークの構成の準備。 自宅サーバは、現在4代目。常時稼働にしてから3代目。 家じゅうのネットワーク機器(PC,AV家電,ゲーム機など)は、 DHCPやらProxyやらでサーバ依存状態。 サーバがトラブルと被害は大きい。 だからこそ、移行後に前サーバのIPアドレスを仮想IPで使える状態に残したりと、 手間がかかる。


あと、せっかくのサーバ更新だし、今までのサーバ設定の不具合も直したい。 まずは、ファイルシステムやらの漢字コーディングが、EUC-JP だったけど、 これを契機に最近主流の UTF-8 に変更したい。

(( ファイルシステムの漢字コーディング変更 ))
# aptitude install convmv
# convmv --notest -f euc-jp -t utf8 /

自宅サーバから、いや~な音がする。

自宅のサーバ、停電でちょいとトラぶったけど、ちゃんと動いてくれた。 だけど、3秒周期でHDDの回転ムラの音がする。 HDD故障の前に取り替えとも思うけど、SATAじゃないのよね…. んで、サーバの発売年を見ると、カタログでは2003年2月。 即購入じゃなかったにしろ、約7年近い利用なのか….寿命でもおかしくないね。

HDD故障しても無駄に高いパラレルATAだったり、 NICもすでに壊れて無理やり使っている状態だし、 「そろそろ買い替え?」とつぶやいたら、入れ替えましょうしか言われないわな…

以下、安いサーバ構築を目安に、各メーカのリスト。目標40,000円

停電があったようだ

どうも昼からすごい暴風雨状態。 自宅も、母によると停電もあったようだ。 その中、自宅のネットワークが動かない。 OSが停電で落ちて再起動したみたいだけど、 DebianでのGrubでブートしているんだけど、 最新kernel linux-image-2.6.32 で起動したのが原因みたい。

自宅サーバは、なぜかNICカードがアホになり、MACアドレスが消えてしまい、 直接指定しているけど、どうも 2.6.30 以前なら OK だけど、 2.6.32 だと intel8x0 での MACアドレス直接指定がダメみたい。 このため、NIC 初期化から先に進めずだったようだ。 それに、以前に 2.6.32 で立ち上がれたときも、温度センサーUSBRHが 認識してくれなかったし… 2.6.32 ではトラブルだらけになっちゃう状態。

ひとまず、GRUB の起動指定で、何もしないときは、2.6.30-5-686 で起動するように 設定を変更しておいた。

debianトラブル:libapt-pkg4.10が無い

自宅サーバの更新ということで、いつものごとく"aptitude update ; aptitude safe-upgrade"を 実行したら、140個ほどの大量更新となった。まあ、更新の量はこんなものかと思うけど、 更新途中で libapt-pkg-perl,synaptic,aptitude,python-apt,apt-utils が、エラーで失敗する。 「パッケージ libapt-pkg4.10 に依存しているけど、インストールされていない」とのメッセージ。

しかし、debian のパッケージ一覧には、libapt-pkg4.10 はまだない。Ubuntu にはあるんだけど。 しかたがないし、以前のパッケージに部分的にでも戻そうと、"aptitude install aptitude/stable" あたりを実行しようとするが、以下のようなメッセージ。

hostname:/var# aptitude install aptitude/stable
aptitude: error while loading shared libraries:
libapt-pkg.so.4.10: cannot open shared object file:
No such file or directory

ということで、aptitude自体が動かなくなった。こりゃパッケージの依存関係が復旧されても、 元に戻すのは、dpkg コマンドを使わないと復旧できそうにないな…

仕方が無いので、バージョンを下げようとするけど、stable では、下がり過ぎ。 ということで、aptitude_0.6.3-3.1_i386.deb から、aptitude_0.6.3-3_i386.deb に落とすために、Webから探して "dpkg -i –force-depends aptitude_0.6.3-3_i386.deb" を実行する。

phpスクリプトのregister_globalsの問題

PHPのバージョンアップに伴い、register_globals がデフォルトoffから、 さらに利用が制限され、register_globals 自体が使えなくなった。 以前から、$_GET[] , $_POST[] を使わない様に使うようにしていたし、 問題なく移行が終わると思ってたけど、 家庭内コンテンツフィルタの制限解除の プログラムが動かなくなった。

プログラム本体は移行済みだったけど、不用意にアクセスをされないようにするための、 携帯のみのアクセス制限で、$HTTP_X_UP_SUBNO を使ったコードが残ってた。 ということで、$_SERVER['HTTP_X_UP_SUBNO'] に修正する。

modemmanagerがシリアルポートをキープしてた

先日自作したLEDバッジの表示機能、メッセージ表示用にメール文面を 表示するように設定していたけど、なぜか動かなくなった。 職場での行先表示板としているメッセージ表示プログラムは動いているので、 意味不明だった。 ボチボチ原因究明とほっておいたけど、最近カーネル再起動とかかけてたら、 modem-managerなるデーモンが動いてるみたい。 今更ながら、モデムなど使っていないが、着信用のpppあたりのパッケージの更新に伴って、 インストールしてしまったみたい。

んで、これがLEDバッジ表示プログラムのシリアルポートをつかんでいるのが原因みたい。 vgetty+pppあたりの着信も使ってないし、あっさり"aptitude remove modemmanager"する。 試しに、メッセージ表示機能を動かしてみたら、案の定普通に動き出す。

サーバのブートトラブル

自宅サーバのMRTGで、温度観測している usbrh が動いていないことが判明。 数日前にカーネルのバージョンが上がったのが原因だろう…ということで、 カーネルモジュールを入れなおす。しかし、うまく動いてくれない。 仕方ないので、カーネルのバージョンを落とすが、GRUB2 が入っていたため、 最新の linux-image-2.6.32-5-686 しかメニューに出てこない。

で、linux-image-2.6.30-*-686 に落とそうとするけど、GRUB2 のメニューにも出ないし、 "aptitude install grub-legacy"により、GRUB に戻そうとした。 これが不幸の始まり。

どうもGRUB2→GRUBに失敗していたようで、職場よりrebootさせたら、サーバが立ち上がらない。 自宅に帰ってブートの設定を直そうと、netinstall CD の rescue 機能で修復を試す。 でも、最近の rescue CD だと、ちょい昔の "rescue boot=/dev/hdc root=/dev/hda1" で起動しようとしても動いてくれず、冷や汗たらたら。 ようやく、最近のstableのCDに作り直して GRUB の入れ直しで、ようやく復旧。 はあ、手間取った~。

途中で、あまりにもブートしないので、頭に"再インストール"がよぎる。 Debian は、バージョンアップの整合性が高いのが利点だけど、 さすがに /etc/* に、過去の設定が残っていて警告メッセージもチラホラ出ている。 それに X11 を起動したときの遅さはイライラ。 次世代サーバをそろそろ準備しようかな…

tgifからinkscapeに乗り換え

歯みがきロボコンの資料作りで、今までは慣れたtgifを使って作業をしていた。 tgifは、機能が程良いくらいに『機能不足』なので、操作方法も単純でずっと愛用していた。 しかしながら、新しいunix環境などで次第に漢字フォントの取り扱いがダメになって、 いちいち設定を触るのが面倒になってきた。 そこで、レイヤーなどの機能も豊富なinkscapeに乗り換えてみた。

inkscapeは、unix,windows,macと幅広く使えるので、どの環境でも作業ができそう。 と切り替えたのはいいけど、円弧やら矢印やら操作方法に慣れない。 まあ、それでも歯みがきロボコンの図面を書いていたら、それなりに機能は解ってきたかな。

ps3mediaserverインストールメモ

PS3のためのDLNAサーバソフトのps3mediaserverをインストールする実験。 そのくせPS3はまだ無い。動かすのが簡単だったら、PS3購入にふみきっちゃう!?

$ wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.20.409-BETA.tgz
(( READMEを参考に必要なものを入れる ))
$ su
# aptitude install mplayer mencoder ffmpeg
(( 適当な所にインストール ))
# cd /usr/local/etc
# tar zxvf pms-generic-linux-unix-1.20.409-BETA.tgz
# ln -sf pms-linux-1.20.409 ps3mediaserver
(( 試しに動かしてみる ))
# cd /usr/local/etc/ps3mediaserver
# ./PMS.sh
:
[main] TRACE 00:31:15.577 Exception in thread "main"
java.lang.NoSuchMethodError: method java.net.NetworkInterface.isLoopback
with signature ()Z was not found.
(( うーん、とまっちゃったか... ))

動かないのが、javaのバージョンの可能性が高いので、確かめてみると、 gcj-4.4-jre-headless(gij-4.4) と sun-java6-jre の違いの可能性がある。 そこで、以下のコマンドで sun-java6-jre を選んでやったら、動き出してくれた。

# aptitude install sun-java6-bin sun-java6-jre
# update-alternatives --config java

netatalkを使ってTimeMachine代り

職場のMacBook用に導入したTimeMachineが、容量不足なのか全体バックアップが できなくなってきた。調べてみるとLinuxサーバでnetatalkを使えば、 TimeMachine互換機能も増えて、簡単にバックアップができる。 以前に導入を試したけど、一部設定が足らなくってうまく動かなかった。 しかし、なんとか使えるようになったので、 職場で試すためにも、設定をメモ。

(( /etc/netatalk/AppleVolumes.default ))
:DEFAULT: maccharset:MAC_JAPANESE volcharset:EUC-JP ¥
options:usedots,upriv cnidscheme:dbd
~/              "AppleHome"
/PATH/MacOS	"AppleBackup" options:usedots,upriv,tm allow:@home
(( netatalk再起動 ))
# /etc/init.d/netatalk restart

ポイントは、options:tm の設定でTimeMachine対応となってくれる。 この辺までは、簡単に見つかった。

Mac側からの問い合わせに、サーバのサービス情報を答えるための設定として、 以下のようなものを追加した。参考

(( /etc/avahi/services/afpd.service ))
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h_mac</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>
(( /etc/avahi/services/adisk.service ))
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h_mac</name>
<service>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>dk0=adVN=AppleHome,adVF=0x01</text-record>
<txt-record>dk1=adVN=AppleBackup,adVF=0x81</text-record>
</service>
</service-group>
(( avahi-daemon を再起動 ))
# /etc/init.d/avahi-daemon restart

adisk.service の登録をすれば、自動的にドライブが見えるようになる。 特に、TimeMachine 対応ドライブには、adVF=0x81 を指定しておくと、 TimeMachine 設定のバックアップドライブの検索で、自動的に見つけてくれる。

職場だと、バックアップ用 NAS に Buffalo の TeraStation を使っているけど、 TimeMachine非対応のバージョンなので、 Linux 側からNASを smbfs でマウントして、その領域をnetatalkで…という方法であれば、面倒だけれど バックアップが取れるようになるかな…

Google 検索

My Google   Yahoo

Microsoft

ファンサイト