2010/07/10〜2011/03/12更新 Counter
CentOS5.5 + PT2 + EPGrec で、地デジ録画サーバーを作る。 ( PT2 x 2 枚 = 4ch 同時録画 )
アナログのTV録画にはSONYのCoCoonを愛用してきましたが、地デジ化を控えて対応を検討してきました。地デジ版CoCoonの登場を心待ちにしながら、いろいろ調べていました。その中で、録画PCサーバーを自作する記事をいくつか見つけました。地デジ版CoCoonの登場については、期待がかなえられそうなかったので、PCベースの録画サーバーを自作してみるのもいいかもと考えるようになりました。また、CoCoonの2ch同時録画では、ch数に不足を感じることがあったので、PT2を2枚挿して、4ch同時録画できるようにしようと思いました。
製作にあたっては、様々なホームページの情報を参考にさせていただきましたが、1カ所で全ての情報がカバーできるページがなかったので、内容をまとめて公開することにしました。これからPT2で録画サーバーを構築しようと考えている方々の助けになればうれしいです。
 
目次 CentOS_Home CentOSのインストール メールで予約できるようにする epgrecのオフィシャルホームページ epgrecのインストール atとは?(ITpro) atのインストール do-record.shの準備 recpt1のインストール crondとは?(ITpro) crond getepg.php epgdumpのインストール MySQLとは?(wiki) MySQL LVMとは?(ITpro) LVMにHDDを増設する smplyerとは? サーバーで映像を再生する minidlna_Home TVのDLNAで映像を再生できるようにする sambaとは?(ITpro) WindowsPCでファイル共有 録画に失敗した古い予約を削除する 古い録画ファイルを自動的に削除する
1.ハードウェアの準備
2.CentOSのインストールと設定
  @ CentOSのインストール
A ログインをCUIに変更
B ネットワーク接続の設定
C 不要なアプリケーションの整理
D OSのアップデート
E セキュリティーの設定
F telnetサーバーのインストール
G 時計の設定
H 不要なデーモンの停止
I ftpサーバーのインストール
J sambaのインストール
K gccのインストール
3.PT2のインストール
@ RPMForgeのインストール
A mercurialのインストール
B PT2カードの挿入
C PT2ドライバーのインストール
4.ICカードリーダーのインストール
@ pcscのインストール
A b25ドライバーのインストール
B スマートカードリストの更新
5.recpt1のインストール
6.録画テスト
7.EPGrecのインストール
@ perl-Gtk2のインストール
A epgdumpのインストール
B atのインストール
C apacheのログインシェルの変更
D LAMP環境のインストール
E EPGrecのインストール
F config.phpの設定
G do-record.shの準備
H MySQLデータベースの準備
I httpdの起動
J EPGrecの初期設定
K EPGデータの受信をスケジュール化
8.ファイル名に使用される文字コードに関する対応
9.sambaの起動
10.古い録画ファイルの自動削除
11.録画に失敗して残ってしまった録画予約の削除
12.録画ファイルの再生
CentOS5.5+PT2にminiDLNAを入れて、.TSファイルをBRAVIAで見られる様にする。(2011/03/06)
13.LVMにHDDを増設して容量を拡大する
14.地デジ録画サーバー(CentOS5.5+PT2+EPGrec)をメールで録画予約できるようにする。(2010/11/20)
PHPでGmailなどのPOP over ssl / SMTP over sslサーバーからメールを送受信する方法をまとめました。
15.EPGrecの録画予約アルゴリズム"Reservation.class.php"を改善する。(2011/02/20)
 
ハードウェアの準備
※PT2を2枚挿すので、PCIスロットは2本以上が必須です。低消費電力で静かなマシンを目指しました。
マザーボード GA-H55M-S2H PCIx2本のMicroATXマザーボードたち
→変更 (2010/10/09) P7H55D-M PRO に変更しました。
CPU Intel Pentium Dual Core G6950
メモリー DDR3 2GB x1
HDD WD20EARS-00MVWB ※後日、LVMでHDDを1台追加して容量を増設ました。
チューナーカード PT2 x2枚
ICカードリーダ NTT-ME SCR3310-NTTCom  <<== B-CASカードの接続に必要です。
B-CASカード 手持ちの地デジTVのものを使用。
USBポート変換器 世田谷電器 USB9pinポート変換  <<== ICカードリーダーをケースに内蔵するために使用しました。
※マザーボードを変更したことにより使えなくなりました。形状に注意が必要です。
VU・BS・CS分配器 マスプロ電工 タップ型4分配器 CSP4D-P  <<== アンテナ線を分配するために必要です。
ケース ANTEC NSK2480
その他 CPUファン、ケースファン、電源ファンを静音タイプに交換しました。
H55チップセットのヒートシンクを容量の大きいものに交換しました。


完成後、ワットメータを借りられる機会があったので消費電力を測定しました。
※HDDx1台構成の時の値です。
アイドリング時 51W
4ch録画時 60W
CoCoonに比べ、16Wほど消費電力が高いですが、PCなので仕方のないところでしょうか。
ちなみに、PT2x2枚を外したところ、アイドリング時は40Wだったので、PT2x1枚は5.5Wという事になります。
(2010/10/3)
GA-H55M-S2Hに、チップセット(H55)が、ヒートシンクが触っていられないくらい発熱するので、ヒートシンクを容量の大きいものに交換しました。
(2010/10/09)
サーバーがランダムに時々落ちる(電源は落ちないがハングアップしている?)。マザーボードの不具合でチップセットが発熱していることが原因ではないかと思い、マザーボードを ASUS P7H55D-M PRO に交換してみましたが、チップセットの発熱は変わりませんでした。どうもPT2が動作すると発熱する様な気がしますが、はっきりしたことはわかりません。仕方がないので、P7H55D-M PRO のチップセットのヒートシンクも容量の大きいものに交換しました。安定性の検証はこれからです。マザーボードをP7H55D-Mに交換して良かった事は、サイレントモードがあり、FANの動作音がより静かになった事です。GA-H55M-S2Hとの互換性はLANチップが変わったことに対してIP-Addressの設定をやり直すだけで動作OKでした。
(2010/12/04)
安定性向上を目指して、OS等を時々"yum update"していますが、これについては特に問題はない様です。
しかし、PT2のドライバーの最新版"7662d0ecd74b.tar.bz2"を入れたところ問題が起こりました。症状は、毎日深夜にシステムがダウンすというものです。ドライバーを元の"38a793ac3d9d.tar.bz2"に戻す事で不具合は出なくなりましたが、どのバージョンがベストなのかは不明です。
(2011/03/12)
ハングアップを起こす時間帯が、深夜に多かったので、23:00〜5:00の間getepgを動かさないようにしてみました。これは、効果があるようです。事情により19日間しか確認できませんでしたが、19日間連続稼働しました。放送休止時間帯のegpdumpの動作に問題があるのではないかと思います。

