So-net無料ブログ作成

UPS500LXをFedora17で使う [Linux]

 先日UPSからバッテリーアラームが出ましたので、新しいものに交換しました。
 今回使用したのは、UPS500LXというものです。
 機能や表示は十分で、コストパフォーマンスもよさそうなのですが、Linuxに対応しているかどうかは不明でした。ちょっと試してみようかなと思いました。


CLASSIC PRO 無停電電源装置(UPS) UPS500LX

CLASSIC PRO 無停電電源装置(UPS) UPS500LX

  • 出版社/メーカー: CLASSIC PRO
  • メディア: エレクトロニクス



 さて、商品が届いたらまずは動作確認です。とりあえずWindowsにソフトを入れて接続してみると・・・・あれ? 認識しません。
 UPSの表示上は正常そうなのですが、Windowsからはまったく見えないのです。もしやと思って別のUSBケーブルで接続してみると・・あ、動いた。付属のUSBケーブルが不良品だったようです。

 さて、Fedora 17 で動かそうと、取り説や付属CDを覘いてみました。でもそこには、「シリアル接続」の記述しかありませんし、Linux用のソフトも古すぎます。この商品はUSB接続なのに。どうも取り説や付属CDは古すぎて使えないようです。
 さて、どうしましょう。ネットをしばらく検索してみますと、どうやらnutで使えことができるようです。
 以下のようにしてみました。

 まずは、USBで接続し、lsusb でデバイス情報を確認しておきます。以下の設定で使用します。

 1.nutのインストール
  yum install nut nut-cgi nut-client
 2./etc/ups/nut.confの以下の行を修正
  MODE=standalone
 3./etc/ups/ups.confに以下の行を追加
  [ups]
  driver = blazer_usb
  port = auto
  vendorid = 0001
  productid = 0000
  subdriver = krauler
  desc = "Soundhouse UPS 500LX"
 4./etc/ups/upsd.userに以下の行を追加
  [upsmon]
  password = pass
  upsmon master
 5./etc/ups/upsmon.confに以下を追加
  MONITOR ups@localhost 1 upsmon pass master

 で、ここで認識しているかどうかを確認。
  blazer_usb -a ups -DDD
  upsdrvctl start ups

 うまく認識していたら、自動起動に設定
 6./etc/rc.d/rc.loadlに以下を追記
   /usr/sbin/upsdrvctl start
   /usr/sbin/upsd
   /usr/sbin/upsmon
  もちろん、rc-local.serviceはenableにておく

 動作確認
  upsc ups
  nut-monitor

 ACを抜いてしばらく待って、バッテリーがへると自動シャットダウンするのを確認
 ちゃんとシャットダウンすることができました。

----
 「USBケーブルが不良だよ」と連絡したら、すぐに新しいケーブルを送っていただけました。サポートもOKですね。
タグ:UPS nut

Fedora 16 を入れてみた。 [Linux]

 Fedora 16 リリースーされたというので、遅ればせながら評価のためにインストールしてみました。
 仕事で使っているサーバーが Fedora 14 で運用されており、もう少しでサイクルから外されるため、将来アップグレードを行うためのテスト、と言うことです。

 Fedora 16 のインストール自体はたいした問題はありません。ただ、以下の点で注意が必要でした。
 ・自動でインストールすると、/homeが別パーティションになります。今回は64GBのディスクにインストールして、/が32GB・/homeが32GBに分けられてしまいました。/homeが少なくなる恐れがありますので、必要なら変更したほうがよいです。

 さて、インストール後、私が使う上での大きな変更は、
 ・サービスの扱いが大きく変更されています。
  すべてのサービスは、systemctl 配下に変更されましたので、サービス設定手順は大きく変わりました。またなぜかGUI/CUIがうまく動かなかったので、コマンドで入力する羽目になりました。
 $sudo systemctl で情報が出ます。
 $sudo systemctl start <サービス名> でサービス起動ができます。(<サービス名>は、*****.service という名前です。)
 $sudo systemctl stop <サービス名> でサービスが停止できます。
 $sudo systemctl disable <サービス名> でサービスを自動起動しないように設定できます。
 $sudo systemctl enable <サービス名> でサービスを自動起動に設定できます。
 $sudo systemctl status <サービス名> でサービスの状態が取得できます。
 ただ、いくつかのサービスはまだ対応が不十分なようで、設定したとおりには動かないものがありました。(pgpool等)。いずれはアップデートで改善されていくものと思います。
 また、サービス名が変わってしまったので、自分の使いたいサービスがどんな ****.service の名前になっているかを見つけるのに、ちょっと戸惑ってしまいました。

 ・rc.localがなくなった。
 サービス起動がすべてsystemctlになったので、rc.localと言うもの自体がなくなりました。とはいっても、サービスの中の rc-local.service で /etc/rc.d/rc.local と言うスクリプトを実行することができます。ですので、
  ○今までは rc.local に追記することによって起動時に実行していたものを、
  ○/etc/rc.d/rc.localというスクリプトを新規に作成し、systemctl enable rc-local.service で自動起動することができます。

 ・ネットワークのインターフェース名が変わった
 今までは eth+ 等でしたが、p2p1 などという名前に変わっていました。ファイアーウォールなどの設定には注意が必要です。

 ・その他のアプリのメジャーバージョンが上がった。
 tomcatが6から7に上がったりしていますので、注意が必要です。
 また gnome も大きく上がっていますが、私はLXDEを使っているのでよくわかりません。

 いくつか設定変更して、Fedora 16 でも、今までどおりのサーバー環境を再現することができました。
 機を見て、運用サーバーのアップグレードも行いたいと思います。
