Turbolinux×舞-HiME

 舞-HiME/舞-乙HiME関連のためにTurbolinux FUJIでいろいろやってますw
 せっかく大金はたいて買ったDVDに傷つけたくないしDVD持ち歩くのマンドクセーので、これらのDVDをISOイメージ化しようというわけで。
 Turbolinuxで市販DVDをISOイメージ化してみようー。


 Turbolinuxで市販DVDをISOイメージ化するには、libdvdcss、libdvdread、dvdbackup他、俺が9月2日に作った関連ゴミパッケージも必要となります。
 あ、そうそう、俺が作ったこのパッケージにはバイナリで配布すると日本の決まりごとで後ろに手が回っちゃうものもあるらしいので以下略。GPLやLGPLを盾に「公開しろや」と要求する方はそれ以前に国内法からボクの身の安全を確保して下さいっていうかそういう方は自分でパッチ作るなり依存関係解消するなりしてどうにかしてねw
 要望あればspecの編集終了後にnosrc.rpmを公開しますけど。。。
 もっとも俺ビルドのパケジはTurbolinux標準だと絶対にビルドできないので、こまりますw
 あと、市販DVDのバックアップのさいにlibdvdcssつかったりしますがこれは「コピープロテクト解除」ではなく「アクセスコントロールの回避」であり著作権法や不正競争防止法などの隙間を突いたもので、現状で法解釈がグレーなようです。ボクのこの記事はレンタルDVDのバックアップを推奨しているものではなく、あくまで自分で買ってきたDVDを「コンテンツ内容の同一性を保持したまま」バックアップする方法のメモなのでそこんとこ4649。
 おれのものはおれのものw
 おまえのものもおれのもの(ぇ
 剛田izm(ジャイアニズム)ですかそうですか(;_;)
 じゃあDVDをISOイメージにしてみようー。
 まずはデバイスの確認だ。dmesg と /dev 配下のスペシャルキャラクタデバイスを確認しようね。

$ ls -ltr /dev | grep hda | grep dvd
lrwxrwxrwx 1 root root 3 9月 2 00:57 dvdrw -> hda
lrwxrwxrwx 1 root root 3 9月 2 00:57 dvd -> hda

 ThinkPad X60では /dev/hda がdvdデバイスになっているね。
 次、しっかり必要なRPMパッケージが導入されていることを確認しよう。

$ rpm -qa | grep dvd
dvd+rw-tools-5.21.4.10.8-2
libdvdcss-1.2.8-4.1
libdvdcss-devel-1.2.8-4.1
powerdvd-3.00-10
libdvdread-devel-0.9.4-3
libdvdread-0.9.4-3
dvdbackup-0.1.1-0.0

 libdvdcssとlibdvdreadとdvdbackupが入っているのを確認したかな。
 よーし、いいこだ。
 次はホームディレクトリ直下にバックアップ先のディレクトリをつくろう。

$ mkdir ~/dvd_backup

 ちょwwwwこれだけw
 はい、んでは、舞-HiMEのDVD第一巻をThinkPadのDVDドライブにインサートして、dvdbackupフォー!
 しばらく放置プレイ。

$ dvdbackup -M -i /dev/dvd -o ~/dvd_backup -n MAI_HIME_01
libdvdread: Using libdvdcss version 1.2.8 for DVD access
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x0000011e
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00000143
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0000c86b
libdvdread: Elapsed time 0
libdvdread: Found 1 VTS’s
libdvdread: Elapsed time 0
・・・

 どれどれ、ファイルができているかどうか確認だ。

$ ls -ltr ~/dvd_backup/MAI_HIME_01/VIDEO_TS
合計 457900
-rw-r–r– 1 administrator administrator 53248 9月 3 00:58 VTS_01_0.IFO
-rw-r–r– 1 administrator administrator 53248 9月 3 00:58 VTS_01_0.BUP
-rw-r–r– 1 administrator administrator 10240 9月 3 00:58 VIDEO_TS.VOB
-rw-r–r– 1 administrator administrator 12288 9月 3 00:58 VIDEO_TS.IFO
-rw-r–r– 1 administrator administrator 12288 9月 3 00:58 VIDEO_TS.BUP
-rw-r–r– 1 administrator administrator 104415232 9月 3 00:58 VTS_01_0.VOB
-rw-r–r– 1 administrator administrator 363855872 9月 3 00:59 VTS_01_1.VOB
・・・

 できてるみたいだね。
 コンソールにプロントが戻ってきたらおkだ。
 つぎ、吸い出したファイルをイメージ化するぞ。
 あ、ディレクトリが違ってるのは、X60のファイルシステムに空きが無くなったから待避させたw
 100GBの内蔵ディスクを使い切るのもはやいもんです。うん。

$ mkisofs -udf -dvd-video -o \
> /mnt/B200P0_sdf1/dvd_backup/MAI_HIME_01.iso \
> /mnt/B200P0_sdf1/dvd_backup/MAI_HIME_01/
0.27% done, estimate finish Sun Sep 3 01:32:36 2006
0.53% done, estimate finish Sun Sep 3 01:32:36 2006
0.80% done, estimate finish Sun Sep 3 01:34:41 2006
1.06% done, estimate finish Sun Sep 3 01:34:09 2006
1.33% done, estimate finish Sun Sep 3 01:33:51 2006
1.60% done, estimate finish Sun Sep 3 01:34:41 2006
1.86% done, estimate finish Sun Sep 3 01:34:23 2006
2.13% done, estimate finish Sun Sep 3 01:34:09 2006
2.40% done, estimate finish Sun Sep 3 01:34:41 2006
2.66% done, estimate finish Sun Sep 3 01:34:28 2006
・・・
97.15% done, estimate finish Sun Sep 3 01:36:42 2006
97.41% done, estimate finish Sun Sep 3 01:36:42 2006
97.68% done, estimate finish Sun Sep 3 01:36:41 2006
97.95% done, estimate finish Sun Sep 3 01:36:41 2006
98.21% done, estimate finish Sun Sep 3 01:36:41 2006
98.48% done, estimate finish Sun Sep 3 01:36:40 2006
98.74% done, estimate finish Sun Sep 3 01:36:41 2006
99.01% done, estimate finish Sun Sep 3 01:36:41 2006
99.28% done, estimate finish Sun Sep 3 01:36:41 2006
99.54% done, estimate finish Sun Sep 3 01:36:42 2006
99.81% done, estimate finish Sun Sep 3 01:36:41 2006
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 2048
Path table size(bytes): 26
Max brk space used 21000
1878590 extents written (3669 MB)

 あ、そうそう。
 これ仕様かどうかわかんないんだけどさ、イメージが4.3GB超える(いわゆる2層のDVD)と「-dvd-video」オプション使えないんだ。
 そのときは「-dvd-video」オプション外すといいぞ。-dvd-video オプションなしのイメージは少なくともLinuxでは再生できることが確認できてるから実害ないよ。
 別に俺しか使わないんだし、そもそもWindowsでこのイメージ使えなくたって死なないしねw
 お、ISOイメージができた。
 じゃあさっそく確認してみよう。

$ ls -l /mnt/B200P0_sdf1/dvd_backup/
合計 3760860
drwx—— 3 administrator administrator 4096 9月 3 00:58 MAI_HIME_01/
-rw-rw-r– 1 administrator administrator 3847352320 9月 3 01:36 MAI_HIME_01.iso

 キター!!!1w
 んでわ、kaffeine(a.k.a. TurboMediaPlayer)で再生してみよう。
 kaffeineではいちいちマウントせずとも以下の方法で直接ISOイメージを再生できるのがいいね。
 mplayerでもできるけどw

$ kaffeine dvd:/mnt/B200P0_sdf1/dvd_backup/MAI_HIME_01.iso


 舞-HiME ISO、kaffeineで再生キター!www
 んで、次々とISOイメージを作成すると当然ディスクが圧迫される訳で、この巨大ファイルをなんとかせねばならんのだ。
 将来的にはIBM Tivoli Storage Manager(TSM)使って仮想テープサーバ(VTS)でも作ろうかなと思ってるんだけど、LTOライブラリとTSMの入手がまだなので、暫定的にDDS-4にバックアップしよう。
 というわけで、DDS-4をTurbolinuxで使うわけだが、そもそもThinkPad X60にDDS-4つなげる手段が今のところないwwww
 USBのDDS装置なんて軟派なもん俺は持っていないしなwww
 で。

舞-HiME DVDイメージバックアップ真打登場!w


 PowerPC 604e 375MHz搭載のAIXが稼動するテープ装置wwwww
 人はこいつをIBM RS/6000 7043-150と呼ぶw
 mksysbからAIXリストアすんのめんどかったので、キッチンのHACMPクラスタぶっ壊して持ってきたw
 俺は目的のためならOSもプラットフォームもアーキテクチャも選ばんw
 格納先はDDS4だけど(;_;)
 あわれw

 ThinkPad T43pをThinkPad Dockに装着し、バッキャローの外付けDVD±R/±RDL/±RWとUSBの200MBのディスクをぶら下げた。
 T43pには書き込み可能なDVD装置が内蔵されているが、これを吸出しや書き込みに頻要して壊れた場合泣けるので、ぶっ壊れても痛くないドライブを狩ってきたわけだ。
 T43pはTurbolinux FUJIで稼動、DVDのISO化や動画のエンコードを行うほか、NFSサーバとして稼動する。
 一方RS/6000 43P 7043-150はThinkPad T43pからNFS経由でISOイメージをDDS4に吸い上げる。
 なお、T43pもRS/6000もローカルログオンは一切せず、ThinkPad X60からssh/telnetですべての操作を行う。
 2つの「43p」がちょうどいい感じでまとまったのでうれしい。
 じゃあDDSに吸い上げいってみよー。
 ここではNFSサーバがTurbolinux、NFSクライアントがAIXでやります。
 Turbo側では /etc/exports、/etc/hosts.allow、/etc/hosts.deny を設定して exportfs -a やってnfsd再起動。
 AIX側ではsmitty nfsでnfsの設定してね。
 準備できたからテープで舞-HiME吸い上げるぜwwww
 あ、そうそう。
 AIX側では明示的にnfs ver2使わないとダメ。明示的に指定しないとver3を使うようなんで。

[root@mhudbs01a:/] mount -o rsize=1024,wsize=1024,vers=2,proto=udp 172.31.12.10:/mnt/B200P0_sdb1 /mnt
[root@mhudbs01a:/] mount
node mounted mounted over vfs date options
——– ————— ————— —— ———— —————
/dev/hd4 / jfs Sep 07 10:55 rw,log=/dev/hd8
/dev/hd2 /usr jfs Sep 07 10:55 rw,log=/dev/hd8
/dev/hd9var /var jfs Sep 07 10:55 rw,log=/dev/hd8
/dev/hd3 /tmp jfs Sep 07 10:55 rw,log=/dev/hd8
/dev/hd1 /home jfs Sep 07 10:56 rw,log=/dev/hd8
/proc /proc procfs Sep 07 10:56 rw
/dev/hd10opt /opt jfs Sep 07 10:56 rw,log=/dev/hd8
/dev/home_ibm /home/ibm jfs Sep 07 10:56 rw,log=/dev/hd8
/dev/home_admin /home/admin jfs Sep 07 10:56 rw,log=/dev/hd8
172.31.12.10 /mnt/B200P0_sdb1 /mnt nfs Sep 07 13:54 rsize=1024,wsize=1024,vers=2,proto=udp

 よし、NFSマウントでT43pのExt3ファイルシステムをマウントしたぞ。
 あ、AIX側でもういっちょ設定をば。
 AIX側でJFS2でなくてJFS使うと2GBのファイルサイズ制限があるのでそれ解除すべし。

—————————-
/etc/security/limits
default:
fsize = 2097151 <<-- これを「-1」に。 core = 2097151 cpu = -1 data = 262144 rss = 65536 stack = 65536 nofiles = 2000

 てかJFSなAIXでLinuxのExt3をNFS Ver2でマウントかけた場合で、NFSマウント先のファイルが4GB越えてた場合って、ファイルサイズおかしく見えたりすんのかな?
 今までAIXでこんなことやったことないし、tarでこんなでかいファイルをバックアップしたことないからわかんないお;;

[root@mhudbs01a:/] tar cvf /dev/rmt0 /mnt/MAI_HIME_*

 とりあえずとれた。

[root@mhudbs01a:/mnt/dvd_backup] tar tvf /dev/rmt0
-rw-rw-r– 501 501 2713204736 Sep 03 23:03:31 2006 MAI_HIME_00.iso
-rw-rw-r– 501 501 3847352320 Sep 03 01:36:42 2006 MAI_HIME_01.iso
-rw-rw-r– 501 501 1365014528 Sep 03 13:11:07 2006 MAI_HIME_02.iso

 でも、表記サイズおかしいし。
 一回リストアしてみっか。。。

[root@mhudbs01a:/mnt/test] tar xvf /dev/rmt0 MAI_HIME_00.iso
x MAI_HIME_00.iso, 2713204736 バイト, 5299228 メディア・ブロック。
tar: 0511-197 MAI_HIME_00.iso: tar コマンドで抽出されたデータを書き込めません:
ファイルは ulimit によって設定された値より大きくできません。

 畜生ォォォォ!
 /etc/security/limits 書き直してやりなおしじゃ!
 tarがダメだったらbackupつかうか。
 AIXでのリストアが前提になるけど。。。
 たかが舞-HiMEでUnixの話になるってのも変な話だなw
 とりあえずulimit設定。

[root@mhudbs01a:/] ulimit
unlimited

 よし、もっかい。

tar: 0511-197 MAI_HIME_00.iso: tar コマンドで抽出されたデータを書き込めません:
システム・コールが、無効なパラメーターを受け取りました。

 貴様・・・私をバカにしているな?

$ ls -ltr
total 2099204
-rw-rw-r– 1 4294967294 4294967294 2147481088 Sep 7 00:51 MAI_HIME_00.iso

 2GBまでリストアした段階でぽしゃってる。
 なるほど。
 じゃあTurbolinux側でsplitで2GBのファイルに分割してAIX側でbackupコマンド使えば絶対に大丈夫だな。
 今日の所はここまでにしておいてやる。
 次はおぼえてろよw(悪役風)
 気を取り直して。
 まあテープにとれることはわかったので、Linuxで音声を編集するツール「audacity」と動画編集ツール「avidemux」のパッケージを作成してみたおb
 あとそれに付随するものをちまちま。
 wxGTKは新しいのだとエラーでるので古いやつにしたら問題なく動いた。
 折を見て修正予定。
 つうわけで。

libsndfile-1.0.17-1.1.hmx.i686.rpm
libsndfile-devel-1.0.17-1.1.hmx.i686.rpm
fftw-2.1.5-4.1.hmx.i686.rpm
fftw-devel-2.1.5-4.dag.i686.rpm
libsamplerate-devel-0.1.2-1.1.hmx.i686.rpm
libsamplerate-0.1.2-1.1.hmx.i686.rpm
js-1.5-1.1.hmx.i686.rpm
js-devel-1.5-1.1.hmx.i686.rpm
wxGTK-2.4.2-1.1.hmx.i686.rpm
wxGTK-gl-2.4.2-1.1.hmx.i686.rpm
wxGTK-devel-2.4.2-1.1.hmx.i686.rpm
wxGTK-static-2.4.2-1.1.hmx.i686.rpm
avidemux-2.1.2-1.1.hmx.i686.rpm
audacity-1.2.4-0.1.hmx.i686.rpm

 できたーw
 また俺のTurbolinux FUJIがごちゃごちゃにw
 サポート? 糞食らえwwwww
 自分でどうにかするw

 そしてこれが音声編集ツール「audacity」。
 wxGTKによるGUIになってます。
 プリキュアのmp3もほれこんなかんじw

 あと、これが動画編集ツール「avidemux」。
 おとぼくのmpegもほれこんなかんじ。
 というわけで俺のTurbolinuxの環境破壊はまだまだ続くw
 なつきかわいいよなつき