CD-Rへの追記書き込み
Created , Modified .
概要
CD-RへTAO書込(トラックアットワンス書込)で小規模データのバックアップ体制を作る. この記事では書き込みイメージの作り方と書き込み方法をまとめる.
xorriso
を用いた手段による, この記事では書き込みイメージの作り方と書き込み方法をCode 1. Making ISO & Writing to 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
の模擬を持つ. よって, コマンドアプリケーション上ではxorriso
1つを入れれば, 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年単位で人から忘れ去られてしまうかもしれない. けどそれが, 今の人が陶磁器の残骸から当時の生活を類推するように, 未来のなにかがこの現代を知りうる手がかりになると託して.
参考
*1 :: 現状でバックアップしたい対象は7MB程度であるから, 1枚620MBで計算上25年分書ける. 流石に5年で新調することを目安にするけど.
*2 :: どうやらこれはsession closeとよばれているらしい.
*3 :: ただCD-Rに一度は書いている以上, mountのsession番号変えたり, CD-Rデータを解析すれば見つかりはする.
*4 :: 光学ディスクの他思いつくのは磁気テープと遺伝子鎖がある. しかし, 個人の家庭が手を出せるのは光学ディスクしかないだろう.