タグ:linux Fedora

LinuxでUSBオーディオを使う [Linux]

 ちょっと仕事で、多数のオーディオ出力をPCより同時に出力する必要がありました。
 最近は、USBオーディオなどといったものがあり、簡単にPCのオーディオ出力を増やすことができます。
 linuxのPCででチョコちょこっと作ってみました。

 linuxでも、最近はUSBオーディオをサポートしていますので、「挿すだけ」で簡単に認識します。
 早速プログラムを組んで、USBオーディオを4つほど挿して、音を出してみたところ、以下のような問題がわかりました。

 i)内蔵とUSBオーディオの順番が固定できていない。挿す位置などによって起動するごとに変わったりする。
 ii)本体のUSBポートひとつに2つまでのUSBオーディオしか認識しない。

ii)については、運用で何とかなりますが、i)を何とかしないことには製品化できません。毎度毎度出力先が変わってしまったのでは困りますから。
 なので、今回のお題は、
 「linuxの複数のオーディオ出力の順番を固定する」
 です。

 alsaを使いますので、手順としては簡単です。すなわち、
 1.繋がっているオーディオデバイスの一覧を取得する。
 2.一覧にしたがって、読み込むモジュールの順番を記述する。
 ことになります。

 まずオーディオデバイスの一覧を /proc/asound/modules より読み取ります。
 cat /proc/asound/module を実行すると、例えば、以下のような出力が得られます。
 
 0 snd_hda_intel
 1 snd_usb_audio

 最初の数字が今読み込まれた順番、次の文字列がこのサウンドデバイスのモジュール名です。
 このモジュールを読み込む順番を指定してあげればよいわけです。

 alsaで指定するのには、/etc/modprobe.d/sound.confを以下のように記述します。

 options snd_hda_intel index=0
 options snd_usb_audio index=1
 
 この場合は、
 ・snd_hda_intel(内蔵オーディオ)を最初(0)に読み込む
 ・snd_usb_audio(USBオーディオ)は二番目(1)に読み込む
 ことを指定したことになります。
 再起動後、オーディオデバイスの順番が固定化できているはずです。

 では、複数のUSBオーディオをつなげた場合はどうするのでしょうか。
 この場合、/proc/asound/modules からは、以下のようなものが取得できます。
 
 0 snd_hda_intel
 1 snd_usb_audio
 2 snd_usb_audio
 3 snd_usb_audio
 4 snd_usb_audio
 
 これを、/etc/modprobe.d/sound.confに記述する場合は、以下のようにします。

 options snd_hda_intel index=0
 options snd_usb_audio index=1,2,3,4

 さて、ここでお気づきだと思いますが、「USBオーディオ同士の順番はどうするの」です。
 この場合は・・・・刺さっている位置で決まるようです。どうやらUSBポート/ハブのIDによって決定されているようです。
 ソフトでの指定の方法は、見つかりませんでした。
 これは、運用で決めればいいことですので、当面問題にはならないでしょう。



