[設定および接続] 特にUSBドライバをインストールした訳ではないので標準対応していると思う(Solaris10 製品版 1/06 *1)。dmesgコマンドでみると scsiのブリッジとして認識している様だ。 Solarisで認識されれば取り扱いは通常の内蔵ドライブと同じ手順で読み書きできる(*2/*3/*4)。
|
Solarisプレインストールされている mkisofs の対応言語一覧 euc-jpおよびutf-8が非対応であることが解る。 |
||
# mkisofs -input-charset help |
||
|
参考ページ |
http://www.geocities.co.jp/SiliconValley/3657/mkisofs_patch/ |
tarファイル およびパッチ |
ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.00.3.tar.gz http://www.geocities.co.jp/SiliconValley/3657/mkisofs_patch/noboru_nls_patch_20030714.txt.gz |
パッチの適応とコンパイル |
$ gatr xvzf cdrtools-2.00.3.tar.gz $ cd cdrtools-2.00.3 $ zcat noboru_nls_patch_20030714.txt.gz | gpatch -p1 $ export PATH=/usr/xpg4/bin:/usr/ucb:$PATH $ env LC_ALL=C make |
Solarisプレインストールされている mkisofs の保存 |
# cd /usr/bin # mv mkisofs mkisofs.org |
インストール コンパイルが完了するとmkisofsは mkisofs/OBJ/{アーキテクチャ名}ディレクトリ下に生成されている。 これをコピーする。 注意する点は $PATH 環境変数でパスの通った場所にコピーすること。 次項で説明する growisofsツール内部で mkisofsが使用される為、mkisofsコマンドの参照順位に気をつける。 |
$ cd {コンパイルDir}/mkisofs/OBJ/i386-sunos5-cc # cp {コンパイルDir}/mkisofs/OBJ/i386-sunos5-cc/mkisofs /usr/bin |
mkisofsの言語対応一覧(確認) |
||
# mkisofs -input-charset help |
||
|
ファイル名またはディレクトリ名が euc-jp で日本語で作成されている場合のISOファイルの作成例 |
$ mkisofs -J -R -input-charset euc-jp -o {出力ISOファイル名} {file or dir} |
コマンド |
説明 |
growisofs | DVDに書き込みを行うコマンド |
dvd+rw-format |
DVDをフォーマットするコマンド |
dvd+rw-mediainfo |
DVDメディア情報の表示コマンド |
【注意】 growisofsコマンドでは書き込みの際、mkisofsコマンドを内部で使用する。 growisofsコマンドでは mkisofsコマンドのオプションを指定することができる為、日本語対応のmkisofsを使ってDVDメディアに書き込めばWindowsマシン等で日本語ファイル名の文字が化けることはない。 |
デバイスの表示 |
# /usr/bin/iostat -En .... c0t0d0 Soft Errors: 0 Hard Errors: 7 Transport Errors: 0 Vendor: PIONEER Product: DVD-RW DVR-K06RS Revision: 1.06 Serial No: Size: 0.00GB <0 bytes> Media Error: 0 Device Not Ready: 7 No Device: 0 Recoverable: 0 Illegal Request: 0 Predictive Failure Analysis: 0 .... |
このとき DVDドライブの論理デバイス名は以下の様になる RAWデバイス名: /dev/rdsk/c0t0d0{パーティション(p)またはスライス(s)番号}
[参考]BLOCKデバイス名: /dev/dsk/c0t0d0{パーティション(p)またはスライス(s)番号} (1) AcerPower1000 搭載のDVDドライブ(パイオニア製スロット型DVDドライブ)の場合は RAWデバイス名は /dev/rdsk/c0t0d0p0, BLOCKデバイス名は /dev/dsk/c0t0d0s2 となっている。 (*)モデルや製造時期により異なるかもしれない。要確認。 (*)スライス表記の場合、スライス2(s2)はディスク全体を表す。 (*)パーティション表記の場合、パーディション0(p0)はディスク全体を表す。 |
手動マウントの例 |
($ /usr/bin/rmumount ...removable diskのマウントの解除) $ su ... # /usr/sbin/mount -F hsfs /dev/dsk/c0t0d0s2 /pub/DVD |
vold(rmvolmgr) で自動マウントされた場合 通常 /mediaディレクトリ下にDVDメディアのボリューム名でマウントされる。 (*)ユーザでも確認できる。 |
$ /usr/sbin/mount ... /media/{ボリューム名} on /dev/dsk/c0t0d0s2 read only/nosetuid/nodevices/noglobal/maplcase/rr/traildot/dev=6c0002 on {日付} ... |
フォーマット |
# dvd+rw-format -force /dev/rdsk/{DVDドライブのRAW論理デバイス名} |
【注意】 (1) DVDドライブのRAW論理デバイス名は間違えない様に気を付けること。 (2) DVD-RW/+RWの場合、未使用DVDへ書き込みを実行すると自動的にフォーマットされる。 意識してフォーマットを実行する必要はない様だ。 (3) 一度フォーマットすれば再度フォーマットする必要はない。 上書きすれば元データは消され、新しいデータで上書きされる。DVDのフォーマットはDVDメディアの寿命を縮めるので極力使用しない方が良いだろう。どうしてもデータを消去したい場合は /dev/zreo を上書きすればデータを削除できる(ブランク化)。 [例] DVD-RW メディアのブランク化 growisofs -Z /dev/rdsk/{DVDドライブのRAW論理デバイス名}=/dev/zero (注)上記コマンドでブランク化した場合、/dev/zero からの入力は際限なく続くため、コマンドの終了はI/Oエラーとなって終了する。 しかしこれで特に問題はない(?)。 |
(ケース1) 初期書き込みはたは上書きの書き込み(-Zオプション) (ケース2) 追記書き込み(-Mオプション) |
(1) 指定ファイルの書き込み |
# growisofs -Z /dev/rdsk/{DVD-RAW論理デバイス名} -J -R -D -input-charset euc-jp {書き込むファイル名} |
この場合、指定ファイル名が DVDのトップディレクトリ下に書き込まれる。 |
(2) 指定ディレクトリ以下の書き込み |
# growisofs -Z /dev/rdsk/{DVD-RAW論理デバイス名} -J -R -D -input-charset euc-jp {書き込むディレクトリ名} |
この場合、指定ディレクトリ以下の内容がDVDのトップディレクトリ下に書き込まれる。 指定ディレクトリ以下の内容が書き込まれるのであって、DVDにトップディレクトリ下に指定ディレクトリは作成されない。 |
(3) 指定ディレクトリごとDVDに書き込む |
# growisofs -Z \ /dev/rdsk/{DVD-RAW論理デバイス名} -J -R \ -D -input-charset euc-jp \ -graft-points {DVD書き込み先ディレクトリ}/={書き込むファイル名orディレクトリ名} |
この場合、 {DVD書き込み先ディレクトリ}で指定したディレクトリがDVDに作成され、その下に {指定ディレクトリ名orディレクトリ名}が書き込まれる。 {指定ディレクトリ名orディレクトリ名} の部分で ディレクトリを指定した場合は注意が必要。 -graft-points {DVD書き込み先ディレクトリ}={ディレクトリ}
と、"="の前に"/"を指定しなかった場合は、{DVD書き込み先ディレクトリ}下に{ディレクトリ}で指定したディレクトリ下(ディレクトリが含まれない)の情報が書き込まれる。 -graft-points {DVD書き込み先ディレクトリ}/={ディレクトリ}
と、"="の前に"/"を指定した場合は、{DVD書き込み先ディレクトリ}下に{ディレクトリ}で指定したディレクトリごと書き込まれる。 |
rmvolmgrボリュームマネージャの確認 |
$ svcs -a | grep rmvolmgr online 6:14:27 svc:/system/filesystem/rmvolmgr:default |
rmvolmgrボリュームマネージャの有効化 |
# svcadm enable svc:/system/filesystem/rmvolmgr:default |
マウント方法 |
$ /usr/bin/rmmount [{DVD-BLOCK論理デバイス名}] |
マウント解除(アンマウント) |
$ /usr/bin/rmmount -u [{DVD-BLOCK論理デバイス名}] または $ /usr/bin/rmumount [{DVD-BLOCK論理デバイス名}] |
【注意】 mount, umount コマンドを使用するとrmvolmgrのと連携がとれなくなり、マウントを解除しないかぎり ejectコマンドが実行できなくなる。rmvolmgr下でマウントされたドライブは rmmount(リムーバブルマウント)コマンドを使用する。 |
(1) プロファイルの作成 下記例では、DVDに関するプロファイルを DVDUser としてプロファイルを作成する。 prof_attrファイルの末尾に追加する。 |
# cd /etc/security/ # vi prof_attr |
.... DVDuser:::DVD writable User Profile:help==DVDuser.html |
(2) コマンドを登録 下記の例では DVDuser プロファイルにdvd+rw-tools コマンドを登録している。 exec_attrファイルの末尾に追加する。 |
# cd /etc/security/ # vi exec_attr |
... DVDuser:suser:cmd:::/usr/bin/growisofs:uid=0;euid=0 DVDuser:suser:cmd:::/usr/bin/dvd+rw-format:uid=0;euid=0 DVDuser:suser:cmd:::/usr/bin/dvd+rw-mediainfo:uid=0;euid=0 DVDuser:suser:cmd:::/usr/bin/dvd+rw-booktype:uid=0;euid=0 DVDuser:suser:cmd:::/usr/bin/mkisofs:uid=0;euid=0 |
(3) ユーザにプロファイルのエントリ プロファイル DVDuser をユーザにエントリする。 下記例ではユーザ foo に対してDVDuserプロファイルをエントリしている。 (fooはDVD書き込みを許可する各自ユーザ名に置き換えること) |
# cd /etc/ # vi user_attr |
user_attrファイルにユーザ名fooの行が無い場合は以下の行を追加する。 |
... foo::::type=normal;profiles=DVDuser |
user_attrファイルにユーザ名fooがある場合は profiles= の行末に ","で区切り、DVDuserプロファイルを追加する。 |
... foo::::type=normal;profiles={..既に設定済みプロファイル..},DVDuser |
ユーザでのDVDメディアへの書き込み例 |
$ pfexec /usr/bin/growisofs -Z /dev/rdsk/{DVD-RAW論理デバイス名} -J -R -D -input-charset euc-jp {書き込むファイル名} |
(注) pfexec の次コマンド指定は フルパス(/usr/bin/growisofs)で指定する必要がある。 コマンドが長いのでスクリプトファイルかalias設定で実行する方がよい。 |
【説明】 DVD-R/RWへの書き込みを行うスクリプト。DVD-R/RW書き込み専用コマンド。 指定のファイルまたはディレクトリ以下をDVD-R/RWへ書き込む。DVD-R/RWへの書き込みはディレクトリを指定してそのディレクトリ下に書き込むことも出来る。 書き込みが正常に行われたを確認する為ベリファイ(比較)を行える様にした。データ劣化のチェックする機能としてチェックサムリストを作成してDVDメディアに書き込み、劣化によるデータ不整合がないかを調べる機能も追加。 またRBAC機能でgrowisofsコマンドが設定されている場合、管理者以外で書き込みが可能になっている。 【コマンド形式】 dvdw [options] {ファイル|ディレクトリ} [dvd:/書き込み先Dir | dvd+:/書き込み先Dir/書き込み名]
【注意事項】 >> ファイルは euc-jp ロケールで作成してます。iconv/nkf等で適当なロケールに変換してください。 >> DVD-R/DVD-RW専用。CD-R/RWでは使用できません。UDFフォーマットには非対応。 >> スクリプト内の環境変数はマシン環境に合わせて書き換える必要がある。 >> Solaris/OpenSolarisでマウント方法が違うので注意する。 >> また以下の Solaris10とOpenSolarisでの設定の違いに注意する。 【OpenSolarisの場合】 OpenSolarisの場合、rmvolmgrボリュームマネージャを使用する。
DVDメディアに書き込まれるボリューム名は任意に指定できる。 【Solaris10の場合】 Solaris10の場合、voldfsボリュームマネージャは使用しない。必ず停止する必要がある。
Solaris10の場合、ボリュームマネージャ/volfsを使用しない。そのためマウント・アンマウントは手動で行う。 また、DVDドライブのマウントパス位置を別途指定する必要がある。 スクリプト内変数 MNT_BASE にマウントに使用するディレクトリを指定する。 またvolfsを停止した為、現在のDVDのボリューム名が取得できないのでボリューム名は固定名となる。 スクリプト内変数 MNT_BASE のディレクトリ名(最下位ディレクトリ名)がボリューム名として書き込みの際、DVDメディアにボリューム名として書き込まれる。また他ドライブで書き込 まれたDVDメディアを使用する際、ボリューム名は無視され、変数 $MNT_BASEにマウントされる。 スクリプト内変数 MNT_BASE={パス}/{volume-name} (*)ディレクトリは予めmkdirコマンドで作成しておくこと。 (*)/cdrom/...などは volfsと混同させないため避けた方がよい。 |
【スクリプト設定】 スクリプトファイル内で宣言されている下記変数はマシン環境に合わせて書き換える必要がある。
|
■ヘルプ ========= usage: dvdw [options] [options] -help,-h :ヘルプ表示 -info,-i :現在のドライブメディア情報を表示 -volsize :現在のドライブメディアの使用サイズ |
■書き込み: ============ usage: dvdw [options] {ファイル|ディレクトリ} [dvd:/書き込み先Dir | dvd+:/書き込み先Dir/書き込み名] [dvd:/書き込み先Dir | dvd+:/書き込み先Dir/書き込み名] 書式: dvd:{path} は書き込みディレクトリ(場所)を指定する。 dvd+:{path/name} は指定位置に指定ファイル名またはディレクトリ名で書き込みを行う(リネーム時に使用)。 DVDの先込みを行うディレクトリ(場所)は存在しない場合は自動で作成される。 省略時は 指定が{ファイル}の場合、そのファイルは DVDトップ(DVD:/)に書き込まれる。
指定が{ディレクトリ}の場合は{ディレクトリ}内容以下がDVDトップ(DVD:/)に書き込まれる. ({ディレクトリ}は含まれない) [options] -0,-session,-init,-Z :(*1) 初期書き込み/上書き書き込み (growisofs -Z) -1,-merge,-add,-M :(*1) セッションマージ(追記)書き込み (growisofs -M) -dryrun,-D : 書き込みテスト (growisofs -dryrun) -dummy,-D : ↑ (growisofs -dryrun) -test,-D : ↑ (growisofs -dryrun) -dvd-compat,-C (*3): DVD-ROMコンパチの書き込み (growisofs -dvd-compat) -dvd,-C (*3): ↑ (growisofs -dvd-compat) -iso,-S (*3): ISOイメージファイルの書き込み -speed=n : 書き込みスピード(nは正数の数値) -Jolliet,-J (*2*5): jollietモード(Unix)書き込み (mkisofs -J) -RockRidge,-R (*2*5): RockRidgeモード(Win/Unix)書き込み (mkisofs -R) -volume={name} : ボリューム名(非スペース文字列) (mkisofs -V vol-name) -follow-links,-f(*2*5): シンボリックリンクを実体で書き込む (mkisofs -follow-links) -mkisofs={opts} (*4):上記以外の mkisofsオプションの指定 (*1)書き込み時は-Z(-0) か -M(-1) オプションのいづれかを選択(default -M) (*2)デフォルトオプション (*3)-dvd-compatデフォルトは-isoを指定時のみ有効 (*4)スペースを含む場合や複数指定の場合は -mkisofs:"opts"で指定. (*5)-optを+opt指定にするとデフォルトが解除される. マウント操作 書き込み実行時は自動でマウントを解除する。 書き込み終了時、 DVDメディアが初期書き込みあるいはボリューム名を変更した場合は 強制的にejectが実行される。
追記の場合は再マウントが自動で実行される。 |
■フォーマット ================ usage: dvdw [options] [options] -blank : ブランクディスクに戻す. -format : 完全フォーマット.(DVD-RW/+RWのみ)(DVD寿命を縮める) (注)使用済みのDVD-RWに上書き(-0/-Zオプション)をすればデータが消され新しいデータで上書きされる. -blankでのクランク化は /dev/zero で上書きしているので最後はエラーで終了するが問題はない. |
■ベリファイ(比較) ================== usage: dvdw [options] {ファイル|ディレクトリ} [DVD書き込み先Dir|File] [options] -v,-verify : ファイルまたはディレクトリがDVDと一致するかをチェックする(md5チェック)。 (注)
|
■チェックサムリスト ==================== DVDに書き込まれたデータが劣化等で不整合を起こしてないかをチェックする機能. 事前に-add-checksumオプションでchecksumファイルを生成/DVD書き込みをしておく必要がある。 usage dvdw [options] [options] -add-checksum : checksumファイルを生成してDVDに追記書き込みする. -checksum : checksumファイルよりDVDデータ整合検査を実施(劣化によるデータ整合テスト). |
■DVDマウント指定 ================== usage: dvdw [options] [options] -mount,-mnt : DVDドライブのマウント -umount,-umnt : DVDドライブのマウント解除 -mnt_info : DVDマウント容量一覧 -eject,-e : DVD取出し |
dvdw -0 {file} | #ファイルをDVDに書き込む |
dvdw -0 {directory} | #ディレクトリ下の内容をDVDに書き込む |
dvdw -0 {file} {dvd:/DVD書き込み先} | #ファイルをDVDの指定ディレクトリ下に書き込む |
dvdw -0 {directory} {dvd:/DVD書き込み先} | #ディレクトリごとDVDの指定ディレクトリ下に書き込む |
使用例(1): ABC.tar.gz というファイルを DVD:/Download/appilcation ディレクトリ下に書き込む(初回または上書き) 既にDVDにデータがある場合はそれらはすべて削除され、指定されたファイルで上書きされる。 |
# dvdw -0 ABC.tar.gz dvd:/Download/appilcation 確認の為、ベリファイを実行する場合 # dvdw -v ABC.tar.gz dvd:/Download/appilcation |
使用例(2): test01ディレクトリより下の内容をDVDのトップに書き込む。(test01というディレクトリは作成されず、内容のみが書き込まれる) |
# dvdw -0 test01/ 確認の為、ベリファイを実行する場合 # dvdw -v test01/ |
使用例(3): test01というディレクトリ名を含むディレクトリ内容を DVDのトップに書き込む。(test01というディレクトリが作成され、ディレクトリ内容が書き込まれる) |
# dvdw -0 test01/ dvd:/ 確認の為、ベリファイを実行する場合 # dvdw -v test01/ dvd:/ |
使用例(4): ABC.tar.gz というファイルを dvd:/Download/appilcation ディレクトリ下に TestABC.tar.gzという名前で書き込む。 |
# dvdw -0 ABC.tar.gz dvd+:/Download/appilcation/TestABC.tar.gz 確認の為、ベリファイを実行する場合 # dvdw -v ABC.tar.gz dvd+:/Download/appilcation/TestABC.tar.gz |
使用例(5): test01というディレクトリ名を dvd:/TestDir ディレクトリ下に Tested01 という名前のディレクトリで書き込む。 |
# dvdw -0 test01/ dvd+:/TestDir/Tested01 確認の為、ベリファイを実行する場合 # dvdw -v test01/ dvd+:/TestDir/Tested01 |
dvdw {file} | #ファイルをDVDに追記する |
dvdw {directory} | #ディレクトリ下の内容をDVDに追記する |
dvdw {file} {dvd:/DVD書き込み先} | #ファイルをDVDの指定ディレクトリ下に追記する |
dvdw {directory} {dvd:/DVD書き込み先} |
#ディレクトリ以下をDVDの指定ディレクトリ下に追記する |
使用例: ABC.tar.gz というファイルを DVD:/Download/appilcation ディレクトリ下に書き込む。 既にDVDにデータがある場合、それに追記される。 |
# dvdw ABC.tar.gz dvd:/Download/appilcation 確認の為、ベリファイを実行する場合 # dvdw -v ABC.tar.gz dvd:/Download/appilcation |