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

サーバが挙動不審

夜中にログが切り替わってから動作がおかしくなった。ドキュメントルートとか参照してるところが違うみたいだし、user_dirも参照されてないみたい。設定を見てもわからんので、Apache2を停止させ以前動かしてたApacheを起動させました。
アップデートもどこかでミスした可能性もあるのでパッケージを全コンパイルしてみました。
待つこと半日…またPAM関係でハマリました。一度unmergeしてからと思ったのが間違いで、unmergeした為に別コンソールもログインできなくなりました。本家のドキュメントをみろと言われてたので参照すると前みた奴と同じ。pam_stackは消してたのですけど、どうやらqfileで一覧されたファイル自体が要らないらしく、それらを消したら問題ないことがわかりました。言語力の無さが思い知らされるorz
まあ、意訳されたものも読みましたけど、不要かどうかなんて書いてないのでわからんよ。こういう点ではGentooって難しいです。まあ、いろいろな人が手を入れるからこそ難しくなるんだろうけど。
結局全コンパイルは失敗したので最初からやり直しです。また半日かぁ…orz

Nautilusのプレビュー

最近気づいたのですが、Nautilusのプレビュー機能でサウンドファイルへマウスポインタを合わせると音楽がなりますけど、音が出なくなってる。アイコン内に音符マークが出てるので、サウンドを鳴らそうとしてるみたいですが、音が出てないだけっぽい。だからといって、mp3はプレイヤーを通せば音がならないって事はなく、問題なく演奏されるわけです。
音量モニターを動かすと、プレイヤーから音が出てもモニターされません。GNOMEのサウンド設定で効果音を出せばモニターされる状態。ということは、esdとalsaの間で何か問題がありそうな感じがします。って、音量モニターがesdの状態をモニターしてるならですが。
とりあえず関係してそうなパッケージをリコンパイルしてみたら変化はありませんでした。何が悪いのかさっぱりです。あと、ログイン、ログアウト時も音が出てない。出てるのだろうけど、かき消されてるような感じが。状況は全然違うのですけど、こちらも何とかしたいところ。

MTAとMTU

サーバマシンでpostfixを入れたまま設定をせず放置してたのですけど、そういえばローカルメールが届かないと思って設定を見直しました。調査結果、実際は届いてるけどMaildir形式でBSD系コマンドのmailで読み出せないだけだった。ついでにpostfixの設定を強化しておきました。デフォルトのままでもローカルメールを扱うには問題ないです。外からはルータなどにポート25をあけてない限り入らないので大丈夫と思われます。問題ないけど設定はしておいたほうがいいので、リレーしないようにとか暗黙な設定を全部明示的にしておきました。一度設定をミスしてactiveに入ってlocalが動いてくれない状態に陥りましたが、再度オリジナルから設定を行ったら問題なく動いてます。試しに外から自サーバへメールを投げてみましたが、ルータがはじいていて一時間後に戻ってきました。内部から外へのメールも問題なく転送してました。
MTUですが、Maildir形式をサポートしててCUIで動くものはないか?と探してたのですが、MUTTが対応してるとか。かなり古くからある枯れてて良いMTUとの事なので入れてみました。起動するとcursesかslangかで制御されててうまく画面制御してました。溜まってたメールも全部表示でき、newからcurへ移動されてました。
あとは、ログインした時にメールがあればメッセージを出したいところです。調べてないのと設定がないので何をどうしたらいいかさっぱり。あと、先日syslogをみてたらアタックされてる形跡があるので本格的に警戒するソフトを入れないと駄目かも。メールの設定も出来たので警告を自分のメールあて送るようにしておけば発見も早く出来そうですし。日本人のアタックなら不正アクセス法で叩けますけど、外人だと厳しそう。更にアクセス元は踏み台だろうし。

サーバのメンテ

