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イメージの作成ではmkisofsgenisoimage, CDへ焼くのはcdrecordwodimの組み合わせ手順がもっとも多かったように感じた. ただ, どうにもこの光学ディスクへの焼き込みはもう枯れ果てた技術なのか探せる記事の鮮度が正直良くわからない. どうやらmkisofsよりもgenisoimageのほうが新しく, cdrecordからwodimが分派していったようであるが, 結局同じようなことをそれぞれやるものだから, どちらかが潰れたときの代替手段程度の認識でもうよいだろう.

xorrisoはその内部のオプション引数体系にmkisofscdrecordの模擬を持つ. よって, コマンドアプリケーション上では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年単位で人から忘れ去られてしまうかもしれない. けどそれが, 今の人が陶磁器の残骸から当時の生活を類推するように, 未来のなにかがこの現代を知りうる手がかりになると託して.

参考


*1 :: 現状でバックアップしたい対象は7MB程度であるから, 1枚620MBで計算上25年分書ける. 流石に5年で新調することを目安にするけど.

*2 :: どうやらこれはsession closeとよばれているらしい.

*3 :: ただCD-Rに一度は書いている以上, mountのsession番号変えたり, CD-Rデータを解析すれば見つかりはする.

*4 :: 光学ディスクの他思いつくのは磁気テープと遺伝子鎖がある. しかし, 個人の家庭が手を出せるのは光学ディスクしかないだろう.