/ 雑記帳

[ カテゴリー » Linux日 記 ]

lightmpd/upnpgw メンテ用スクリプト

#!/usr/bin/expect -f
set address "192.168.x.x"
set port "8023"
spawn telnet $address $port
expect "Escape character is '^]'." {
sleep 1
send "root¥r"
}
expect "Password" {
sleep 1
send "lightmpd¥r"
}
expect "#" {
sleep 1
send "mount /dev/sda1 /tmp ; df ; cd /tmp ; ls -l¥r"
}
expect "#" {
sleep 1
interact
exit 0
}
expect eof

— posted by くま at 05:55 pm  

Mirakurun 番組表表示 改善

関連ファイル修正後は
mirakurun restart
./chinachu update

反映されない場合はまず
rivarun --list | sed 's/},/},¥n/g'
このコマンドでチャンネル情報が取り込まれているかチェックする。

直接チャネルを指定するファイル
/usr/local/etc/mirakurun/channels.yml

番組表を更新するコマンド位置
/home/chinachu/chinachu/chinachu

設定を変えた後にこのファイルが更新されない場合はリネームした後に試す。
mirakurun restart chinachu update
/usr/local/var/db/mirakurun/programs.json
/usr/local/var/db/mirakurun/services.json

設定を変えた後の更新でこのファイルが更新されない場合はリネームして再度試す。
/usr/local/var/run/mirakurun-0.pid


— posted by くま at 06:33 pm  

pm2とはなんぞや

http://onlineconsultant.jp/pukiwiki/?node.js%20node.js%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92pm2%E3%81%A7%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E5%8C%96%E3%81%99%E3%82%8B

— posted by くま at 11:17 pm  

Chinachu Γ インストールと設定(1)

ch


実質一週間ぐらいかけて解析作業してやっと動作させる事が出来た。
このソフト、Linuxで簡単に出来るとか?宣伝してた人がいたように思うが
トンデモナイ話であった。
ソースインストールは当たり前でテキストエディターでソースの一部を変更したり
色々なテクニックが必要だった少なくても自分の場合は(^_^;)
一番ハマったのはChinachu Γ はrecdvbと組み合わせて使う場合ver1.2系を使わないと動作しない事だ。
プラス少し前の「4K/8K放送に伴うBSチャンネル変更」の影響を recdvb がモロに受けているのだけど
(recpt1とも組わせて使えるらしいがkernelのdvbドライバーの完成度が上がっているので
recdvbと組み合わせたいところ)
配布されているソースにはその部分のパッチは一切当たっていないため
テキストエディターでソースを変更してはビルドして試すという試練がかなりあって疲弊した。
動作してみればepgrec時代と比較すると安定性、利便性が格段に上がっている事に感心した。
まったく たったこれだけの情報が無かった、
どう使えば良いか確実に理解していなかった。
それだけで時間を浪費した。

111


chinachuとmirakurunの作業分担はchinachuはmirakurunに録画作業を投げる。
mirakurunは依頼を受けて録画コマンドrecdvbを実行する。
(EPG番組表のデータ取得についてはrecbvbコマンドを使ってmirakurunが行っている。)
ここで注意しなければならないのはそのデーター取得にはrecdvbコマンドが使われる事である。
mirakurunで使用される録画コマンドラインとチャンネルを設定ファイルで指定しても
それだけで安心してはいけない。
実はrecdvbコマンドのビルド時の際に使われた設定でrecdvbコマンドは録画する。
その設定内容が
mirakurunの設定ファイルで設定された内容と一致していなければまともに動作しないのである。
この件に関して有効な確認コマンドは
rivarun --list | sed 's/},/},¥n/g' である。
このコマンドでmirakurunサーバーがチャンネル情報を認識出来ているかを確認出来る。
またその確認情報は /usr/local/var/db/mirakurun/services.json に保存される。
自分は途中で面倒になってこのファイルを直接編集してチャンネル情報を入れ込んで見たが見事に拒絶された(笑)
要は根本的にrecdvbのプログラムソースのチャンネル設定が完璧で無ければ
Chinachu Γ は「まともに動作しない。」のである(^_^;)
       
参考リンク:https://mirai.black/2017/08/07/archlinux-pt2-mirakurun-chinachu/
     https://mirai.black/2017/08/07/archlinux-pt2-mirakurun-chinachu/
     https://www.jifu-labo.net/2017/01/chinachu_gd/#i-6
     http://poohkids.com/server/chinachu-mirakurun/
     http://kkuma.mydns.jp/Linux-tv/index1.shtml
      

— posted by くま at 06:09 pm  

Archlinux mpd-0.20.18 install

