2022/12/28
================================================================================================================================
EpgRec 録画サーバーのシステムドライブ(SSD)が故障したので、HDD へ交換し、Linux Mint 17.3 をインストールした記録です。
--------------------------------------------------------------------------------------------------------------------------------
※ システムドライブが故障してしまったので、MySQL データベース(録画未/済、キーワード、等)は失われてしまいましたので、
OS の再インストールと、EPGREC の構築が必要となりました。
※ EPGREC 用のハードウェアは接続済みとします。( PT2 x 2枚 、ICカードリーダー )
※ EPGREC(getepg/do-record.sh)は、既存 HDD(/dev/sdb) 内にあり、OSインストール後、 /var/www/ にマウントし直します。
■ OS インストール前に、念の為、EPGREC & 録画データ用 HDD(/dev/sdb) の SATA コネクタを外しておきます。
■ Linux_mint_17.3.iso(USB)より起動し、Linux Mint 17.3 をインストールします。
「インストールの種類」で「それ以外」を選択し、パーティション構成を指定します。
[50GB] /
[10GB] swap
[残り] data用
◆ iso からインストールが終了したら、再起動して、全モジュールのアップデートを実行します。
kernel 4.4.0-lts1 (4.4.0-148)
◆ 日本語環境
wget -q http://packages.linuxmint-jp.net/linuxmint-ja-archive-keyring.gpg -O- | sudo apt-key add -
sudo wget http://packages.linuxmint-jp.net/sources.list.d/linuxmint-ja.list -O /etc/apt/sources.list.d/linuxmint-ja.list
sudo apt-get update
sudo apt-get install mint-gnome-ja --install-recommends
依存関係か? ibus が一緒にインストールされますが、無視します。
ibus を削除すると mint-gnome-ja も削除されてしまいます。
「設定」→「Languages」で、 Fcitx を有効にする。
「ソフトウェアマネージャ」で、fcitx-module-kimpanel を削除。( Fcitx の「外観」設定を邪魔するから )
「ソフトウェアマネージャ」で、fcitx-ui-qimpanel を削除。( Fcitx のアイコンがパネルから消せないので )
「設定」→「Fcitx の設定」
「入力メソッド」→1番目:「キーボード・日本語」、2番目:「Mozc」
「全体の設定」→「ホットキー」
「入力メソッドのオンオフ」= [ Henkanmode ] [ Zenkakuhankaku ]
「外観」→「クラシックUI」
「フォントサイズ」=11
「フォント」及び「メニューのフォント」=Sans
「システムトレイアイコンを使う」=ON
「状態パネルを隠すモード」=「トレイアイコンが有効なときに隠す」
→ [適用] → 閉じる[x]
「設定」→「Mozc の設定」
「一般」→「キー設定」→「キー設定の選択」=「ATOK」→ [OK]
◆ ssh
sudo apt-get install ssh
◆ OS再起動の確認
■ データHDD(/dev/sdb)の接続
データHDD(/dev/sdb)を接続して、/var/www にマウントするように /etc/fstab を設定する。→再起動して確認。
■ EPGREC 環境構築
◆ B-CAS カードリーダーの インストール
IC カードリーダーのドライバをインストールします。
sudo apt-get install libpcsclite1 libpcsclite-dev libccid pcscd pcsc-tools
B-CAS カードが認識されているか確認します。
pcsc_scan
Japanese Chijou Digital B-CAS Card (pay TV) の様に表示されれば OK です。
arib25(デジタル放送復号化プログラム)をインストールします。
wget http://hg.honeyplanet.jp/pt1/archive/ec7c87854f2f.zip
unzip ec7c87854f2f.zip
cd pt1-ec7c87854f2f/arib25/src/
make
sudo make install
◆ PT2 ドライバの インストール
DVB 版ドライバの無効化
インストールするドライバとバッティングするので、OS 内臓のドライバを無効にします。
sudo echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf
chardev 版ドライバの インストール
wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
tar jxf tip.tar.bz2
cd `ls -tr | tail -1`/driver
make
sudo make install
sudo reboot
再起動後、ドライバがインストールできているか確認します。
ls -lart /dev/ |grep pt1
crw-rw-rw- 1 root video 250, 3 2011-05-01 17:36 pt1video3
crw-rw-rw- 1 root video 250, 2 2011-05-01 17:36 pt1video2
crw-rw-rw- 1 root video 250, 1 2011-05-01 17:36 pt1video1
crw-rw-rw- 1 root video 250, 0 2011-05-01 17:36 pt1video0
crw-rw-rw- 1 root video 249, 3 2011-05-01 17:36 pt1video7
crw-rw-rw- 1 root video 249, 2 2011-05-01 17:36 pt1video6
crw-rw-rw- 1 root video 249, 1 2011-05-01 17:36 pt1video5
crw-rw-rw- 1 root video 249, 0 2011-05-01 17:36 pt1video4
の様に表示されれば OK です。
◆ recpt1 の インストール
wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
tar jxf tip.tar.bz2
cd `ls -tr | tail -1`/recpt1
./autogen.sh
./configure --enable-b25
make
sudo make install
◆ LAMP 環境の インストール
LANP = LAN , Apache2 , MySQL , PHP5
sudo apt-get install apache2 php5 libapache2-mod-php5 php5-cli
Apache2 のドキュメントのルートディレクトリを変更します。
sudo vi /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/html → DocumentRoot /var/www/epgrec
Apache2 に IP フィルタを設定します。
sudo vi /etc/apache2/apache2.conf
↓== この区間に
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
order deny,allow この3行を追加し、
deny from all
allow from 192.xxx.xxx.0/24 アクセスを許可する IP アドレスまたはその範囲を記述します。
↑==
変更した設定を有効にするために、 Apache2 を再起動します。
sudo service apache2 restart
MySQL の インストール
sudo apt-get install mysql-server php5-mysql
mysql -u root -p
Enter password:
mysql> create database epgrec;
mysql> grant all privileges on *.* to epgrec@localhost identified by 'epgrec';
mysql> quit
sudo reboot
◆ epgdump の インストール
epgdump は、電子番組表(EPG)を取得するプログラムです。
wget http://xreknishi.g1.xrea.com/epgrec/files/epgdumpr2-utf8.tar.gz
tar -zxvf epgdumpr2-utf8.tar.gz
cd epgdumpr2
make
sudo cp epgdump /usr/local/bin
◆ 環境設定
www-data の設定
EPGrec では、ユーザー "ww-data" がシェルを実行して録画を行うので、ユーザー "www-data" がシェルを使えるように設定しておきます。
sudo vi /etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nolohin → www-data:x:33:33:www-data:/var/www:/bin/bash
at の インストール
sudo apt-get install at
ユーザー "www-data" が at を使えるように設定しておきます。
sudo vi /etc/at.deny
www-data を削除します。
■ EPGREC のセットアップ
◆ ブラウザからセットアップスクリプトを実行する。
http://epgrec/install/step1.php → step5.php を開き、内容を確認。
step5.php で、getepg が実行され、EPG番組表が作られる。(2重実行しないように注意します)
※ 文字化け対策で、step1.php と step5.php に、下記構文を追加しました。
echo '
';
◆ getepg を cron へ登録します。
/var/www/epgrec/cron.d/getepg の内容を確認します。
sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/
sudo chmod 644 /etc/cron.d/getepg
■ 関連アプリ/設定
◆ miniDLNA
sudo add-apt-repository ppa:djart/minidlna
sudo apt-get update
sudo apt-get install minidlna
sudo vi /etc/minidlna.conf
media_dir=V,/var/www/epgrec/video
friendly_name=EPGrec <== 表示名は任意。
◆ recbymail は、Google がセキュリティを強化したため、2022/05/30から使えなくなりました。
◆ S.M.A.R.T
smartctl のメッセージをメールで送信できなくなったので、メッセージを epgrec/ 配下に、index.html としてを書き出す事にしました。
sudo apt-get install smartmontools
/var/www/scr/smarthtml/ を作成。 → cron にて定期的にチェック。
※ 詳細は下記↓を参照。
■ その他のアプリケーションソフトウェア
Google Chrome
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
※ 2022/12/28現在、google-chrome-stable が「ソフトウェアマネージャ」でインストールできなくなったので、
インストール済みPCの /var/cache/apt/archives/ 配下の deb ファイルからインストールします。
★ 起動時に、キーリングパスワードの入力を要求されますが、空欄のまま続行すれば、その後、キーリングパスワードを要求されなくなります。
設定してしまった、キーリングパスワードを削除するには、~/.local/share/keyrings/ 内のファイルを削除すれば OK です。
不安な場合は、一旦ゴミ箱に入れてみましょう。
Leafpad
「ソフトウェアマネージャ」でインストール
なぜか、設定が保存できない。
~/.config/leafpad/ の権限が root になっています → 権限を変更すれば OK です。
Smplayer
お気に入りの古いバージョンを指定してインストールします
sudo apt-get install smplayer=0.8.6-2
日本語対応(マルチ言語化)します
sudo apt-get install smplayer-translations
[オプション] → [ツールバー] → [メイン ツールバー]=OFF
[オプション] → [環境設定] → [全般] → [ビデオ] → [出力ドライバー]=gl(高速)
[オプション] → [環境設定] → [インターフェース] → [フローティングコントロール] → [□ アニメーション]=OFF
コントロールバー編集
[電源] [Stop] [Play] [Pause/コマ送り] [<<<] [<<] [<] [>] [>>] [>>>] [タイムスライダー] [ボリューム]
その他の場合
インストール済みパッケージを確認する
dpkg -l smplayer*
インストール可能なバージョンを確認する
sudo apt-cache madison smplayer
不要なパッケージを削除する
sudo apt-get purge smplayer
=================================================================================================================================
◆ S.M.A.R.T
smartctl のメッセージをメールで送信できなくなったので、メッセージを epgrec/ 配下に、index.html としてを書き出す事にしました。
sudo apt-get install smartmontools
/var/www/scr/smarthtml/ を作成。 → cron にて定期的にチェック。
smarthtml.sh スクリプト
-----------------------------------------------------------------------------------------
#!/bin/bash
cd `dirname ${0}`
INDEX="/var/www/epgrec/index.html"
echo > smart_now.txt
for DRIVE in `ls -1 /dev/hd? /dev/sd? 2>/dev/null`; do
echo (password)|sudo -S smartctl -a ${DRIVE}|grep -f smart_greps >> smart_now.txt && echo >> smart_now.txt
done
diff smart_now.txt smart_good.txt > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo '' > ${INDEX}
echo 'S.M.A.R.T レポート
' >> ${INDEX}
cat smart_now.txt | while read LINE; do
echo "${LINE}
" >> ${INDEX}
done
echo '' >> ${INDEX}
fi
-----------------------------------------------------------------------------------------
ファイル群
smarthtml.sh - シェルスクリプト本体
smart_greps - smartctl -a の出力から欲しい行を grep する為の項目一覧
smart_good.txt - 比較判定用の初期値(良好な出力)、初回の smart_now.txt をリネームすれば良い。
smart_now.txt - スクリプト実行時の値
動作説明
smartctl -a の結果(grep で項目を絞ったもの)を初期値と比較して、差が生じた時、その結果を
/epgrec/index.html として出力する事により、epgrec ホーム(番組表)を開いた時、異常を知ることができる。
/epgrec/index.html の削除は手作業で行う。
smart_greps の例(個々の環境により、正常時は値の変化しない項目を選定する)
-----------------------------------------------------------------------------------------
Device Model:
Raw_Read_Error_Rate
Reallocated_Sector_Ct
Seek_Error_Rate
Spin_Retry_Count
Calibration_Retry_Count
Program_Fail_Count_Chip
Erase_Fail_Count_Chip
Wear_Leveling_Count
Used_Rsvd_Blk_Cnt_Chip
Program_Fail_Cnt_Total
Erase_Fail_Count_Total
Reported_Uncorrect
Reallocated_Event_Count
Current_Pending_Sector
Offline_Uncorrectable
UDMA_CRC_Error_Count
Multi_Zone_Error_Rate
-----------------------------------------------------------------------------------------
以上