またいくつかハマリました。
カーネルも結構古いのを使ってたので、置き換えましたが、これは特に問題なし。emerge -u worldで更新すると、まずPAM関係でエラーが。これはemergeの最後にメッセージが出てて、下記URLを見てアップデートしろとあったので解決。
http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml
pam_stack.soを利用してる箇所を手動で変更し、再度emergeで何とかなりました。
次にglibcで問題が。結構毎回気を使う更新なのですが、下記の事例と一致してました。
http://drupal.cre.jp/node/1362
emeregで対処方法が示されればわかりますけど、こんなのわからんよ。先人の対処方法があって何とかなってる状態です。確かにエラーメッセージにはローケール関係のものが書いてあるのですが、この辺りの仕組みなんて詳しくないので非常に辛いところです。
postfixもエラーが出てたのですが、実行すべきコマンドがかかれてたので何とかなりました。またフラグ関係と思ったりして上記ページにたどり着くまで悩みましたよ。
まあ、かといって他のデストリだとアップデートとか面倒ですしemergeで保守できるのに慣れると他のデストリは使えないしね。サーバはセキュリティホールとか放置できないので、可能な限り最新を保ちたいところですし。
glibcが終ったら関連パッケージをリコンパイルかな?ダイナミックリンクしてるのは不要でしょうね。まあ、emergeのコマンド一発で済むので時間的な問題だけでしょう。あとはApacheのアップデートくらいか。組み込んでるモジュールの一部に手を入れてたりするのでこれだけはportageを使わずに使用してます。

エミュレータ関係

メガドライブはgensで問題なく動いてます。MEGA-CDがまだ試せてませんが、Windowsで問題なく動いてたのでいけるでしょう。パッドも使えるので問題無しです。
ファミコンを試そうと思ったのですが、nestra、tuxnex、darcnes、InfoNESとそれぞれ音が出ません。音以外は問題なさそうですが、/dev/dspがビジーエラーとなるので、回避策も解らんので使えません。ふと一覧をみてるとfakenesというオープンソースのエミュレータがあったので試してみるとこれは問題なく音も出てました。Windowsではどれでも動くのですけど、この辺はデバイスなどの扱いがそれぞれって事でそれ故の問題なのでしょう。まあ、1つでも動いてくれば問題ないので一安心です。でも、ファミコンはそんなに遊べるゲームを持ってないのでこれっきりか。
コンシューマ系はPlayStationとメガドラが動けば十分なのでとりあえず問題無しです。

ゲームパッド続き

先日入れておいたePSXeでパッドを使ってみようと思って起動。うまく設定できなくて色々調べてみると、games-emulation/psemu-padjoy を入れると使えるっぽい。設定自体は普通のGamePadのPAD1じゃなくてEXT.GamePadから設定するみたい。これだと問題なくパッドが使えました。
もしかすると、最初からEXT.GamePadを選択してたらいけたのか?まあ、動けばいいです。
前もテストしたLSDで起動してみると問題なくゲームがプレイできてます。
Linux上だとゲームはクローンものしか目立ってないのでどうしてもWinに負けてる。用途的に仕方ないですけど、これはすごいと思うゲームがなかなか無いです。まあ、グラフィック的な問題もあって実行しても落ちてしまうのが多いのもありますけどね。
それでも、エミュレータが動けばコンシューマゲームでカバー出きるのでいいですけど、何だかWindowsと変わらん状況になりつつある。逆に考えればOSのライセンスを高い金を出して購入しなくても動くという点ではいいのか。

GNOME 2.18

何が新しいのか調べてませんが、見た目は同じか。
リコンパイルする前にUSEフラグを見直し、いろいろONにしました。この辺は手探りでやるしかないですし、矛盾するパラメータもあるのでかなり注意が必要かもね。ブラウザなんかも複数含まれてるので、余計なのはOFFにしたいところです。
emerge -uDNav worldで関連するものすべてリコンパイルしました。GTKとかOpenOfficeとか時間がかかるところがマジで長いので終わるまで辛すぎです。全部コンパイルし終わるまで丸二日かかったかな?OpenOfficeは外してもいいけど、Excelもどきはなかなかいいので入れておきたいところです。
これで普通に使うには問題ないレベルです。

ジョイスティック(ゲームパッド)を使う