Archlinuxは何時も最新で危険なディストリだ。
現状でアップデートするとMOZCが機能しなくなる。
QT関連パッケージには地雷があるようだ。
今はアップデートしてはいけない時期らしい。
仕方がなくバックアップでイメージをレストアしたら今度は起動しない(笑)
その原因追求に一週間?ぐらいを浪費した。
pacmanで最新のmpdをインストールするとmpdが起動しない。笑うしか無い。
それでも、それでも音が良いから?粘って動作させる。

それでmpd-0.20.18をソースインストールして弄ってみたが
このエラーが出て起動不能だった...
exception: Failed to bind to '[::]:6600'
exception: nested: Failed to bind socket: Address already in use

足りないライブラリーとかも有ったかも知れない。
(alsa関連とtag関連のパッケージで)
一応このコンフィグで動作させる事が出来た。
./configure --disable-ipv6 --with-systemdsystemunitdir=/usr/lib/systemd/system

起動もsystemctlから真っ当に出来る(笑)
$ cat /usr/lib/systemd/system/mpd.service
[Unit]
Description=Music Player Daemon
Documentation=man:mpd(1) man:mpd.conf(5)
After=network.target sound.target
      
[Service]
Type=notify
#ExecStart=/usr/local/bin/mpd --no-daemon
ExecStart=/usr/local/bin/mpd --no-daemon /etc/mpd.conf
      
# allow MPD to use real-time priority 50
LimitRTPRIO=50
LimitRTTIME=infinity
      
# disallow writing to /usr, /bin, /sbin, ...
ProtectSystem=yes
      
# more paranoid security settings
NoNewPrivileges=yes
ProtectKernelTunables=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
# AF_NETLINK is required by libsmbclient, or it will exit() .. *sigh*
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX AF_NETLINK
RestrictNamespaces=yes
      
[Install]
WantedBy=multi-user.target
Also=mpd.socket

参考リンク:https://www.reddit.com/r/linuxquestions/comments/348c0l/mpd_autostart_with_systemd/

追記:今朝もう一度起動したら動かない(笑)原因は/var/run/mpd/mpd.pidが作成されない事。
もう面倒なので

#!/bin/bash
rm /var/run/mpd/mpd.pid
echo "" > /var/run/mpd/mpd.pid
chmod 777 /var/run/mpd/mpd.pid

psn=`ps aux | grep mpd | grep bin | awk '{print $2}'`
kill $psn
echo "--------------------------------"
ps aux | grep mpd | grep bin
echo "--------------------------------"
echo ""
#/usr/local/bin/mpd /etc/mpd.conf
systemctl restart mpd
systemctl status mpd
echo "--------------------------------"
ps aux | grep mpd | grep bin
echo "--------------------------------"

本来は chmod mpd:audio /var/run/mpd でOK?の様です(^_^;)

— posted by くま at 12:30 am  

リベンジ! カーネルリビルド

$ uname -a
Linux arch 4.14.29-rt25-ARCH #1 SMP PREEMPT RT Tue Apr 10 21:55:13 JST 2018 x86_64 GNU/Linux
何とか出来たけど安全を見込んでギリギリまで刈り込み出来ていません。
でも新しいカーネルって音が良い様に感じます。完全なプラシーボ(笑)

— posted by くま at 02:55 pm  

APU1C2 Archlinux Kernel

$ uname -a
Linux arch 4.14.8-rt9-ARCH #2 SMP PREEMPT RT Tue Apr 10 14:47:05 JST 2018 x86_64 GNU/Linux 
カーネルを入れ替えた
と思ったら必要なモジュールを含んでいなかった(笑)
lightmpdのカーネルからconfigを取り出したんだから当たり前の失敗なんで落ち込む。
当然の事ながらSATA、無線LANドライバーだって無いのが普通だわな---

ノーマルカーネルだと使用している中華DDCでDSDが再生出来ないので

$(LINUX_SRC)/sound/usb/quirks.c
u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
の関数にDDCの分を加える
$ cat /proc/asound/card0/usbid
20b1:3086 だから
      
case USB_ID(0x20b1, 0x3086): /* SPECIAL */
      
これでコンパイルを始めたのだが....
ご飯を作りながら作業していて電子レンジを入れるとブレーカーが落ちた!
当然、PCの電源も落ちた(^_^;)

— posted by くま at 04:34 pm  

Archlinux 固定IP設定

netctlコマンドを使って設定する。
    
# cat /etc/netctl/enp1s0
Description='A basic static ethernet connection'
Interface=enp1s0
Connection=ethernet
IP=static
ONBOOT=yes
Address=('192.168.11.7/24')
Gateway='192.168.11.1'
DNS=('192.168.11.1')
    
# netctl enable enp1s0
# netctl start enp1s0
# systemctl enable netctl@enp1s0.service
# systemctl start netctl@enp1s0.service

— posted by くま at 07:44 pm  

<< 2018.11 >>
SMTWTFS
    123
45678910
11121314151617
18192021222324
252627282930 
 










T: Y: ALL: Online:
ThemePanel
Created in 0.0546 sec.