16年越しのReadynas Ultra 4と6と、Lyrion music Serverと、Squeezebox RadioとTouchと、Wiim proの話
自分は16年前の2009年にSqueezebox Duet、Readynas Duoを導入し、自宅で音楽配信サーバ環境を構築した。その後紆余曲折あって現在では以下が現役稼働している
・Squeezebox Radio:2台(キッチン、寝室:目覚まし、ちょい聴き)
・Squeezebox Touch:2台(仕事部屋のAVアンプ(RX-V4A)に同軸接続、寝室のメインステレオシステム(KEF IQ9<-LUXMAN L-507U<-Chord Qute HD <-Touch))
・Wiim Pro:1台(居間の2ndステレオシステム(R-N803D)に同軸接続。死亡したDuetレシーバーの代わり)
・サーバ用NAS:Readynas Ultra6(メイン),Ultra4(Cold Stanby)
※wiim proはsqueezelite内蔵でsqueezeboxのiPeng等各種コントローラでネイティブに選択できる。注意点はALACで、LMSの設定でAdvanced->filetype->Apple LosslessをDisabeledにしておくことくらい。ただ価格がね。Receiverが一つ6,000円だったから3倍。うーん。まぁしゃーない
で、最近Duetがお亡くなり、Ultra6のHDDが1本お亡くなり、代替機として、アマプラミュージックとか色々便利機能のついたWiim proをお試し導入を期に...
ReadynasのOS6化、Logitech Media ServerからLyrion Music Serverへの切り替えを血行したのです(ディスコン製品ばっかだったので辛かった。今さらすぎるwww)
また、Readynasでは個人的に作成したphpのアプリが動いていて、その設定なんかもします
正直、少なくともLinuxを多少弄った事ある人じゃないと辛いと思います。苦労の連続
勿体ないのでその備忘録
やりたい事はOS6化したReadynas x 2台と、最新版にアップしたSqueezebox達と死ぬまで幸せに音楽を聴きながらお酒を楽しく飲んでいたい。それだけ
これを実現するのに、LMSフォーラムの投稿やReadynas関連の5chの投稿、それらのまとめ、ネット上の情報に大変助けられた。感謝しかない
【参考】LMSフォーラム
===========================
1.Readynas関連
===========================
(1) HDD1本でFactory Default
※何で一本刺しで作業するかと言うと、何度もFactory Resetする羽目になる為であり、HDDの本数が多いと、その度再構成とか時間がかかり辛い。なのでなるべく容量の少ないHDDを持っているなら、それをOSアップデート用として利用する。無かったらRAID組んでたHDDx1だけに(要するに他のHDDは抜いておく)してもOK。
この作業する前はNASのバックアップは必須です。あと、マジでただの置物になる覚悟が必要。夜の9時から始めるとかしないで下さい。確実に数日かかる(ワシはかかった)
↓いきなりハードな作業から始めるのでやめるなら今のうち
①最新のRAIDarをPCにインストールしておく(Winなら2025/4現在6.5)
https://kb.netgear.com/20684/ReadyNAS-Downloads
②Readynasをシャットダウンし、物理的にHDD一本にしてから、背面のリセット穴に尖ドライバをカチっと音がする迄突っ込み電源ボタンを押し、前面パネルにboot menuと出てきたらリセット穴から尖ドライバを抜く
リセット穴は、Readynas Ultraのハードウェアマニュアル参照。Ultra2,4,6でリセット穴の位置やはFactory Resetの方法が異なるので注意
②"Factory Default"の文字が出るまで、バックアップボタンをカチカチ押す
③背面のリセット穴に尖ドライバをカチっと音がする迄突っ込む
④デスクトップツール、RAIDarに出てきたら"セットアップ"ボタンを押し、後は指示にしたがう(特に個別環境は設定しない)
※Fctory Defaultすると管理画面ログイン時のPWが初期PW(netgear1)に戻る
(2) OS4メニューからOS6用アップデート
以下の先人達の知恵を拝借するが、おまかん、なので凡その話
https://w.atwiki.jp/readynas/pages/19.html
※ アップデート後、9x%で止まり、RAIDarに
"Management Service is Offline"
と出てきたらって電源断ボタン
↑折り込み済(別にうまく100%で終えられたならOKだが焦る必要はない。ただ、%によってはここで終了となってもおかしくはない。第一の山)
(3) 再度boot menuからFactory Defaultし再起動 ※(1)参照
※これで6.9.5で再起動できるようになる(といいね。出来なきゃ置物へw)
(4) RAIDarでIPv4アドレスを確認し管理画面にアクセスし、一旦シャットダウンしてボタンで再起動
※管理画面PWは「password」
※メアド設定等諸々の設定は今は無意味なのでスルー
(5) RAIDarでIPv4アドレスを確認し管理画面にアクセスし、以下設定
※管理画面PWは「password」
①OSアップデートファイルのアップロード ※エラーが出ても無視して②へ
今回、以下で提供されている6.10.8(x86_64)へ更にアップデート
https://kb.netgear.com/20684/ReadyNAS-Downloads#software
※ReadyNASOS-6.10.8-x86_64.zip
②再起動 ※RAIDarで見ると状況が「アップグレード中」となっているので終わるまで待つ。終わったらシャットダウンし(6)へ
(6) 再度boot menuからFactory Defaultし再起動 ※(1)参照
※これで6.10.8で再起動できるようになる(といいね。出来なきゃ置物へw)
Factory Defaultが完了したら管理画面に行きシャットダウン
(7) 物理的に残りのHDDを突っ込み再起動して管理画面へ。フォーマットされていないHDDの場合OS6のボリュームメニューでフォーマットする(エラーが出てても慌てない)。HDDのフォーマットが終了したら、RAID再構成
※ (7)からは普通の設定になるので、Readynas OS6のマニュアルを見てやること
・サポート情報
https://www.netgear.com/jp/support/product/readynas_os_6/
https://www.netgear.jp/support/manual/readynasOS6_support.html
・ソフトウェアマニュアル
http://www.downloads.netgear.com/files/GDC/READYNAS-100/RN_OS6_SW_UM_JP.pdf
(8) RAIDの再構成が終わったら管理画面にアクセスし、好きなように設定する
例えば、
・admin pw忘却時やエラーがあった際のメアド設定
・ネットワーク設定(固定IP、IPv6無効、SSH有効、rsync有効等)、ボリュームのおまかんフォルダ作成等々。
普通にNASとして使うだけならここまででバックアップからデータ戻したりなんなり。でも自分の場合Lyrion Music Server(通称LMS)を動かせないと意味がなく、また、個人作成のphpスクリプトを動かしたいので以下のプラスアルファがあり、データの戻しはまだ全然先になる
また、HDDにWDを利用する場合で、IntelliPark無効化したい場合、以下の作業のうちリポジトリの変更やIntelliPark無効化ツールのインストール、無効化作業をやっといた方が良いのかも、とか思ったりする。先にWin 等に新しいWDのHDDを接続し停止するやり方もあるっちゃあるが面倒くさい
ただ、久々にこの件でIntelliParkの事を漁ってたら...まぁいいや。とにかく自分は先に進みますw
===========================
2.SSHでReadynasに入りリポジトリ変更
===========================
※サポート切れなのでリポジトリが消えてる。これが一番辛かった。何故ならapt update、installが効かない。以下のリポジトリ変更からphp、perl辺りをガチャガチャやってたら未だにapt updateはうまくいかないが、installは成功する場合と失敗する場合があるのであしからず。そん時はwgetしてdkpgするしかない。以下から闘いの記録なので、以下の順番通りでうまくいくかは保障しかねます
①以下変更&追加
※apt updateできなくても気にしない(ていうか出来ない)
============
#deb https://apt.readynas.com/packages/readynasos 6.10.8 updates apps main
#deb http://mirrors.kernel.org/debian jessie main
#deb http://security.debian.org/ jessie/updates main
#-- add
deb http://archive.debian.org/debian-archive/debian/ jessie main contrib non-free
deb-src http://archive.debian.org/debian-archive/debian/ jessie main contrib non-free
deb http://archive.debian.org/debian-archive/debian-security/ jessie/updates main contrib non-free
deb-src http://archive.debian.org/debian-archive/debian-security/ jessie/updates main contrib non-free
============
vi /etc/apt/apt.conf
============
Get::AllowUnauthenticated true;
Acquire::Check-Valid-Until false;
============
ここでエラーになっても一旦無視
===========================
3.必要そうなプログラムを入れとく(vim,unzip)
===========================
(1)vimインストール
①
apt install vim
※ここでエラーになったらwget & dkpg路線に切り替えてphpからインストール
②
vi .bashrc
ファイルの末尾に、以下の行を追加して保存
------
alias vi='vim'
------
③以下実行
source ~/.bashrc
(2)その他
apt install gcc
apt install make
apt install unzip
===========================
3.perl 関連(php先やったほうがいいかも)
===========================
LMS用(以下aもしくはb)
(a)
apt install libnet-ssleay-perl
apt install libio-socket-ssl-perl libcrypt-openssl-rsa-perl
※Lyrion Music Serverで音楽フォルダクロール後に気付いたんだけども...
"Mozilla::CA: 不明"みたいなエラーが出るので試しにcpan使ってインストールしてみる
cpan Mozilla::CA
(b)
wget http://archive.debian.org/debian/pool/main/libc/libcrypt-openssl-rsa-perl/libcrypt-openssl-rsa-perl_0.28-2+b1_amd64.deb
wget http://archive.debian.org/debian/pool/main/libc/libcrypt-openssl-bignum-perl/libcrypt-openssl-bignum-perl_0.04-4+b2_amd64.deb
wget http://archive.debian.org/debian/pool/main/libn/libnet-ssleay-perl/libnet-ssleay-perl_1.65-1+deb8u1_amd64.deb
wget http://archive.debian.org/debian/pool/main/libi/libio-socket-ssl-perl/libio-socket-ssl-perl_2.002-2+deb8u3_all.deb
dpkg -i *.deb
インストール済の汚い環境を整えてくれる
dpkg --configure -a
dpkg -l | grep perl
または
apt -f install
iiはok,rcは削除済。
完全削除は
apt purge xxxxxxxx
===========================
4.python3 関連
===========================
apt-get python3
wget https://bootstrap.pypa.io/pip/3.4/get-pip.py
python3 get-pip.py
apt-get install python3-pip
===========================
5.IntelliParkを無効化関連 ※WDのHDDを新たに導入した為
===========================
(1) インストール
apt-get install idle3-tools
or
wget http://archive.debian.org/debian/pool/main/i/idle3-tools/idle3-tools_0.9.1-1_amd64.deb
dpkg -i idle3-tools_0.9.1-1_amd64.deb
(2) 止めるデバイスを探す
ls -la /dev | grep sd
(3)現在の設定秒数を見る(実行結果確認)
idle3ctl -g /dev/sda
-> 設定値例1 : Idle3 timer set to 80 (0x50) ※設定有
この結果となったdirをメモします。この後停止作業を実施します。先ずは調査する、というコマンド
-> 設定値例2 : Idle3 timer is disabled ※設定無
(4) IntelliParkを止める(disabled以外全部)
以下は停止例です。停止したいdirを全て指定してコマンドを繰り返すこと
# idle3ctl -d /dev/sda
Idle3 timer disabled
確認時、以下ならOK
Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough!
(5) Readynas再起動
===========================
6.php関連
===========================
(1)インストール
apt install php5 libapache2-mod-php5 php5-cgi php5-fpm
↑失敗したら以下URL辺りからそれぞれwgetしてインストール
http://archive.debian.org/debian/pool/main/p/
(2) wget~install例
①
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/php5_5.6.40+dfsg-0+deb8u12_all.deb
②
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/libapache2-mod-php5_5.6.40+dfsg-0+deb8u12_amd64.deb
③
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/php5-cgi_5.6.40+dfsg-0+deb8u12_amd64.deb
④
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/php5-cli_5.6.40+dfsg-0+deb8u12_amd64.deb
⑤
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/php5-common_5.6.40+dfsg-0+deb8u12_amd64.deb
⑥
wget http://archive.debian.org/debian-archive/debian-security/pool/updates/main/p/php5/php5-fpm_5.6.40+dfsg-0+deb8u12_amd64.deb
⑦
wget wget https://old-releases.ubuntu.com/ubuntu/pool/main/p/php-json/php5-json_1.3.6-1_amd64.deb
⑧install
dpkg -i *.deb
⑨configure
dpkg --configure -a
【参考】インストールアプリの確認
dpkg -l | grep php
【参考】インストール済アプリの削除
dpkg -r アプリ名
【参考】インストール済の汚い環境を整えてくれる
dpkg --configure -a
または
apt -f install
【参考】php: PHP の基本的なパッケージ
libapache2-mod-php: Apache2 と PHP を連携させるためのモジュール
php-cli: コマンドラインインターフェース (CLI) で PHP を実行するために必要
php-fpm: 高負荷なウェブアプリケーション向けの PHP FastCGI Process Manager (今回は libapache2-mod-php を使用しますが、より高度な構成で利用されます)
php-mysql: MySQL データベース連携に必要な拡張機能
php-mbstring: マルチバイト文字列を扱うために必要な拡張機能
php-xml: XML 関連の処理に必要な拡張機能
php-gd: 画像処理に必要な拡張機能
php-curl: HTTP などの様々なプロトコルでデータ転送を行うために必要な拡張機能php: PHP の基本的なパッケージ
libapache2-mod-php: Apache2 と PHP を連携させるためのモジュール
php-cli: コマンドラインインターフェース (CLI) で PHP を実行するために必要
php-fpm: 高負荷なウェブアプリケーション向けの PHP FastCGI Process Manager (今回は libapache2-mod-php を使用しますが、より高度な構成で利用されます)
php-mbstring: マルチバイト文字列を扱うために必要な拡張機能
php-xml: XML 関連の処理に必要な拡張機能
php-gd: 画像処理に必要な拡張機能
php-curl: HTTP などの様々なプロトコルでデータ転送を行うために必要な拡張機能
===========================
7.php/apache2関連
===========================
※ここは個人的にNASのapache2でphpを動かしたいだけなので、そんなの不要という方は飛ばして下さい
(1)新ファイル作成して保存
cd /etc/apache2/conf-available
vi /etc/apache2/conf-available/php-nan.conf
---------------------
Alias /w3docs /data/media/お前が好きなdirダヨ
<Directory /data/media/お前が好きなdirダヨ>
Options +ExecCGI +FollowSymLinks
AddHandler cgi-script .php
Require all granted
</Directory>
Alias /PDF /data/media/Pictures/PDF
<Directory /data/media/Pictures/PDF>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
---------------------
ls -la /etc/apache2/conf-available
(2) confを有効化
a2enconf php-nan.conf
----成功MSG-----
Enabling conf php-nan.
To activate the new configuration, you need to run:
systemctl reload apache2
----成功MSG-----
(3) Reload
systemctl reload apache2
(4) php info作成
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>
(5) 表示テスト
===========================
8.rsync(データをNASに入れ直す)
===========================
ここまで来てやっとrsync等でデータを入れられます。自分はReadynas6と4の2台持ちだった為、1-7を2回やっている。rsyncは管理画面からでなく、手動w
今何コピーしてる?
lsof -c rsync | grep /tmp | grep -v 'cwd'
or
watch -n 2 --color "lsof -c rsync | grep --color=always /tmp | grep -v cwd"
フォルダ監視
inotifywait -m -r /data --format '%T %w%f %e' --timefmt '%H:%M:%S'
----------------------------------------
参考)手動rsync(管理画面不非利用)
----------------------------------------
apt install tmux
1. 新しい tmux セッションを開始
tmux
→ これで仮想ターミナル内に入る。ここで rsync など長時間かかる作業を始める。途中で切れるのは、イヤ!
手動Rsync
例)
rsync -aHAX --progress --partial --append --log-file="/tmp/rsync_nan.log" "/data/media/Pictures/画像(イラスト)/nan/" "root@192.168.0.31:/data/media/Pictures/画像(イラスト)/nan/"
rsync -aHAX --progress --partial --append --log-file="/tmp/rsync_nan.log" "/data/media/iTunes/iTunes Music/" "root@192.168.0.31:/data/media/iTunes/iTunes Music/"
※このコマンドを打った後なら途中で終わっても続きからやってくれる
2. セッションをデタッチ(切り離し)
作業中にSSH切れる or 自分で抜けたいときは:
★Ctrl 押しながら b 、更にcntl離さず d
→ セッションがバックグラウンドに回る!(コツがあるので一度テストした方が良い)
3. 再接続後に戻る SSH再接続後:
tmux attach
でさっきのセッションに戻れる。
参考:セッション一覧を見る
tmux ls
ログ置き場
/var/log/frontview/backup/
===========================
8.Squeezebox関連
===========================
(1) deb DL
または
https://lyrion.org/downloads/archive/
※Readynas Ultraは、OS6.10.8だとAMD64を選べばOK
参考)成功ver
https://downloads.lms-community.org/LyrionMusicServer_v9.0.2/lyrionmusicserver_9.0.2_amd64.deb
(2) Readynas管理画面からアップロード&インストール
(3) ALAC無効化
[Advanced]タブ->[File Types]ダウンメニュー->[Apple Lossless]->[無効/Disable]
(4) 日付フォーマット
[Interface]
※下のほうにある
(5)インストール確認コマンド
dpkg -l | grep lyrionmusicserver
↓結果
ii lyrionmusicserver 9.0.2 all Streaming Audio Server
【参考】削除
apt purge lyrionmusicserver
【参考】再起動
systemctl restart lyrionmusicserver
(5) Plugin
①らじるらじこ設定
http://t-yoshi.github.io/RadiRuKo-Plugin/repo.xml
②Material Skin
③RadioNET
④Community Firmware for Touch/Radio/Controller (設定で有効化しとく)
※うまく最新ファームに更新できない場合は一回だけ手動でお試し
(6) Squeezebox本体の手動firmup
※なんでそんなこと?上記(5)④がうまく作動しなかったから...
①以下にブラウザでアクセスし最新ver確認
https://ralph_irving.gitlab.io/lms-community-firmware/changelog.html
②以下にブラウザで以下にアクセスしsqueezeosをクリック
https://sourceforge.net/projects/lmsclients/files/
③以下のファイルを探し、リンクURLをテキストに貼る(もし後ろに/downloadと入ってたらその部分は削除)
探すファイル名)
(a) Radio用
baby_X.X.X_rXXXXX.zip
(b) Touch用
fav4_X.X.X_rXXXXX.zip
例)baby_9.0.1_r17023.zip
※このdir、自分の場合8.0から徐々に上げていったからかもしれない
⑤何か入ってたら削除
rm *.*
⑥"③"のURLのファイルをwgetしてunzip(以下は例です)
wget https://sourceforge.net/projects/lmsclients/files/squeezeos/baby_9.0.1_r17023.zip
unzip baby_9.0.1_r17023.zip
⑦Squeezebox本体でファームアップ(勝手に再起動する)
⑧おぉぉ起動時ロゴがかわってりゅうううう
⑨以下dir配下のファイルは削除
https://konosaki.blogspot.com/2010/08/squeezebox-radio.html
※じゅ、15年前の投稿...
Squeezebox本体のファームを一定上げてれば(少なくとも9.xは不要)、以下の対応は不要なようだ...
https://forums.lyrion.org/forum/user-forums/squeezebox-radio/1642115-sb-radio-fix-for-wifi-disconnect#post1686745
所謂、
(1)以下開く
vi /etc/init.d/wlan
(2) Scroll down to line 29
(3) 以下コメントにして(#つけて)保存して再起動
#/lib/atheros/wmiconfig -eth1 --power maxperf
おわり