店舗/事務所などでのBGMがご入り用な方は、ぜひ一度ご検討ください。下記ページで営業しております。試聴/問い合わせ/申し込みなども受け付けております。インターネットだけでご利用いただけます。

 youon_logo.png
業務用/店舗用インターネットBGM配信 湧音
http://www.YouOn.info/
JASRAC許諾第9011941001Y31015号


SANWA SUPPLY MM-ADUSB USBオーディオ変換アダプタ

SANWA SUPPLY MM-ADUSB USBオーディオ変換アダプタ

  • 出版社/メーカー: サンワサプライ
  • メディア: エレクトロニクス



PLANEX USB→3.5mmヘッドホン/マイク端子 USBオーディオ変換アダプタ PL-US35AP

PLANEX USB→3.5mmヘッドホン/マイク端子 USBオーディオ変換アダプタ PL-US35AP

  • 出版社/メーカー: プラネックス
  • メディア: エレクトロニクス



ELECOM USBサウンドアダプタ USB-SAV51

ELECOM USBサウンドアダプタ USB-SAV51

  • 出版社/メーカー: エレコム
  • メディア: エレクトロニクス



EDIROL USB Audio Interface UA-1G

EDIROL USB Audio Interface UA-1G

  • 出版社/メーカー: エディロール
  • メディア: エレクトロニクス



SSHのタイムアウト その2 [Linux]

 先の、SSHタイムアウトの問題ですが、やっぱりだめなようです。
 やっぱり、SSH接続時に帰ってこなくなります。受け側での接続ログにも残っていないようですので、SSHクライアントからSSHサーバに接続開始時に、サーバへうまく届いていないようです。
 SSHのタイムアウトとしては、
 ・ConnectTimeout
 ・ServerAliveInterval
 を使用していますが、それでもだめでした。
 ほかに使えそうなオプションは・・・・みつから無いです。

 これはもう、シグナルを発行してプロセスを殺すしかなさそうですね。
 SSHはほかでもサーバー間のハートビートなどで使用しています。おそらくこちらもロックする可能性があるでしょうから、SSH利用方法の抜本的な見直しが必要になりました。
 
 どうして、Linux系のコマンド/APIはこういう作りが多いのでしょうか。きちんと使うのがとても大変です。(想定された使い方をしていないのが悪い、といわれそうですが)
 やっぱり、最近のWindows系のほうが作りやすいですねぇ。

------------
店舗/事務所などでの安価なBGMがご入り用な方は、ぜひ一度ご検討ください。下記ページで営業しております。試聴/問い合わせ/申し込みなども受け付けております。
 湧音 http://www.YouOn.info/
 JASRAC許諾第9011941001Y31015号
タグ:SSH

SSHのタイムアウト [Linux]

 湧音のBGM配信システムは、複数の配信サーバーが連携しながら同時に配信を行っています。
 連携のためのサーバー間通信にはSSH(OpenSSH)を使用しているのですが、このSSH通信がごくまれにロック(帰ってこない)してしまうことがありました。
 sshには、ConnectTimeout を設定してあります。なのに、sshを呼び出して接続開始後、いつまでたっても帰ってこないのです。
 で、いろいろと調査してみたところ、
 ・ConnectTimeoutは最初の接続時のタイムアウトしか検出しない。
 ようです。
 つまりTCP接続後のSSLのタイムアウトは別の方法でやらないといけない、ということです。
 ちょっと調べてみたところ、ServerAliveInterval などが使えそうかな、と思いました。こちらも追加して試してみたいと思います。
 
 奥が深いです。

------------
店舗/事務所などでの安価なBGMがご入り用な方は、ぜひ一度ご検討ください。下記ページで営業しております。試聴/問い合わせ/申し込みなども受け付けております。
 湧音 http://www.YouOn.info/
 JASRAC許諾第9011941001Y31015号

Fedora 11 で VNC クライアントより権限の管理を行う [Linux]

 湧音のBGM配信サーバは、Fedora 11 で構築されています。このサーバを VNCなどで遠隔操作してみようとしたところ、「権限の管理」で権限が変更できず困ってしまいました。で、どうしたかというと、
 /etc/PolicyKit/PolicyKit.conf の中を編集して、
 <config version="0.1">
  <match user="ユーザー名">
   <return result="yes"/>
  </match>
 </config>
 と強引にやってしまいました。