ゲームをする上で重要なデバイスであるパッドを繋いでみる。デスクトップだと旧式の15PinとかIF-Segaとかありそうですけど、今一番簡単なのはUSB接続ということでUSBのゲームパッドを引っ張りだし繋いでみることにしました。よくあるプレイステーションのコントローラを繋ぐ奴でも同じかも。
ちょうどemergeで最新カーネルを入れたので、パラメータをチェックしてみるとジョイスティックの設定はONにしてあった。まあ、ONでも繋がなければ支障ないし繋いだときすぐ使えるようにするために組み込んでたのですけどね。最新カーネルで起動したので、dmesgで起動メッセージを確認すると、USB関係で下記のメッセージを確認。
input: Jess Tech USB 4-Axis 12-Button Gamepad as /class/input/input2
input: USB HID v1.10 Joystick [Jess Tech USB 4-Axis 12-Button Gamepad] on usb-0000:00:1d.1-1
それと、テストツールであるgames-util/joystickをインストール。これでジョイスティックの設定とか確認ができたと思います。GUIじゃないけどね。
デバイスは /dev/input/を見てみると、js0があったので、jstest /dev/input/js0で問題なく動作してるのを確認できました。全ボタンとか確認してませんが、まあ反応してるので問題ないでしょう。あとは微調整が必要かどうかはソフトから使ってみないと何とも言えませんけど。
さすがに昔使ってたときはサウンドカードについてきたMIDIポートみたいなのに繋いで動かしたりしたけど、今はドライバも充実してるしUSBだとほとんど何もしなくてもOKなのがいいですね。逆に何かあるとハマりそうな気がするけど。今回はUSBコネクタの専用パッドだったので楽でしたが、プレイステーションのコントローラを繋ぐ奴はここまで簡単なのかは不明です。恐らく大差ないでしょうけどね。

expat続き

ノートPCの方を更新忘れてました。
revdep-rebuild –library libexpat.so.0
を実行してみると失敗しまくる。どうもavihiの依存関係がちょっと怪しいらしい。emergeしようとしてるパッケージをコマンド行で手動にていけそうなのを打ち込んで新規インストールしてみてます。アップデートだとバージョンが変わってないのでコンパイルされないのでオプションなしです。
最初、worldで更新してんたのですが、発覚したのがopenofficeのコンパイルで関連するパッケージのFireFoxでコンパイルできないものがあってのことでした。一度再起動してみると、gdmも死亡し、コンソール作業になったのはちょうどよかったです。
GNOMEが結構絡んでるので、大問題になってるみたいですね。サーバはApacheくらいだったけど、もう一度関連を調べてみます。

analogがおかしい

何気にサーバのanalog結果を見てみると、何も出てないことに気づきました。コマンド自体でエラーが出てるのか?と思って手動で動かしてみるとエラーは特になし。コンフィグも間違いがないのでaccess_logをよく見てみたらサイズが0バイトだった。前回の切り替えからアクセスログがまったくかかれてない状態で動いてるという。
Apacheの問題というので、まずは再起動してみることに。停止させて動かないと怖いので再起動です。手動でコマンドを叩くと何やらコンフィグをチェックしろとのエラーが。指定されたコマンドを叩いてみると、libexpat.soがロードできなくてエラーと解りました。
そういえば、先週サーバでemerge –syncとworldをやった記憶が…。expatでぐぐってみると、どうもライブラリの変更があったらしく、libexpat.so.0からso.1へ置き換わったとのこと。対処もよく解らんですが、解説してるページのコマンドを叩いてみるとライブラリを更新してました。それでもApacheは同じエラーを吐きつづけるので、Apacheをリコンパイルしてインストールすると問題なく動いてました。うちはApacheだけは手動なのでそれが問題って事ですけどね。1.x系が軽くていいのでそちらですが、使うモジュールも静的に組み込んでるのでこの辺が最新を使うと駄目だったり。…というか、自分が使い方を詳しく知らないだけで古いやり方で通してるだけですけど。それにモジュールに少し手を入れたりしてるし。(ここがポイントなのかも)
先週リファラーを整理するプログラムを調整してて今週分で再度実験する予定だったのにログが集まってないです。仕方ないので来週ですかね。