アーカイブ

Archive for 2014年3月

minidlnaでメディアサーバーを作った

現在は各端末にばらばらに配置している音楽データを集中管理するため、今まで全く触っていなかったDLNAサーバーに手を出してみました。

さっくり検索するとmediatombを使っている場合が多いのですが、試しに動かしてみたところmediatombにブラウザでアクセスした瞬間に固まってしまい使い物にならず。
minidlnaを試してみることにしました。

・インストール
minidlnaはFedora20現在公式リポジトリに入っていないため、rpmfusionからインストールする必要があります。

・設定
/etc/minidlna.confをちょこちょこ修正。
user=minidlnaをコメント解除、media_dirを/home/musicに変更、friendly_name=leafeonに設定。
また、mediatomb用にファイアウォールを設定していたため、ポートを50500/TCPに変更。

・ファイアウォール
未だにsystem-config-firewallから抜け出せないためそちらの設定で。
minidlna自体はアクセス制御機能を持たないので、自分のマシン以外からの接続を受け付けないようにMACアドレスで制限。(家庭の事情)


-N DLNA
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50500 -j DLNA
-A INPUT -m udp -p udp --dport 1900 -j DLNA
(中略)

-A DLNA -m mac --mac-source (接続を受け付けるマシンのMACアドレス) -j ACCEPT
-A DLNA -j REJECT --reject-with icmp-host-prohibited

・動作確認
割と頻繁にDLNAサーバーを見失うことがあります(KVM上だからかもしれない)、minidlnaをrestartするとなおるんですが・・・
Windows8.1デスクトップから: WMPの「その他のライブラリ」から再生できます。
Surface 2から: デフォルトの音楽アプリはDLNAクライアント非対応っぽい。MediaMonkeyで再生できました。
Fedoraから:rhythmboxで動作確認。ただ、iptablesが有効な環境ではソースポートが1900/UDPな通信をACCEPTしておかないと駄目そうです。(マルチキャストを使う行きのアドレスとホストアドレスを使う帰りのアドレスが違うため?)

カテゴリー:GNU/Linux タグ: ,

突然yumがunsupported btree versionとか言い出した

yum updateしたら
エラー: rpmdb: BDB1009 /var/lib/rpm/Name: unsupported btree version: 41
エラー: Name インデックスを db5 で開けません – 無効な引数です (22)
とか出てきて止まる現象。

で、実際にrpmdbを覗いてみるとそこでは大惨事が発生していたわけです
bdb
いやー、bdbも歴史ながいしなー、バージョン16393とかリリースされてたのかー
そんなわけあるかい。

これは再インストールものかとちょっと焦りましたが、とりあえずrpm –rebuilddbしたらなおりました。どうしてこうなった。

カテゴリー:GNU/Linux

カレント以下のSPARC用バイナリを削除する


find . -perm -u+x -type f -print0 | xargs --null file | grep SPARC | sed -e 's/^\(.*\):.*$/\1/' | xargs rm

カテゴリー:その他

perlで関数の返す配列の一部を切り出すやつの結果を関数に渡そうとしたときの挙動

perlでは配列を返す関数の戻してきた配列のうち、一部をだけ使う場合はだいたいこうやります。

my ($yy,$mm,$dd) = (localtime)[5,4,3];

で、新しくできる配列を関数に渡したい場合は括弧の省略ができないようです。
これは駄目。

print (localtime)[5,4,3];

これは通る。

print ((localtime)[5,4,3]);

カテゴリー:プログラミング