ここ数ヵ月ほど、
月1ペースで書いてきた本連載も、
さて、
以前、
その際、
この回に紹介した方法で、
実用上この手間はさほど問題にはならないものの、
そこで、
GNU xorriso
xorrisoはGNUプロジェクトの1つとして公開されているソフトウェアで、
ドキュメントによると、
従来、
cdrtoolsの始まりはSunのSolaris用に開発された汎用SCSIライブラリで、
一方、
その反面、
xorrisoの使用例
執筆時点でのxorrisoの最新版は1.
SCSIコマンドを送る際にroot権限を必要とするcdrecordとは異なり、
最近の一人一台環境では/dev/
$ ls -l /dev/sr0 brw-rw----+ 1 root cdrom 11, 0 5月 5日 09:41 /dev/sr0 $ grep cdrom /etc/group cdrom::32:kojima
xorrisoから利用可能な光学ドライブを調べるには-devicesオプションを指定します。
$ xorriso -devices GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project. Beginning to scan for devices ... Full drive scan done ----------------------------------------------------------------------------- 0 -dev '/dev/sr0' rwrw-- : 'HL-DT-ST' 'DVDRAM GH24NSB0' -----------------------------------------------------------------------------
ドライブに挿入されているメディアの情報を調べるには-tocオプションを指定します。未使用のDVD-Rに対してこのオプションを使用すると以下のような結果になりました。
$ xorriso -dev /dev/sr0 -toc GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project. Drive current: -dev '/dev/sr0' Media current: DVD-R sequential recording Media status : is blank Media summary: 0 sessions, 0 data blocks, 0 data, 4489m free Drive current: -dev '/dev/sr0' Drive type : vendor 'HL-DT-ST' product 'DVDRAM GH24NSB0' revision 'UN00' Drive id : 'KL9E8M95241 ' Media current: DVD-R sequential recording Media product: TYG03 , Taiyo Yuden Company Limited Media status : is blank Media blocks : 0 readable , 2298496 writable , 2298496 overall Media summary: 0 sessions, 0 data blocks, 0 data, 4489m free
cdrecord/
それに対し、
たとえば、
$ ls ~/NHK 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a ... 2016-04-29-06-45_ラジオ英会話_2016_04_020.m4a
これらのファイルをDVDに書き込む場合、
$ xorriso -dev /dev/sr0 -map ~/NHK /ラジオ英会話 GNU xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project. Drive current: -dev '/dev/sr0' Media current: DVD-R sequential recording Media status : is blank Media summary: 0 sessions, 0 data blocks, 0 data, 4489m free xorriso : UPDATE : 21 files added in 1 seconds Added to ISO image: directory '/ラジオ英会話'='/home/kojima/NHK' xorriso : UPDATE : Thank you for being patient. Working since 0 seconds. xorriso : UPDATE : Writing: 16s 0.0% fifo 100% buf 100% 0.0xD xorriso : UPDATE : Writing: 16s 0.0% fifo 100% buf 100% 0.0xD ... xorriso : UPDATE : Closing track/session. Working since 64 seconds ISO image produced: 53612 sectors Written to medium : 53776 sectors at LBA 0 Writing to '/dev/sr0' completed successfully.
書き込めたかをDVDをマウントして確認します。書き替えたDVDをマウントする際は、
$ eject /dev/sr0 && eject -t /dev/sr0 $ mount /cdrom $ ls -R /cdrom /cdrom/ラジオ英会話/: 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a 2016-04-19-06-45_ラジオ英会話_2016_04_012.m4a 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a 2016-04-20-06-45_ラジオ英会話_2016_04_013.m4a ...
さて、
$ ls ~/NHK 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a ... 2016-05-30-06-45_ラジオ英会話_2016_05_016.m4a 2016-05-31-06-45_ラジオ英会話_2016_05_017.m4a
先に書き込んだDVDにはまだまだ余裕があるので5月分のファイルを追加してみます。xorrisoでは-update_
$ xorriso -dev /dev/sr0 -update_r NHK ラジオ英会話 ... Updating '/home/kojima/NHK' to '/ラジオ英会話' xorriso : UPDATE : Adjusted attributes of '/ラジオ英会話' xorriso : UPDATE : 5373952 content bytes read in 5 seconds , 0.8xD xorriso : UPDATE : 22867k content bytes read in 10 seconds , 2.6xD ... xorriso : UPDATE : Added/overwrote '/ラジオ英会話/2016-05-09-06-45_ラジオ英会話_2016_05_001.m4a' xorriso : UPDATE : Added/overwrote '/ラジオ英会話/2016-05-10-06-45_ラジオ英会話_2016_05_002.m4a' Differences detected and updated. (runtime 22.1 s) xorriso : UPDATE : Writing: 16s 0.0% fifo 100% buf 100% xorriso : UPDATE : Writing: 16s 0.0% fifo 100% buf 100% 0.0xD ... ISO image produced: 45570 sectors Written to medium : 45728 sectors at LBA 93952 Writing to '/dev/sr0' completed successfully.
追記したDVDの中身を確認すると5月分の番組もちゃんと書き込まれています。
$ ls -l /cdrom/ラジオ英会話/ 合計 202,962,432 -rw-r--r-- 1 kojima users 5,484,940 4月 4日 2016年 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a -rw-r--r-- 1 kojima users 5,485,484 4月 5日 2016年 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a ... -rw-r--r-- 1 kojima users 5,485,196 5月 27日 2016年 2016-05-27-06-45_ラジオ英会話_2016_05_015.m4a -rw-r--r-- 1 kojima users 5,485,470 5月 30日 2016年 2016-05-30-06-45_ラジオ英会話_2016_05_016.m4a -rw-r--r-- 1 kojima users 5,485,474 5月 31日 2016年 2016-05-31-06-45_ラジオ英会話_2016_05_017.m4a
2ヵ月分を書き込んでもDVDにはまだまだ余裕があるようなので、
$ xorriso -dev /dev/sr0 -mv ラジオ英会話 2016_ラジオ英会話 -- -commit -eject all ... Renamed in ISO image: '/ラジオ英会話' to '/2016_ラジオ英会話' xorriso : UPDATE : Thank you for being patient. Working since 0 seconds. xorriso : UPDATE : Writing: 16s 9.0% fifo 0% buf 100% 0.0xD ... Media current: DVD-R sequential recording Media status : is written , is appendable Media summary: 3 sessions, 111184 data blocks, 217m data, 4191m free Volume id : 'ISOIMAGE'
再度DVDの中身を確認するとディレクトリ名がちゃんと変っています。
$ mount /cdrom $ ls -R /cdrom/ /cdrom/: 2016_ラジオ英会話/ /cdrom/2016_ラジオ英会話: 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a 2016-04-28-06-45_ラジオ英会話_2016_04_019.m4a 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a 2016-04-29-06-45_ラジオ英会話_2016_04_020.m4a .... 2016-04-27-06-45_ラジオ英会話_2016_04_018.m4a 2016-05-31-06-45_ラジオ英会話_2016_05_017.m4a
今回利用しているのは再書き込み可能なDVD-RWではなく、
それではなぜDVD-Rが自由に書き替えられるのか、
今まで書き込んできたDVDを-tocオプションで調べると、
$ xorriso -dev /dev/sr0 -toc ... Media status : is written , is appendable Media blocks : 146032 readable , 2145696 writable , 2297888 overall TOC layout : Idx , sbsector , Size , Volume Id ISO session : 1 , 0 , 53612s , ISOIMAGE ISO session : 2 , 93952 , 45570s , ISOIMAGE ISO session : 3 , 145840 , 27s , ISOIMAGE Media summary: 3 sessions, 111184 data blocks, 217m data, 4191m free Media nwa : 152192s
マルチセッションDVDをマウントするとデフォルトでは最後のセッションがマウントされ、
一方、
$ sudo mount /cdrom -o ro,sbsector=0 $ ls -R /cdrom /cdrom: ラジオ英会話/ /cdrom/ラジオ英会話: 2016-04-04-06-45_ラジオ英会話_2016_04_001.m4a 2016-04-19-06-45_ラジオ英会話_2016_04_012.m4a 2016-04-05-06-45_ラジオ英会話_2016_04_002.m4a 2016-04-20-06-45_ラジオ英会話_2016_04_013.m4a ... 2016-04-15-06-45_ラジオ英会話_2016_04_010.m4a 2016-04-29-06-45_ラジオ英会話_2016_04_020.m4a 2016-04-18-06-45_ラジオ英会話_2016_04_011.m4a $
xorrisoには他にもさまざまな機能があるものの、
DVDのマルチセッション機能はmkisofs/
それに対しxorrisoは、
xorrisoはこのように強力なツールなものの、