CD-Rへの追記書き込み
Created , Modified .
概要
CD-RへTAO書込(トラックアットワンス書込)で小規模データのバックアップ体制を作る. この記事では書き込みイメージの作り方と書き込み方法をまとめる.
xorrisoを用いた手段による, この記事では書き込みイメージの作り方と書き込み方法をCode 1. Making ISO & Writing to CD-Rに提示する. コード中の<と>で囲まれたものは実際には該当のものに置き換わる.
Code 1. Making ISO & Writing to CD-R
%> xorriso -dev <CD-Rデバイスファイル> -toc # 接続されたCD-Rの状態確認
# 2回目以降の書込ISOファイル作成
%> xorriso -as cdrecord dev=<CD-Rデバイスファイル> -msinfo # 接続されたCD-Rの終端セクション開始セクターと書込可能セクターの確認
%> xorriso -as mkisofs -o <ISOファイル> -J -R -C <終端セクション開始セクター>,<書込可能セクター> -M <CD-Rデバイスファイル> <記録対象> # 書込ISOファイルの作成
# 1回目での書込ISOファイル作成
%> xorriso -as mkisofs -o <ISOファイル> -pad -J -R <記録対象> # 書込ISOファイルの作成
%> sudo xorriso -as cdrecord dev=<CD-Rデバイスファイル> -v -tao -multi -eject -data <ISOファイル> # CD-Rへの書き込み実行
xorrisoについて
xorrisoはコマンドライン操作によるISO-9660・Rock Ridge 操作ツールである. 全体的に言えばとても多機能である. ISOイメージファイルの作成とそれをCDへ焼くことができる.
今回のCD-Rへの書込を追うにあたり, ISOイメージの作成ではmkisofsかgenisoimage, CDへ焼くのはcdrecordかwodimの組み合わせ手順がもっとも多かったように感じた. ただ, どうにもこの光学ディスクへの焼き込みはもう枯れ果てた技術なのか探せる記事の鮮度が正直良くわからない. どうやらmkisofsよりもgenisoimageのほうが新しく, cdrecordからwodimが分派していったようであるが, 結局同じようなことをそれぞれやるものだから, どちらかが潰れたときの代替手段程度の認識でもうよいだろう.
xorrisoはその内部のオプション引数体系にmkisofsとcdrecordの模擬を持つ. よって, コマンドアプリケーション上ではxorriso1つを入れれば, ISOイメージ作成とCD書込ができる状態になる.
動機
動機は確定申告データのバックアップである. 元々, PC内部に作業ファイルがあり, クラウド上にバックアップを設置している. しかし, ものがものであるためやはり現実の近場にもバックアップが必要だろうと考えバックアップ手段を考えていた. 特にこの事例では対象ファイルはおよそ数十MBであるが, できるだけ非電源接続で保存したかったし, 書き換え不可能性を担保したかった.
書き換え不可能性の担保はもう現状の家庭的な手段では光学ディスクの-Rものしかとれる手段はないと思う. あとは必要データ量が1Gいくことは無いし[*1], いったらいったで枚数増やせばよいのでCD-Rを選択した.
今回によって, 手順と注意事項をおよそ自分のなかである程度まとまった感じになった. そのうち, パスワードのバックアップにも同じような手法を用いるだろう.
注意
冒頭手順で重要なのが, 最後CD-Rへ焼くときに-multiオプションを忘れないことと, 2回目以降のISOイメージ作成でCD-Rの終端セクション開始セクターと追記可能セクターを付与すること, である. -multiオプションを忘れた場合, 以後そのCD-Rへの追記はできなくなる[*2]. 終端セクション開始セクターと追記可能セクターを付与を忘れると, 正しいコンテンツ状態を示せないことになり, 追記しているのにそのままではデータ見れなかったり, かつて追記したデータが見えなくなってしまうように陥る可能性がでる[*3].
追記していくとき, これは常にマージに近いようなディレクトリとファイル構成のコンテンツ状態になっていく, らしい. もっとも, バックアップを想定していたので, 深くは追っていない.
# 接続されたCD-Rの状態確認例
~$ xorriso -as cdrecord -msinfo -toc -dev=/dev/sr1
xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev '/dev/sr1'
Media current: CD-R
Media status : is written , is appendable
Media summary: 6 sessions, 17921 data blocks, 35.0m data, 578m free
53182,63821
Drive current: -outdev '/dev/sr1'
Drive access : exclusive:unrestricted
Drive type : vendor 'HL-DT-ST' product 'DVDRAM GP90NB70' revision '1.03'
Drive id : 'K0JM4C71814 '
Media current: CD-R
Media product: 97m26s66f/79m59s71f , CMC Magnetics Corporation
Media status : is written , is appendable
Media blocks : 56921 readable , 296023 writable , 359844 overall
TOC layout : Idx , sbsector , Size , Volume Id
ISO session : 1 , 0 , 2771s , ISOIMAGE
ISO session : 2 , 14323 , 3722s , ISOIMAGE
ISO session : 3 , 25097 , 3722s , ISOIMAGE
ISO session : 4 , 35871 , 1671s , ISOIMAGE
ISO session : 5 , 44594 , 1671s , ISOIMAGE
ISO session : 6 , 53182 , 3722s , ISOIMAGE
Media summary: 6 sessions, 17921 data blocks, 35.0m data, 578m free
Media nwa : 63821s
# 接続されたCD-Rの終端セクション開始セクターと書込可能セクターの確認例
~$ xorriso -as cdrecord -msinfo -dev=/dev/sr1
xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev '/dev/sr1'
Media current: CD-R
Media status : is written , is appendable
Media summary: 6 sessions, 17921 data blocks, 35.0m data, 578m free
53182,63821
意義
今更この時代でCD-Rが日の目を再び得ることはあるだろうか? ほとんどのものがネットワークと繋がり, クラウドの値段もフリーな手段を探せば出てくる. セキュリティが怖いならそもそも暗号化した後のデータをアップロードすればよい. クラウドをバックアップとして運用するなら数年おきにサービス入れ替えしてしまえば十分だろう. 多分, CD-Rに限らず, USBのストレージですらも一般的な手段からは衰退していくだろう.
だが, 完全な通電無しの状態で長期保存のための手段[*4]は必要であると思う. もしかしたら地下のひっそりした場所で100年単位で人から忘れ去られてしまうかもしれない. けどそれが, 今の人が陶磁器の残骸から当時の生活を類推するように, 未来のなにかがこの現代を知りうる手がかりになると託して.