--------------
店舗/事務所などでの安価なBGMがご入り用な方は、ぜひ一度ご検討ください。下記ページで営業しております。試聴/問い合わせ/申し込みなども受け付けております。
 湧音 http://www.YouOn.info/

Fedora 11 の Fedora Eclipse に WTP をインストールする [Linux]

 新しいBGM配信サーバを Fedora 11 で構築しています。で、開発用に Fedora Eclipse を使うのですが、Fedora 11 の Fedora Eclipse では WTP のインストールがメニューに出てきませんでした。なので、手動でメニュー登録してインストールしてみました。

 まず、Fedora Eclipse の Add-ons メニューに、WTPが出てくるようにします。
 1.Fefdora Eclipseを開き、Htlp -> Software Updates -> Avaiable Software タブを開きます。
 2.右にある Add Site ボタンを押して、ロケーションに http://download.eclipse.org/releases/ganymede を登録します。
 3.これで、一覧に Ganymede Update Site が出てきますので、WTPがインストールできます。


タグ:Fedora Eclipse WTP

SOAP による Webサービス(Java)実装 [Linux]

 BGM配信事業では、Fedora Linux 上に専用のストリーミング配信ソフトを配置して音楽配信を行っています。
 この配信サーバーと、ユーザー向けのWebサイトの間を連携させる必要がありました。
 なので、配信サーバー上にすでにあるJava/JSPのインターフェースを拡張して、外部向けのSOAPによるWebサービスを実装することにしたのです。
 で、Fedora eclipse +WTP と Apache Axis2 を利用してSOAPサービスを構築しようとしたのですが・・・・なかなかよい資料がありません。四苦八苦しながら何とかJavaクラスをSOAPサービスとして利用できるようになりました。(でも、いまだにwsdlのエンドポイントがhttpsに設定できない・・・)
 クライアントは PHP による SOAPクライアントなのですが、これまた資料がほとんどありません。JavaクラスオブジェクトのSOAP実装がどうなっているのかとか、httpsでのSOAPサービスはどのように設定するとか・・・・なんとかSOAPの呼び出しには成功しました。まだいろいろと難がありますが。
 
 これで何とかWebサーバーと配信サーバーとを連携させる技術的問題が(いちおう)解決できましたので、つぎはこれを利用したWebサイト作りになります。

以下、営業です
--------------
店舗/事務所などでの安価なBGMがご入り用な方は、ぜひ一度ご検討ください。下記ページで営業しております。(鋭意構築中です。試聴/問い合わせ/申し込みなども受け付けております)
 http://www.YouOn.info/
タグ:linux BGM SOAP axis2 WTP

Apache Axis2 を インストール [Linux]

業務用BGM配信サーバでWebサービスをSOAPで実装するために、
まずは Apache Axis2 をインストールしてみました。

まずは、Apache Axis2 のサイトより、最新の Axis2 をダウンロードします。
今回は、Axis2 1.4.1 Release より WAR (Web Archive) Distribution (axis2-1.4.1-war.zip)をダウンロードしました。

これを解凍して、axis2.war を取り出します。
axis2.war を webapps に配置すれば出来上がりです。

後は、ブラウザより、http://*****/axis2/ を開けばaxis2の画面が開くはずです。
初期アカウントは、
 ログイン名: admin
 パスワード: axis2
です。
webapps\axis2\WEB-INF\conf\axis2.xml
の、username と password で 変更できます。

あとは、Fedora Eclipse WTPでサーバ登録して開発を行います。

eclipse+WTP で tomcat サーバの起動に失敗する [Linux]

Fedora 10 上の eclipse+WTP で Webサービスを開発中、eclipse内でtomcatを起動しようとすると、
lava.lang.ClassNotFoundEsception: org.apache.juli.logging.LogFactory
で起動できないことがありました。

これは、eclipse 内でのtomcatの起動構成に、tomcat_juli.jar が含まれていないことに起因するようです。
対処としては、
1.サーバーのビューの、該当サーバーをダブルクリックして設定画面を呼び出す。
2.起動構成を開く
3.クラスパスの、ユーザー・エントリーに、TOMCAT/bin/tomcat_juli.jar を追加する。
4.適用して、サーバを再度起動する
となります。

で、eclipseのサーバー内の server.xml でサービスしたいポートを設定すれば、そこでtomcat が起動します。

タグ:linux Eclipse
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。