DTP35Wの新型core iシリーズが発表&発売されたので、低消費電力化のために気になっています。
注目している製品
Intel Core i5 2390T
ASUS P8H67-M LE
>> 結局 Core i5 T2390T が待てど暮らせど発売にならなかったので、Core i3 2100T + P8H67-M LE に交換しました。
すると、Video ドライバが未対応だったので、Ubuntu10.10 で再構築しました。

結果、Ubuntu の方が、起動が速く、運用後も長期間安定して動作しています。
  
CentOSのインストールと設定
CentOSは、Red Hat Enterprise Linuxとの完全互換を目指したフリーのLinuxディストリビューションです。
ダウンロードは、http://www.centos.org/からプラットフォームに合わせて、i386版x86_64版をダウンロードしてください。ここでは、CentOS-5.5-X86_64を使用しました。
CentOSのインストールは、GUI環境(GNOMEデスクトップ)を入れました。
CentOSはGUI環境をインストールすると、デフォルトでLVMを構成してくれます。
LVMを構成しておくと後からHDDを追加して録画容量を増やすことができます。
 
LAN経由でサーバーを使用するためのユーザー"EPGrec"を追加しました。
# useradd epgrec
インストール作業中にユーザーを切り替えるのが面倒なので、インストール作業は全て"root"で行いました。
(2010/12/19追記)
NICについて下記の情報を見つけたので、ドライバーを入れ直そうとしましたが、makeエラーになりインストールできませんでした。
CentOSにNICを手動インストールした人は、正しいドライバが入っているかチェックしたほうがよさげ
P7H55-MでNICドライバを再インストールする羽目になりました。
 
サーバー用途ではGUIログインは不要なので、インストール完了後、デフォルトをCUIログインに変更します。
# vi /etc/inittab
id:5:initdefault:  

id:3:initdefault:  
へ変更
必要なときは"startx"コマンドでGUIデスクトップを起動できます。
 
インターネット経由でシステムやソフトの更新や追加を行うので、インターネットに接続してください。
下記のコマンドでネットワーク接続の設定変更ができます。
録画予約ソフトEPGrecはwebブラウザから操作するのでサーバーのIPアドレスは固定しておいた方が楽です。
# system-config-network
 
startxでGNOMEデスクトップを起動し、アプリケーションの追加/削除で、録画サーバーとして必要のないアプリケーションを削除しましょう。誤って、GNOMEデスクトップ環境を削除してしまった場合は、下記のインストールで復活することができます。
# yum groupinstall "X Window System" "GNOME Desktop Environment"
 
不要なアプリケーションの整理が終わったら、yumでOSを最新版に更新しておきましょう。
yumにはたくさんのミラーサーバーがあります。回線速度の速いサーバーを自動的に選択してくれるソフトを入れてからアップデートを実行するとよいでしょう。
# yum install yum-fastestmirror
# yum update
 
録画サーバーは、SSH,telnet.ftp.sambaなどで外部機器と通信する必要がありますが、CentOSはデフォルトでネットワークセキュリティやSELinux設定が有効になっているため、これらの通信ができない場合があります。そのときは下記のコマンドで設定を変更します。
# system-config-securitylevel
 
ネットワーク端末から操作できるようにtelnet-serverをインストールしましょう。
telnet-serverはxinetd上で動作しますのでxinetdと共にインストールします。
# yum install xinetd
# yum install telnet-server
# chkconfig xinetd on
# chkconfig telnet on
# /sbin/service xinetd restart
 
自動的に時計を合わせるため、インターネットのntpサーバーを設定します。
まず、ntpクライアントをインストールします。
# yum install ntp
ntp設定を行います。ntp.confファイルにntpサーバーの設定を追加します。
# vi /etc/ntp.conf
server ntp.server.name  <==サーバーは環境に合わせて設定してください。たいがいプロバイダーが提供しています。
restrict ntp.server.name mask 255.255.255.255 nomodify notrap noquery
ntpサーバーとの通信が有効かどうか確認します。
# ntpq -p
   remote     refid    st t when poll reach delay  offset  jitter
==============================================================================
ntp.server.name xxx.xxx.xxx.xxx  3 u 211 1024 377  31.810  -0.120  1.443
  こんな感じの表示が出ればOK
ntpの自動起動設定とntpdの起動を行います。
# chkconfig ntp on
# /sbin/service ntpd start
 
録画サーバーとして必要のないデーモンを停止しましょう。
# /sbin/service bluetooth stop
# /sbin/service ip6tables stop
# /sbin/service irda stop
# /sbin/service sendmail stop
# chkconfig bluetooth off
# chkconfig ip6tables off
# chkconfig irda off
# chkconfig sendmail off
 
ftpdをインストールしましょう。
# yum install *ftpd*
# chkconfig vsftpd on
# /sbin/service vsftpd start
 
sambaをインストールしましょう。
# yum install samba
 
gccをインストールしましょう。
各種ドライバーをインストールするにはソースファイルのコンパイルが必要です。そして、コンパイルにはgccが必要です。
# yum install gcc
 
PT2のインストール
PT2のドライバーをインストールするにはmercurialが必要ですが、yumではmercurialはインストールできません。
mercurialをインストールするにはRPMForgeリポジトリが必要です。
 
