こんにちは。先週、お世話になったjieです。
皆様のおかげで無事スターターキットが使えるようになったことをこの場を借りてお礼申し上げます。
たびたび申し訳ありませんが、ふたたび自力で解決できない状態になりましたので、皆様のお力を拝借させてください。
(1)
Voyage MPD Linux Starter Kitの電源を入れると、NASをUSBで繋いでいるWindowsマシーンが起動する前に音が鳴り始めます。
まだ「電源ぶち切りでもデータベースを保存する方法」は設定していません。
電源を落とす際は、shutdown -h nowコマンドを使ったり、電源ごと引き抜いたりしています。
昨日は、音は出ててもGMPCが繋がらず、延々と同じプレイリストが鳴り続けていました。
検索をしたら、「データベースに膨大な音楽ファイルを登録していると無理が生じる」という事が書いてありました。
そこで、NASのファイルを1.5テラから140ギガに減らして、両方のマシンを再起動してやりなおしたら、GMPCが繋がりました。
現在、GMPCのオートコネクトのチェックは外してあります。
それなのにWindows起動前に音が出てきます。
クライアントPCが立ち上がる前に音が出ることがデフォルトでの正常な状態とは思えませんが、どこがおかしいんでしょうか?
(2)
(1)と関連していると思いますが、Poderosaを起動すると、Last login: の下に以下のようなメッセージが出ています。
** (mpd:3328): CRITICAL **: option parsing failed: Unknown option -kill
no message buffer overruns
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
「バッファオーバーラン」の意味を調べ、修正しなければ大変なことになると思いました。
freeコマンドでメモリーの使用状態を見てみますと、空き領域がほんの少ししかありませんでした。
そこで、
sysctl -w vm.drop_caches=3
で、キャッシュをクリアしたら、メモリーの空き容量は大きく改善されました。
それでも、未だにバッファオーバーランのメッセージがPoderosa起動時に出てきます。
/etc/init.d/mpd force-reload や /etc/init.d/mpd stop 等をしても改善されません。
dmesgコマンドでシステム起動時のメモリ使用量を調べてみますと、
root@voyage:~# dmesg | grep Mem
[ 0.000000] Initializing HighMem for node 0 (00000000:00000000)
[ 0.000000] Memory: 248420k/262144k available (2826k kernel code, 13276k reserved, 1099k data, 384k init, 0k highmem)
となってます。
これが、262144k中の248420kが使用可能だという意味だとしたら、問題はないはずですが、自信がありません。
その他、/etc/mpd.confのlog_fileの行を、
log_file "/dev/null"
に書き換えログを残さないようにしましたが、バッファオーバーランの警告は消えません。
どうすればバッファオーバーランは解決できるでしょうか?
お忙しいところ申し訳ありませんが、どなたかご助言お願い致します。
jieです。
(1)は自己解決しました。
GMPCの
Music ==> Preferences ==> Interface で、"Stoop playing on exit"にチェックを入れ、
シャットダウン前にGMPCを終了させると、起動時に音が出てこなくなりました。
これがネットワークオーディオの仕様みたいなものだなとわかってきました。
どうやら、(2)のバッファーオーバーランの警告とは関係なかったみたいですね。
まだ、Poderosa起動時に、
** (mpd:3333): CRITICAL **: option parsing failed: Unknown option -kill
no message buffer overruns
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
が、表示されています。
これは本当にクリティカルなものだと思います。
どなたかご助言をお願い致します。
jieさん
(1)はご自身で直前のメッセージに書かれたとおりです。mpdの仕様通りですね。mpdは直前のステータスを保持し、再開時にはその状態からスタートします。
(2)ですがmpdは起動されているのですよね。であれば、あまり気にすることはないのかなと思います。
何故Poderosaからログインするとmpdが起動されるのか不明ですが、既に起動されているのでエラーになるということではないですか。「no message buffer overruns」というのはmpdの口癖のようなものなので、気にすることはないです。
しかし、ログイン時にmpdプロセスを起動するには、profileの設定が必要ですが、そんなことやってないですよね。なんか変ですね。
yo様。
いつもご助言していただきありがとうございます。
> 「no message buffer overruns」というのはmpdの口癖のようなものなので、気にすることはないです。
クリティカルと書いてあったので、重大な故障かと思い心配していましたが安心しました。
> 何故Poderosaからログインするとmpdが起動されるのか不明ですが、既に起動されているのでエラーになるということではないですか。
仰るとおりだと思います。
今、試しにPoderosaでシャットダウンした後で、Voyage起動前にPoderosaにログインしようとしてみました。
すると、「ポート22への接続ができませんでした。」とのエラーメッセージが出ます。
よく考えると、私はいつもVoyageの電源を引きぬいた後入れなおして起動するのを待ってから、Poderosaにログインしていました。
すでに起動しているので、Poderosaにログインする必要はありませんでした。
> ログイン時にmpdプロセスを起動するには、profileの設定が必要ですが、そんなことやってないですよね。なんか変ですね。
profileの設定はやっていません。
変なのは、私がPoderosaを必ず起動しなければいけないと勘違いしていたからです。
本当にお騒がせいたしました。申し訳ございません。
>Poderosaを起動すると、Last login: の下に以下のようなメッセージが出ています
端末ソフトを起動してサーバー(mpdの走っているLinux機)に接続すると、前回のログインの情報の後に書かれている。
つまりは、前回のログアウト時の情報を伝えてくれていると言う事だと思います。
>** (mpd:3328): CRITICAL **: option parsing failed: Unknown option -kill
-killと言う不明なオプションは、処理に失敗した。これは致命的だ(mpdが修復する事は不可能だ)。
>no message buffer overruns
(このエラーに関して)メッセージは何も残っていない、バッファを読もうとしたら終点を通り越した。
>Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
mpdの使用法はこうです。 /etc/init.d/mpd ....... 。
つまり、停止させる時に、/etc/init.d/mpd -kill *** と言う様な事を指示しているのではないですか。
準備されていない機能を要求すれば、解釈できなくて当たり前ですから、至極妥当なメッセージです。
mpd 以前にLinuxをOSとしたサーバー機と端末機の関係をおさらいしてください。
mpd は Linux-OS の稼動するサーバー機で稼動するソフトの一つで、人間とのやりとりは端末から行われます。
端末から指示がなければ、それまでの動作を続けます。mpdは安全上の問題が有りませんから、サーバー機の
停止があっても、再起動後は停止前の動作状態を復元して続行しようとします。
mpdを停止させずに電源ごと引き抜いたりして強制停止すると、停止時の状態保存は更新出来ませんから
再起動時には、最後に保存された状態を復旧しようとします。結果は最後に保存された「演奏中」の復元になるかも。
GMPCは一種の端末ソフトなので、端末を停止させても、サーバーは何も影響が有りません。つまり再生を続けます。
又、同じ理由で、端末ソフトの起動状態にかかわらず、サーバーが起動すれば再生が始まる事もありえます。
"Stoop playing on exit"とは、端末ソフトを終了する前にサーバーへ再生停止の指示を出すと言うことです。
Poderosaは、サーバー自身を操作できる端末ソフトです。で、これはwindows機で稼動しますので、Poderosa自身へは
ログインの必要はありません。Voyageサーバーへ接続するに当たってVoyageサーバーへログインする訳です。
当然Voyageサーバーが起動(定常稼動)して居なければSSH接続(ポート22への接続)はできないでしょうね。
バッファオーバーランの警告はmpdではなくOSが出していると思います。一方、mpd.confはmpdしか見ませんから
mpd.confの中をどう変化させてもこの警告に影響はでなくて当然と思います。
NASって、Network Access Storage じゃなかったですかね。USB接続のNASってのは矛盾しているような気がします。
jieさん、kojiです。
リプライに出遅れて、すでに解決されているようですので、蛇足かも分かりませんが…
------------------------------------------------------------------------
** (mpd:3333): CRITICAL **: option parsing failed: Unknown option -kill
no message buffer overruns
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
------------------------------------------------------------------------
yoさんが書かれている通り、これは多分、mpdが起動しているところにさらに起動しようとして出てきているエラーメッセージだと思います。
ちなみに、わが家のマシンで、mpdが正常に立ち上がっている状態で、さらに手動でmpdを起動させようとしてみました。そうすると、no message …のエラーメッセージがかえってきます。
root@voyage:~# /usr/bin/mpd
Failed to bind to '[::]:6600': Address already in use
no message buffer overruns
ということで、このメッセージ自体はあまり気にされる必要はないかと思います。
ただ、気になるのは、Poderosaからログインすると、なぜ、このエラーメッセージが出るかですね。Poderosaからログインさえしなければ問題は出ないと思いますので、余裕がある時でいいのですが、ログインの際に処理されるファイルを確かめられたらよいかと思います。
具体的には、/root/にある.bashrcか.profile(ファイル頭はピリオドです)というファイルです。
何らかの編集段階で、それらのファイルの末尾にmpdが記述されているのではないかと推測します。
これまでもログを貼りつけられているのでご存じかと思いますが、catやless等のコマンドでファイルの内容を表示させることができます。
ログイン後
cd
cat .bashrc
(例 自宅マシンでは、以下のように表示)
root@voyage:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
alias bc='. /etc/bash_completion'
## koji add
remountrw
mpc update
alias wget='wget --no-check-certificate'
alias cls=clear
皆様、お忙しい中のご助言ありがとうございます。
おかげさまで解決いたしました。
kid様、
まず、エラーメッセージのわかりやすい説明まことにありがとうございました。
> つまり、停止させる時に、/etc/init.d/mpd -kill *** と言う様な事を指示しているのではないですか。
> 準備されていない機能を要求すれば、解釈できなくて当たり前ですから、至極妥当なメッセージです。
ここの意味がやっとわかりました。
cat .bashrcで思い当たるような行がありましたので、コメントアウトしましたらうまくいきました。(後述します。)
> Poderosaは、サーバー自身を操作できる端末ソフトです。で、これはwindows機で稼動しますので、Poderosa自身へは
> ログインの必要はありません。Voyageサーバーへ接続するに当たってVoyageサーバーへログインする訳です。
> 当然Voyageサーバーが起動(定常稼動)して居なければSSH接続(ポート22への接続)はできないでしょうね。
この意味もやっとわかりました。
Voyageサーバーがホストになるということが理解できていなかったんだなと痛感しております。
> USB接続のNASってのは矛盾しているような気がします。
外付けのHDDは不要だったんですね。
何故かNAS機にUSBでHDDを接続してファイルを保存しなければいけないと勘違いしておりました。
> mpd 以前にLinuxをOSとしたサーバー機と端末機の関係をおさらいしてください。
仰るとおりと存じます。おさらいどころか初歩から勉強していきます。
koji様、
わざわざ、実験までして頂いてありがとうございます。
ていねいな指示に従い実行してみたらうまくいきました。
> ログインの際に処理されるファイルを確かめられたらよいかと思います。
> 具体的には、/root/にある.bashrcか.profile(ファイル頭はピリオドです)というファイルです。
> 何らかの編集段階で、それらのファイルの末尾にmpdが記述されているのではないかと推測します。
koji様の推測通り、catコマンドで.bashrcを調べてみましたら、何やら怪しい行が出てきました。
root@voyage:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
remountrw
mpd -kill
/etc/init.d/mpd start-create-db
alias bc='. /etc/bash_completion'
バックアップを取って、下から3行目の mpd -kill に#をつけてみました。
それで、再起動してPoderosaからログインしてみると、バッファオーバーランのメッセージが消えました。
ログイン後の表示は以下の2行です
Last login: Wed Jul 9 08:06:22 2014 from 192.168.11.2
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
解決することができてほんとうに嬉しいです。
これからLinuxを使いこなせるように勉強していきたいと思います。
yo様、kid様、koji様、本当にありがとうございました。
ちょっと調べてみたのですが、VoyageMPDの0.75あたりで、使用されているMPDのバージョンの変更に伴い、mpdのコマンドがかなり変わったみたいです。
その結果 mpd start-create-db とか mpd -kill とか従来使えたコマンドが使えなくなったようです。
にもかかわらず、VoyageMPD 0.9 の導入を解説しているページて、「.bashrcに次の三行を入れろ」と書いているHPがいくつか有ります。
自分で確認してないのでしょうね。酷いのは「よくわからんが」・・・何故、何のために追記するのかも理解していないみたいです。
みみず工房やBlue Sky で解説されていない事を不用意にやるのは避けた方が良いですね。
kid様、
わざわざ調べて頂いてありがとうございます。
バージョンアップに伴い使えなくなったコマンドがあったとは驚きました。
私のような初心者がなかなか知り得ない情報を提供していただき感謝しております。
今後、この掲示板の過去ログを読みあさり勉強していきたいと思います。
ありがとうございました。
jieさん、kojiです。
問題解決してよかったですね。
おそらく、もう編集されたかと思いますが、.bashrcの最後の方に記述されている
/etc/init.d/mpd start-create-db
も、現在のバージョンでは無効のコマンドになりますので、削除されると、
--------------------------------------------------------
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
-------------------------------------------------------
という、エラーメッセージが出なくなります。
このコマンドを入れられたということは、データーベースを定期的に変えたいということでしょうか?
それならば、mpd.confの中の
#auto_update "yes"
をコメントアウトして有効にすれば自動更新されるはずです。
(私は、いつもmPadからupdate databaseを起動させているので、実際に使ったわけではありませんが)
後、この掲示板は情報の宝庫なので、ぜひ、色々と読まれれば得るところ大だと思います。
それと、英語ですが、Voyage Linuxの総本山のウェブサイトにあるREADMEは一応目を通しておかれたらよいと思います。
→ http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=4765#4778" target="_blank">http://mimizukobo.sakura.ne.jp/cgi-bin/read.cgi?mode=all&list=topic&no=4765#4778
(あるいは、すでにインストール済みなので、/下にある、READMEファイルも同内容なので、そちらを見られてもいいかと)
インストールして、まずはREADME通りに設定を進めて、動作確認。その後、色々、環境や使い方にあわせてカスタマイズという流れが、「オーソドックス」な方法だと思います。
すでに解決済のことかも分かりませんが、参考まで書き込んでおきます。
なんか、どんどん話が混乱するようで申し訳ないのですが、kill の前のマイナスが二つ有ると話は違うようです。
/etc/int.d/mpd で使用可能なオプションと、/usr/bin/mpd で使用可能なオプションは違うようです。
後者の場合、--kill と言うオプションは現在も存在するようです。まあ、マイナスの数をしっかり確認しないでHPで発表している人の事を言っていても仕方が無い話ですが。
あぁぁ、--help で出て来る内容を読んだだけで、実行して確認した訳ではありませんので、責任は持てませんけど。
start-create-db に関しては、Usage: の内容の修正が忘れ去られているみたいですね。/etc/init.d/mpd のスクリプトが未完成みたいです。
koji様、
いつも助けていただいてありがとうございます。
Usage: /etc/init.d/mpd {start|start-create-db|stop|restart|force-reload}
がエラーメッセージだという事に気付いていませんでした。
さっそく削除してみましたところ、綺麗に消えました。
本当にありがとうございます。
それと、データベースの自動更新のしかたまで教えていただいて感謝しております。
ファイルを追加してしばらく経つと更新されていました。
これですごく便利になりました。
あと、僭越ながら、Voyage LinuxのウエブサイトにあるREADMEは
http://linux.voyage.hk/content/getting-started-v08x" target="_blank">http://linux.voyage.hk/content/getting-started-v08x
ですね。頑張って読んでみます。
ほんとうに貴重な情報を提供してくださってありがとうございました。
kid様、
何度も助言していただいて感謝しております。
現在のバージョンで、--killは、/etc/int.d/mpd では使えないが、/usr/bin/mpd では使用可能ということですね。
そこまで調べてくださって本当に恐れ入ります。
> start-create-db に関しては、Usage: の内容の修正が忘れ去られているみたいですね。/etc/init.d/mpd のスクリプトが未完成みたいです。
ご指摘ありがとうございます。
正直言って、忘れていたのではなく、気付いていませんでした。お恥ずかしい限りです。
皆様のおかげで短期間の間に多くのことを学ぶことが出来ました。
まだまだわからないことだらけの超初心者ですが、少しずつ学んでいきたいと思います。
本当にありがとうございました。
jieさん
色々と進んでいるようでよかったです。
--------------------------------------------------------
あと、僭越ながら、Voyage LinuxのウエブサイトにあるREADMEは
http://linux.voyage.hk/content/getting-started-v08x" target="_blank">http://linux.voyage.hk/content/getting-started-v08x
ですね。頑張って読んでみます。
---------------------------------------------------------
慌てて間違ったurlをコピーしてしまいました。
上記の情報は0.8版の時のようで、最新は、以下のアドレスになります。
→
http://svn.voyage.hk/repos/voyage/branches/voyage-live/0.9.2/config/includes.chroot/README" target="_blank">http://svn.voyage.hk/repos/voyage/branches/voyage-live/0.9.2/config/includes.chroot/README
また、ひまな時にチェックしてみてください。