RPMForgeリポジトリをインストールします。
RPMForgeの最新版は"http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/"で確認してください。
# yum install yum-priorities
# wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
# rm RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm
# rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm
RPMForgeはサードパーティのリポジトリなので必要な時以外は使わないようにデフォルトOFFに設定しておきます。
# vi /etc/yum.repos.d/rpmforge.repo
enabled = 0 としておきます。
RPMforgeリポジトリを使いたいときは、下記の様に入力します。
# yum --enablerepo=rpmforge install xxxxxxxx
 
mercurialのインストール
# yum --enablerepo=rpmforge install mercurial
 
PT2カードを挿して、OSからカードが見えているか確認します。
# /sbin/lspci|grep Multimedia
04:01.0 Multimedia controller: Xilinx Corporation Unknown device 222a (rev 01)
04:02.0 Multimedia controller: Xilinx Corporation Unknown device 222a (rev 01)
 の様に表示されればOK
 
PT2のドライバーのインストール
PT2のドライバーは、"http://hg.honeyplanet.jp/pt1"からダウンロードします。
(2010/12/04、最新版"7662d0ecd74b"では問題が起こりました。)
# wget http://hg.honeyplanet.jp/pt1/archive/4d42c5c28557.tar.bz2
# tar -xvf 4d42c5c28557.tar.bz2
# cd pt1-4d42c5c28557/driver
# make

 
(エラーが出ないことを確認してください。)
    makeで

      make -C /lib/modules/`uname -r`/build M=`pwd` V=0 modules
      make: *** /lib/modules/2.6.18-194.xx.x.el5/build: そのようなファイルやディレクトリはありません. 中止.
      make: *** [pt1_drv.ko] エラー 2
    などのエラーが発生する場合は、"kernel-devel"がインストールされていないと思います。
     
yum install kernel-devel で、"kernel-devel"をインストールしてから再度"make"を実行してみてください。
# make install
# insmod /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko

    既に"pt1_drv.ko"がinsmod済みの場合下記のようなエラーが出ます。
     insmod: error inserting '/lib/modules/2.6.18-194.xx.x.el5/kernel/drivers/video/pt1_drv.ko': -1 File exists
    バージョンアップする場合などは、一度"rmmod"で削除してから"insmod"してください。
     rmmod /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko
ドライバーがインストールできたか確認します。
# ls /lib/modules/`uname -r`/kernel/drivers/video/|grep pt1
pt1_drv.ko  と表示されればOK
# ls /etc/udev/rules.d/|grep pt1

99-pt1.rules と表示されればOK
# lsmod | grep pt1
pt1_drv 66988 0 の様に表示されればOK
# ls -l /dev/pt1*
crw-rw-rw- 1 root root 253, 0 7月 9 21:34 /dev/pt1video0
crw-rw-rw- 1 root root 253, 1 7月 9 21:34 /dev/pt1video1
crw-rw-rw- 1 root root 253, 2 7月 9 21:34 /dev/pt1video2
crw-rw-rw- 1 root root 253, 3 7月 9 21:34 /dev/pt1video3
crw-rw-rw- 1 root root 252, 0 7月 9 21:34 /dev/pt1video4
crw-rw-rw- 1 root root 252, 1 7月 9 21:34 /dev/pt1video5
crw-rw-rw- 1 root root 252, 2 7月 9 21:34 /dev/pt1video6
crw-rw-rw- 1 root root 252, 3 7月 9 21:34 /dev/pt1video7
の様に表示されればOK
PT2のドライバーはCentOSのカーネルバージョンフォルダ配下に登録されます。
 従って、カーネルをバージョンアップなどしてカーネルバージョンが変わった場合は再インストールが必要です
 
ICカードリーダーのインストール
ICカードリーダーを接続して、B-CASカードを差し込みましょう。
ICカードリーダーをインストールするにはpcsc-lite、pcsc-perl、pcsc-toolsが必要です。
 
まず、pcsc-liteをインストールします。
# yum install pcsc*
次に、perlをインストールします。
# yum install perl
そして、pcsc-perlとpcsc-toolsをインストールします。
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-perl-*.x86_64.rpm
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-tools-*.x86_64.rpm
# rpm -ivh pcsc-perl-*.x86_64.rpm
# rpm -ivh pcsc-tools-*.x86_64.rpm
 
最後にb25のデコード用プログラムをインストールします。
最新のPT2ドライバにはb25のデコード用プログラムが同梱されていないので少し古めのドライバーをダウンロードします。
# wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2
# tar -xvf c44e16dbb0e2.tar.bz2
# cd pt1-c44e16dbb0e2/arib25
# make
 (エラーが出ないことを確認してください。)
# make install
 
スマートカードリストを更新します。
# mv /usr/share/pcsc/smartcard_list.txt /usr/share/pcsc/smartcard_list.txt.bak
# cp pt1-c44e16dbb0e2/b25_docs/smartcard_list.txt /usr/share/pcsc/
スマートカードが認識されていることを確認します。
# pcsc_scan
      B-CAS   という行が表示されていればOK
[ctrl]+c
 で終了
 
録画用プログラムrecpt1のインストール
# cd pt1-38a793ac3d9d/recpt1
# ./autogen.sh
# ./configure -enable-b25
# make
 (エラーが出ないことを確認してください。)
# make install
# echo "/usr/local/lib" > /etc/ld.so.conf.d/recpt1.conf
# ldconfig
# ldd /usr/local/bin/recpt1
# reboot
 
録画テストを行う
再起動したら、録画できるかテストしましょう。
アンテナを接続してください。(S1=BS/CS、T1=地デジ、S2=BS/CS、T2=地デジ)
recpt1の書式は下記の通りです。
recpt1 --strip --b25 ”録画したいチャンネル” ”録画時間(秒)” ”保存ファイル名”
地域毎のチャンネル番号はマスプロのチャンネル一覧等で確認してください。
(例)30秒間録画してみます。
# recpt1 --strip --b25 37 30 testrec.ts
今までのインストールがうまくいっていれば、"testrec.ts"というファイルができているはずです。
mpeg2ファイルを再生できるソフトで再生してみましょう。再生できればOKです。
※アンテナの入力レベルが不足していると録画されません。
 
EPGrecのインストール
linux用の録画予約のフロントエンドとしてEPGrecをインストールしましょう。
EPGrecのオフィシャルページはここです。
 
EPGrecにはperl-Gtk2が必要です。perl-Gtk2をインストールします。
# yum --enablerepo=rpmforge install perl-Gtk2
 
EPGrecはepgdumpを必要としますので、epgdumpをインストールします。
"epgdump"は地デジデータらEPG番組情報を取り出すプログラムです。EPGrecは"epgdump"で取り出した番組情報をMySQLデータベースに格納して使用します。ここから"epgdumpr2-utf8.tar.gz"をダウンロードして解凍します。
# tar -zxvf epgdumpr2-utf8.tar.gz
コンパイルして、実行ファイルをコピーします。
# cd epgdumpr2
# make
# cp epgdump /usr/local/bin
 
EPGrecは録画予約の実行にatを使いますので、atをインストールします。
# yum install at
EPGrecはユーザーapacheで実行されます。
/etc/at.denyにapacheが登録されていたら削除します。
# vi /etc/at.deny
atdを起動します。
# chkconfig atd on
# /sbin/service atd start
 
apacheがシェルにログインできるようにします。
# vi /etc/passwd
ログインシェルが、
/sbin/nologin 
になっていますので、
 ↓
/bin/bash   
に変更します。
 
EPGrecはいわゆるLAMP環境を要求しますので、httpdMySQL ServerPHP、PHP CLI版をインストールします。
# yum install httpd
# yum install mysql
# yum install mysql-server
# yum install php
EPGrecでは、内部でいくつかのphp拡張パッケージを利用していますので、インストールします。
# yum install php-mysql
# yum install php-mbstring
 
いよいよepgrec本体をインストールします。
EPGrecの最新版をダウンロードし、CentOSへ持っていきます。
(例)http://sourceforge.jp/projects/epgrec/downloads/46492/epgrec-20100322.tar.gz/
# tar xvzpf epgrec-20100322.tar.gz -C /var/www/
/var/www/epgrec/以下に作成されたファイルのパーミッションが下記のようになっているか確認します。
# ls -l /var/www/epgrec
cache/ 777
templates_c/ 777
video/ 777
thumbs/ 777
settings/ 777
その他のディレクトリ 755
do-record.sh* 755
do-record.sh.friio* 755
do-record.sh.test* 755
do-record.sh.pt1* 755
getepg.php* 755
recomplete.php* 755
gen-thumbnail.sh 755
その他のファイル 644など
  
設定ファイル/var/www/epgrec/config.phpを作ります。
# mv /var/www/epgrec/config.php.sample /var/www/epgrec/config.php
# vi /var/www/epgrec/config.php

// 識別子 => チャンネル番号
$GR_CHANNEL_MAP = array(

ここに自分の環境に合わせて、"CH設定名" => "ch番号" の様に設定します。
ch番号はマスプロのチャンネル一覧等を参考にしてください。


);
また、私の場合は"PADDING_TIME"の値を変更しました。
この値は、放送中の番組の録画予約を行ったときの録画開始までの待ち時間になっています。
私は直ぐに録画を開始して欲しかったのでこの値をゼロにしました。
この値を"0"にしても”Reservation.class.php”の中でさらに10秒待つ処理になっています。
define( "PADDING_TIME", 180 );
  ↓
define( "PADDING_TIME", 0 );
 
do-record.shの準備
pt2用のサンプルdo-record.sh.pt1をコピーしてdo-record.shを準備します。
# cp --archive /var/www/epgrec/do-record.sh.pt1 /var/www/epgrec/do-record.sh
# vi /var/www/epgrec/do-record.sh

#!/bin/sh
  ↓
#!/bin/bash  
シェルをbashに変更しておきます。apacheユーザーで設定したシェルに合わせておきます。
  
MySQLデータベースの準備
CentOSとEPGデータは文字コードがUTF-8なので、MySQLでUTF-8が扱えるように設定します。
# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set = utf8      
<== 設定を追加します。

[mysql]                    
<== 設定を追加します。
default-character-set = utf8      
<== 設定を追加します。
MySQLサーバーを起動します。
# chkconfig mysqld on
# /sbin/service mysqld start
EPGrec用のデータベースの作成
データベース名=epgrec、ユーザー名=epgrec、パスワード=epgrecでデータベースを作成する。
# mysql -u root
mysql> show databases;                      <== 登録済みデータベース名を表示する。
mysql> create database epgrec;                 
<== epgrecというデータベースを作成する。
mysql> select user,host,password from mysql.user;     
<== 登録済ユーザ名、パスワードを表示する。
mysql> grant all privileges on *.* to epgrec@localhost identified by 'epgrec';
                       
<== パスワード=epgrecで、ユーザー=epgrec@localhostを登録する。
mysql> exit                
<== mysqlを終了する。
 
httpd(apache)を起動する。
httpdの設定
# vi /etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html"    <== コメント化
DocumentRoot "/var/www/epgrec"   
<== DocumentRootを"/var/www/epgrec"に設定

<Directory "/var/www/epgrec">              
<== 設定を追加
Options FollowSymLinks                    
<== 設定を追加
AllowOverride None                       
<== 設定を追加
Order allow,deny                         
<== 設定を追加
Allow from
xxx.xxx.xxx localhost               <== 設定を追加(xxx.xxx.xxxは自分の環境に合わせる)
DirectoryIndex index.html index.html.var index.php    
<== 設定を追加
</Directory>                           
<== 設定を追加
# chkconfig httpd on
# /sbin/service httpd start
 
ブラウザからEPGrecの初期設定を行う。
ブラウザに録画サーバーのアドレスを入力する。apache(httpd)が正常に動作、設定できていれば、EPGrecの初期設定画面が表示されるはずです。画面の指示に従って設定していきます。
最後にEPGデータの受信を行いますが、放送休止時間帯には受信できませんので、避けた方がいいです。
http://xxx.xxx.xxx.xxx/install/step1.php

EPGrecのインストール状態をチェックします

ディレクトリのパーミッションチェック(777)

/var/www/epgrec/templates_c...777...ok
/var/www/epgrec/video...777...ok
/var/www/epgrec/thumbs...777...ok
/var/www/epgrec/settings...777...ok
/var/www/epgrec/cache...777...ok

ファ イルのパーミッションチェック(755)

/var/www/epgrec/do-record.sh...755...ok
/var/www/epgrec/recomplete.php...755...ok
/var/www/epgrec/getepg.php...755...ok
/var/www/epgrec/storeProgram.php...755...ok
/var/www/epgrec/gen-thumbnail.sh...755...ok

地 上デジタルチャンネルの設定確認

現在、config.phpでは以下のチャンネルの受信が設定されています。受信不可能なチャ ンネルが混ざっていると番組表が表示できません。
  • 物理チャンネル37
  • 物理チャンネル39
  • 物 理チャンネル33
  • 物理チャンネル36
  • 物理チャンネル42
  • 物理チャンネル43
  • 物 理チャンネル45

以上を確認し次の設定に進む

 
http://xxx.xxx.xxx.xxx/install/step2.php
システム設定を行います。このページの設定が正しく行われないとEPGrecは機能しません。

MySQLデータベース設定

MySQLホスト名

MySQLサーバーのホスト名を入力してください。

MySQL接続ユーザー名

MySQLサーバーの接続に使用するユーザー名を入力してください。

MySQL接続パスワード

MySQLサーバーの接続に使用するパスワードを入力してください。

使用データベース名

使用するデータベース名を設定します。設定するデータベースは接続ユーザーがテーブルの作成等を行う権限を 持っている必要があります。

テーブル接頭辞

テーブル名の冒頭に追加する接頭辞です。epgrecの再インストールを旧テーブルを使用せずに行うような ケースを除き、デフォルトのままで構いません。

インストール関連設定

インストールURL

epgrecをLAN内のクライアントから参照することができるURLを設定します。 http://localhost…のままで利用することも可能ですが、その場合はビデオの視聴等がサーバー上でしかできないなどの制限が生じます。

録画保存ディレクトリ

録画ファイルを保存するディレクトリを/var/www/epgrecからの相対ディレクトリで設定します。 先頭に/が必ず必要です。設定するディレクトリには十分な空き容量があり、書き込み権が必要です。また、URLで参照可能なディレクトリなディレクトリを 設定しないとASFによる録画の視聴ができません。デフォルトは/video(つまり/var/www/epgrec/video)で、とくに問題がなけ ればデフォルトを推奨します。

サムネールの使用

録画済み一覧にサムネールを入れるかどうかを設定します。サムネールを利用するにはffmpegが必要です。 ffmpegをお持ちでない方は「使用しない」を設定してください。

ffmpegのパス

サムネール作成に使うffmpegのパスを設定します。フルパスを設定してください。

サムネール保存ディレクトリ

サムネールを保存するディレクトリを/var/www/epgrecからの相対パスで設定します。設定の方 法、条件は録画保存ディレクトリと同様です。

EPG取得用テンポラリファイルの設定

EPG取得に用いる録画データとXMLデータのパスを設定します。通常、この設定を変える必要はありません が、/tmpに十分な空き容量(500MB程度)がない環境では異なるパスを設定してください。パスはWebサーバーから書き込み可能になっている必要が あります
録画データ:
XMLファイル:

使用コマンドのパス設定

epgrecが内部的に使用するコマンドのパスを設定します。ほとんどの場合、設定を変える必要はないはずで す。
epgdump:
at:
atrm:
sleep:

 
http://xxx.xxx.xxx.xxx/install/step3.php
環境設定を行います。これらの設定はデフォルトのままでも制限付きながら動作します。

デジタルチューナー設定

地デジチューナーの台数

サーバーに接続されている地デジチューナーの台数を設定してください。地デジチューナーを持っていない場合、 0にします。

BSチューナーの台数

サーバーに接続されているBSチューナーの台数を設定してください。BSチューナーを持っていない場合、0に します。

CS録画の有無

この設定を「行う」にするとCS放送を加味した動作となります。CS放送を使用しない方は「使わない」に設定 してください。

録画関連設定

録画開始の余裕時間(秒)

epgrecは番組開始時間より早く録画を開始します。どのくらい録画開始を早めるかを秒で設定してくださ い。早める時間を短くしすぎると、番組冒頭がとぎれる恐れがあります。設定できる時間は0秒以上180秒未満です。

録画時間を長めにする

下の欄に0以上の秒数を設定すると、すべての番組に対して設定した秒数分だけ録画時間を延ばします。この設定 は「連続した番組の予約」設定と相性が良くありません。0以外の秒を設定する場合、連続した番組の予約が行いづらくなることに注意してください。推奨値は 0です。

連続した番組の予約

この設定を「行う」にするとepgrecが自動的に直前の時間に予約されている番組の録画時間を短縮して時間 が連続している番組の予約を可能にします。録画時間を短縮する時間は「録画開始の余裕時間」+「録画コマンドの切り替え時間」です。この機能を使って連続 した番組を予約する場合、前の時間の番組の最後がとぎれる可能性がありますが、チューナーが1台しか無くてもキーワード自動録画による連続した番組の予約 が可能になります。メリットとデメリットをよく考えて設定してください。

録画コマンドの切り替え時間

連続した番組を予約するとき、録画が終了して次の録画を開始するまでの余裕時間(秒)を設定します。1以上の 秒数を設定してください。設定する秒数が短いほど録画時間を短縮する時間が短くなりますが、この時間を短くしすぎると連続した番組の予約に失敗する恐れが あります。失敗するかどうかは使用している録画コマンドやチューナーに依存します。

優先する録画モード

キーワード自動録画や簡易録画を行う番組の録画モードを設定します。config.php の$RECORD_MODEに複数の録画モードを登録し、do-record.shをカスタマイズているのであれば、その録画モードを優先して利用できま す。キーワード自動録画はキーワード登録時に録画モードを設定することもできます。デフォルトはモード0です。

mediatomb連係機能

この設定を「使う」にすると録画した番組のタイトルと概要をmediatombに反映させます。 mediatombを使用していない方は「使わない」に設定してください。なお、この設定を利用するにはmediatomb側の設定も必要になります。詳 しくはドキュメントを参照してください。

録画ファイル名の形式

epgrecは録画ファイル名をカスタマイズすることができます。下の欄にファイル名のフォーマットを記入し てください。フォーマットに使用できる特殊文字列は以下の通りです。
特殊文字列 置換後の内容
%TITLE% 番組タイトル
%ST% 開始日時(ex.200907201830)
%ET% 終了日時(同上)
%TYPE% GRまたはBS
%CH% チャンネル番号
%DOW% 曜日(英3文字Sun-Mon)
%DOWJ% 曜日(漢字1字日-土)
%YEAR% 開始年
%MONTH% 開始月
%DAY% 開始日
%HOUR% 開始時
%MIN% 開始分
%SEC% 開始秒
%DURATION% 録画時間(秒)
たとえば、

%YEAR%年%MONTH%月%DAY%日%HOUR%時%MIN%分%SEC%秒_%TYPE%%CH%_%TITLE%

と 設定すると

2009年07月15日12時49分16秒_GR21_番組タイトル.ts

というような形式の録画ファイルが生成されま す。%TYPE%や%CH%などを混ぜ、異なる番組に同じ録画ファイルが生成されないよう注意してください。なお、ファイルシステムがUTF-8以外の文 字コードで、ファイル名に日本語を交ぜる場合、config.php内の定数FILESYSTEM_ENCODINGに文字コードを設定することができま す。ただし、UTF-8以外の文字コードはテストを行っていないため推奨しません。

番組表表示設定

以下の設定は実際に利用して様子を見ながら設定した方がいいでしょう。

ページに表示する番組表の長さ(時間)

1ページに表示する番組表の長さを時間で設定します。標準は8時間分です。

1局あたりの幅

番組表の1局当たりの幅をピクセル数で設定します。標準は150ピクセルです。

1時間あたりの高さ

番組表の1時間あたりの高さをピクセル数で設定します。標準は120ピクセルです。なお、60で割り切れない ピクセル数を指定するとFirefoxを除くブラウザでは番組の高さが揃わなくなり見た目が悪くなるかもしれません。これはFirefox以外のブラウザ では実数のピクセルを正しくレンダリングしないためです。


 
http://xxx.xxx.xxx.xxx/install/step4.php

初期設定が完了しました。下のリンクをクリックするとEPGの初回受信が始まります。 EPGの受信には20〜50分程度はかかります。初回受信が終了するまで番組表は表示できません。

EPG受信後、/etc/cron.d/以下にcronによるEPG受信の自動実行を設定する必要があります。 Debian/Ubuntu用の設定ファイルは/var/www/epgrec/cron.d/getepgです。Debian/Ubuntuをお使いの 方は

$ sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/ [Enter]

という具合にコピーするだけで動作するでしょう。それ以外のディストリビューションをお使いの方は Debian/Ubuntu用の設定ファイルを参考に、適切にcronの設定を行ってください。

なお、設定ミスや受信データの異常によってEPGの初回受信に失敗すると番組表の表示はできません。 設定ミスが疑われる場合、インストール設定を 実行し直してください。 また、手動でEPGの受信を試みるのもひとつの方法です。コンソール上で、

$ /var/www/epgrec/getepg.php [Enter]

と実行してください。 このリンクをクリックするとEPGの初回受信が 始まります

 
http://xxx.xxx.xxx.xxx/install/step5.php
初期設定が終了するとEPGデータの受信が始まります。
初めてのEPGデータの受信には20分から50分かかります。
EPGデータの受信が完了するとトップページへのリンクが表示されるのでトップページへ戻りましょう。
番組表が表示されればEPGデータの受信は成功です。
InternetExplorerを使っていて、番組表表示動作が遅いと感じたら、MozillaFirefoxなどを試してみてください。
 
録画モード「Minimum TS」について (2011/03/26追加)
録画モードで「Minimum TS」を使う場合、テレビ朝日の録画が失敗する場合があります。これは、テレビ朝日が他の局と違うデータの送り方をしているためと、recpt1がテレビ朝日のデータ送信方法に対応できていないからです。このため、現状では、テレビ朝日番組は「Minimum TS」録画は行わない様にするしかありません。この設定をその都度手動で変更するのは面倒なので、"do-record.sh"を下記のように変更しておきます。表示上の録画モードは「Minimum TS」のままですが、録画は「Full TS」で実行されます。
(2011/04/17追記) テレビ東京も「Minimum TS」で不具合が出るので条件に追加しました。
#!/bin/bash
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"
echo "SID  : $SID"

RECORDER=/usr/local/bin/recpt1

# fail safe
case $CHANNEL in
    101|102|191|192|193)
        if [ $SID = 'hd' ]; then
            SID=$CHANNEL
        fi ;;
esac
if [ -z $SID ]; then
    SID='hd'
fi

if [ ${MODE} = 0 ]; then
   # MODE=0では必ず無加工のTSを吐き出すこと
   $RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
elif [ ${MODE} = 1 ]; then
   if [ ${CHANNEL} = "43" ] || [ ${CHANNEL} = "45" ]; then
       # テレビ朝日とテレビ東京はFullTS
       $RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
   else
       # 目的のSIDのみ残す
       $RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} >/dev/null
   fi

# mode 2 example is as follows
#elif [ ${MODE} = 2 ]; then
#   $RECORDER $CHANNEL $DURATION ${OUTPUT}.tmp.ts --b25 --strip
#   ffmpeg -i ${OUTPUT}.tmp.ts ... 適当なオプション ${OUTPUT}
fi
録画モードは「予約カスタマイズ」や録画キーワード設定時の「録画モード」で設定できますが、デフォルトの録画モードを「Minimum TS」にする場合は、「環境設定」→「優先する録画モード」で変更します。
 
EPGデータの受信をスケジュール化しましょう。a
まず、サンプルファイルを編集します。
# vi /var/www/epgrec/cron.d/getepg
SHELL=/bin/sh
  ↓
SHELL=/bin/bash    
<== シェルを変更します。

29 */2 * * * www-data /var/www/epgrec/getepg.php
          ↓
29 */2 * * * apache /var/www/epgrec/getepg.php   
<== ユーザーを変更します。CentOSでは、apacheにします。
ファイルをコピーしてパーミッションを設定します。
※cron.dに設定したファイルのパーミッションは644にすることが必要です。
  ↑私はここではまりました。
   getepgのデフォルトのパーミッションは755ですが、そのままではEPGデータの取得ができませんでした。
   /etc/cron.d/配下に置くファイルが実行可能パーミッションを持っているとcronがエラーを起こします。
   cronのログは/var/log/cronで確認できます。
# cp /var/www/epgrec/cron.d/getepg /etc/cron.d/
# chmod 644 /etc/cron.d/getepg
 
ファイル名に使用される文字コードに関する対応
EPGデータは文字コードにUTF-8が使われていて、録画ファイル名に番組名を入れている場合、ファイル名にs-jisでは処理できないUTF-8専用の文字が含まれてしまうことがあります。CentOSもMySQLも文字コードがUTF-8なのでEPGrec自体で問題が発生することはありませんが、ファイル名にUTF-8専用の文字コードを含んだ録画ファイルをWindowsPCで再生しようとするとファイル名が処理できないために再生ができません。この問題を解決するため、録画ファイル名を生成するプログラムを変更して、ファイル名にUTF-8専用の文字コードが使われないようにしてみました。
この作業を行うためには、文字コードUTF-8を編集できるエディタが必要です。
ファイル"/var/www/epgrec/Reservation.class.php"をUTF-8の編集が可能なエディタで開きます。
// あると面倒くさそうな文字を全部_に の部分に追加
$filename = preg_replace("//u","〜", trim($filename) );
$filename = preg_replace("//u","-", trim($filename) );
※UTF-8の文字はWindowsのキーボードからは入力できませんので、番組表などからコピーして持ってきます。
 
sambaの起動
WindowsPCなどにファイル共有サービスを提供するサービスを設定します。
# yum install samba
# smbpasswd -a epgrec
New SMB password:
Retype new SMB password:
Added user epgrec.

# vi /etc/samba/smb.conf

workgroup = 自ワークグループ名       <== 設定変更
server string = epgrec              
<== 設定変更
load printers = no                 
<== 設定変更

[EPGREC]                      
<== 設定追加(Windowsから見たときの表示フォルダ名)
path = /var/www/epgrec/video        
<== 設定追加(録画ファイル保存フォルダ)
browseable = yes                 
<== 設定追加(共有フォルダを見えるようにする)
guest ok = yes                   
<== 設定追加
sambaサーバーを起動します。
# chkconfig smb on
# /sbin/service smb start
 
録画ファイルの自動削除
ディスク容量が満杯になると予約していても新たな録画ができなくなります。
いちいちファイルを削除するのは面倒なので、ディスクの容量が一定量を超えたら古いファイルから順に自動的に削除するスクリプトを作成してみました。私はサムネイルは使っていないのでサムネイルの削除には対応していません。
/var/www/cgi-bin/filemanage.shという名前で下記のようなファイルを作りました。(2011/03/19更新)
#!/bin/bash
#
# filemanage.sh 2011.03.19
# ディスク使用率がLIMIT以上になったら
# 古い順に録画ファイルを自動的に削除する。
#

# 多重実行防止
SEM=${TMPDIR:-/tmp}/`basename $0`
ln -s /dummy $SEM 2> /dev/null || exit
trap "rm $SEM" EXIT

LIM=95
EPGRECHOME="/var/www/epgrec"
CONF=`grep '<spool>' ${EPGRECHOME}/settings/config.xml`

# 設定ファイルから録画pathを取得する→DFPATH
DFPATH=${EPGRECHOME}`expr ${CONF} : '.*<spool>\(.*\)</spool>'`

# 現在のディスク使用率を取得する→$NOW
NOW=`df ${DFPATH}|tail -1|awk '{print $(NF-1)}'|sed s/%//`

# ディスク使用率がLIMIT以上ならループに入る
while [ $NOW -ge $LIM ]; do

  # 一番古いファイルを削除する
  FILEFULL=`ls -1rt ${DFPATH}/*.ts|head -1`
  rm -f ${FILEFULL}

  # データベースからデータを削除する
  FILE=\"`basename \"${FILEFULL}\"`

  echo 'use epgrec;' >sqlcmd
  echo -n 'delete from Recorder_reserveTbl where complete=1 and path=' >>sqlcmd
  echo "${FILE};" >>sqlcmd
  mysql --user=epgrec --password=epgrec <sqlcmd

  # ディスク使用率を取得する
  NOW=`df ${DFPATH}|tail -1|awk '{print $(NF-1)}'|sed s/%//`

done
このファイルを/etc/cron.d/getepgに下記のように登録しました。
00 * * * * root batch -f /var/www/cgi-bin/filemanage.sh
"batch"コマンドを使うとCPU使用率が低くなるのを待ってから実行されるので、他の処理への影響を抑えられます。
 
以上で録画サーバーは完成です。
 
録画に失敗して残ってしまった録画予約の削除
(2010/10/16追記) EPGrecは何らかの理由で録画に失敗すると"complete=0"のまま、予約がデータベースから削除されずに8日残ってしまうので、そういう不要な過去の録画予約を削除するスクリプトを作ってみました。これをcronに登録すれば不要になった過去の予約を自動的に削除してくれます。
録画が完了していない予約の録画終了日時が、スクリプト実行の1時間前より古い録画予約を削除します。尚、録画したファイルは削除しません。
(2011/12/11更新)
/var/www/cgi-bin/deloldreserve.shという名前で下記のようなファイルを作りました。
#!/bin/bash
#録画に失敗して残ってしまった過去の録画予約をデータベースから削除するスクリプト

#今から1時間前の日時を判定値とする
TD=`date -d '60 min ago' +"%Y-%m-%d %H:%M:%S"`

echo 'use epgrec;'                                                               >sqlcmd2
echo 'delete from Recorder_reserveTbl where complete=0 and endtime<"'${TD}'";'  >>sqlcmd2

mysql --user=epgrec --password=epgrec <sqlcmd2

exit
"deloldreserve.sh"を/etc/cron.d/getepgに"batch"コマンドで登録しました。
00 0 * * * root batch -f /var/www/cgi-bin/deloldreserve.sh
"batch"コマンドを使うとCPU使用率が低くなるのを待ってから実行されるので、他の処理への影響を抑えられます。
 
録画ファイルの再生について
録画したファイルは、市販のネットワークメディアプレイヤーやWindowsPCなどでサーバーの共有フォルダに接続して再生することができますが...。
再生環境の構築はこちら
 
LVMにHDDを増設して容量を拡大する。
LVM(Logical Volume Manager)を使うと複数のHDDに作成したパーティションを繋ぎ合わせて一つの論理ボリュームとして使用することができます。

まず、追加のHDDを取り付けて再起動します。
再起動後ハードディスクの状態を確認します。
# fdisk -l
Disk /dev/sda: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14      243201  1953407610   8e  Linux LVM

Disk /dev/sdb: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdb は正常な領域テーブルを含んでいません
追加したHDDが/dev/sdbとして認識されています。
/dev/sdbにパーティションを作成します。
# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって正常になります
コマンド (m でヘルプ): n  ← n入力(新規パーティション作成)
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p  ← p入力(基本領域作成)
領域番号 (1-4): 1  
← 1入力(領域番号=1)
最初 シリンダ (1-243210, default 1):  
← [enter]入力(先頭を指定)
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-243210, default 243210):  ← [enter]入力(終端を指定)
Using default value 243210
コマンド(mでヘルプ): t   ← t入力(システムID設定へ)
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 8e  ← 8e入力(LVMシステムID=8eを設定)
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): p  ← p入力(パーティション情報を表示)
Disk /dev/sdb: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      243201  1953512001   8e  Linux LVM
コマンド (m でヘルプ): w  ← w入力(設定した情報を書き込んでfdiskを終了)
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
作成したLVMパーティションでPV(Phisical Volume)を作成する。
# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
作成したPVを確認する。
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup00
  PV Size               1.82 TB / not usable 8.62 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              59613
  Free PE               0
  Allocated PE          59613
  PV UUID               Jaf2fr-uKp1-PU5w-KeJV-Xauq-2Kss-coiswa

  "/dev/sdb1" is a new physical volume of "1019.72 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               1.82 TB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               liQVoJ-2tTA-11g4-dxe9-Heo6-Y9jj-25QSHj
作成したPVをVG(Volume group)へ登録する。
# vgextend VolGroup00 /dev/sdb1
  Volume group "VolGroup00" successfully extended
作成したVGを確認する。
# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.64 TB
  PE Size               32.00 MB
  Total PE              119229
  Alloc PE / Size       59613 / 1.82 TB
  Free  PE / Size       59616 / 1.82 TB
  VG UUID               EoDTRY-GBqE-vJr5-Rwx5-XIW7-Gmjk-nMFpKi
Free PE / Size が空き容量を示しています。
LV(Logical volume)に空き容量(32MBx59616=1907712MB)を追加する。
# lvextend -L +1907712M /dev/VolGroup00/LogVol00
  Extending logical volume LogVol00 to 3.64 TB
  Logical volume LogVol00 successfully resized
拡大したLVを確認する。
# lvdisplay /dev/VolGroup00/LogVol00
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                v4tzip-dnEc-1gfg-klEI-QPGn-Bv38-O81KG2
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                3.64 TB
  Current LE             119115
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
変更後のVGを確認する。
# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.64 TB
  PE Size               32.00 MB
  Total PE              119229
  Alloc PE / Size       119229 / 3.64 TB
  Free  PE / Size       0 / 0
  VG UUID               EoDTRY-GBqE-vJr5-Rwx5-XIW7-Gmjk-nMFpKi
空き容量(Free PE / Size)がゼロになっています。
最後にファイルシステムをリサイズします。
容量が大きい場合、かなりの時間を必要とします。
# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1953512001 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 1953512001 blocks long.
ファイルシステムサイズの変更が完了したら"df"で空き容量を確認してください。

目次へ
ホームへ戻る
 
 

参考になるサイト
tadachi-net 出張所 CentOS5.4サーバ機にPT2を入れて地デジ録画サーバにする:
tadachi-net 出張所 CentOS5.4録画サーバ機にEPG対応録画フロントエンド(epgrec)を入れる:
tadachi-net 出張所 PT2で録画したMPEG2-TSファイルの再生環境について&録画鯖の話:
CentOS 5.4にPT2を導入する。 - fujitaka’s lifelog
Linuxで作る地デジ録画サーバー(PT2)編 その2 - 男のロマン〜自宅サーバ編〜 - Yahoo!ブログ
CentOSでホームサーバを作ろう - PT2を使って録画する(準備編)
トップページ - 録画予約システムepgrec
LVMにハードディスク追加
LVMに論理ボリューム追加
LVMの論理ボリュームサイズ縮小
LVMの論理ボリュームサイズ拡大
 
 
PCIスロットを2本もっているMicroATXのH55チップのマザーボード
ASRock H55M-LE
ASRock H55M-GE
ASUS P7H55-M
ASUS P7H55-M PRO
ASUS P7H55D-M PRO
ASUS P7H55D-M EVO
BIOSTAR TH55B HD
BIOSTAR TH55 HD
BIOSTAR TH55XE
GIGABYTE GA-H55M-S2H
GIGABYTE GA-H55M-UD2H
GIGABYTE GA-H55M-USB3