eject(1) リムーバブルメディアをイジェクトする

書式

eject -h
eject [-vnrsfmqp] [<name>]
eject [-vn] -d
eject [-vn] -a on|off|1|0 [<name>]
eject [-vn] -c slot [<name>]
eject [-vn] -t [<name>]
eject [-vn] -T [<name>]
eject [-vn] -x <speed> [<name>]
eject [-vn] -X [<name>]
eject -V

説明

eject を用いると、リムーバブルメディア (CD-ROM、フロッピーディスク、テープ、 JAZ/ZIP ディスクなど) をソフトウェア制御によってイジェクトできる。 また eject は、連装 CD-ROM チェンジャを制御したり、 デバイスの自動イジェクト機能を制御したり、CD-ROM ドライブのディスクトレイを 閉じることもできる (製品によってはできないこともある)。

引き数 <name> に対応するデバイスがイジェクトされる。 name はデバイスファイルまたはマウントポイントであり、フルパスでも先頭の "/dev", "/media", "/mnt" を省略した形でもどちらでもよい。 name が指定されない場合、デフォルトでは "cdrom" が対象となる。

対象デバイスが CD-ROM、SCSI デバイス、リムーバブルフロッピー、 テープであるかによって、4 つの異なるイジェクト方法がある。 デフォルトでは、eject は 4 つの方法全てを成功するまで順に試行する。

対象デバイスがマウントされている場合、イジェクト前にアンマウントされる。

コマンド行オプション

-h
このオプションは、 eject にコマンドオプションの簡単な説明を表示させる。

-v
eject を詳細表示モードで実行する; eject が実行していることについて、 より多くの情報が表示される。

-d
このオプションとともに実行すると、 eject はデフォルトのデバイス名を表示する。

-a on|1|off|0
このオプションは、いくつかのデバイスでサポートされている 自動イジェクトモードを制御する。 自動イジェクトモードを有効にすると、 対象デバイスがクローズされたときにそのドライブは自動的にイジェクトする。

-c <slot>
このオプションにより、ATAPI/IDE CD-ROM チェンジャの CD スロットを選択できる。 この機能を利用するには、Linux 2.0 以上が必要である。 スロット切替要求が機能するためには、 CD-ROM ドライブが動作中 (データ CD をマウントしていたり、 音楽 CD を演奏していたり) であってはならない。 チェンジャの最初のスロットが、 1 ではなく 0 で参照される点についても注意してほしい。

-t
このオプションは、ドライブに CD-ROM トレイのクローズコマンドを与える。 全てのデバイスがこのコマンドをサポートするわけではない。

-T
このオプションは、CD-ROM トレイがオープンしている場合には、 クローズコマンドを与える。 また CD-ROM トレイがクローズしている場合には、イジェクトコマンドを与える。 このオプションは上記の CD-ROM トレイのクローズコマンドを使うので、 全てのデバイスでこのコマンドがサポートされている訳ではない。

-x <speed>
このオプションはドライブに CD-ROM スピード選択コマンドを与える。 speed 引き数は希望するスピード (たとえば 8 倍速の場合は 8) を表す数字である。 最大データレートにする場合は 0 にする。 全てのデバイスがこのコマンドをサポートしているわけではないので、 これをサポートしているデバイスにのみ指定できる。 メディアを交換するたびに、このオプションはクリアされる。 このオプションは単独で使用するか、-t と -c オプションとともに使用する。

-X
このオプションは CD-ROM ドライブで利用可能なスピードを調べる。 出力はスピードのリストで、-x オプションの引き数として指定可能である。 このオプションは Linux 2.6.13 以降でのみ動作し、 それ以前のバージョンでは単に最大スピードだけが返される。 スピードを正確に返さないドライブもあり、 そのようなドライブでは、このオプションが動作しない点に注意すること。

-n
このオプションは選択されたデバイスを表示するが、何の操作も行わない。

-r
このオプションは、CDROM イジェクトコマンドを用いて対象ドライブを イジェクトするよう指定する。
-s このオプションは、SCSI コマンドを用いて対象ドライブをイジェクト するよう指定する。

-f
このオプションは、リムーバブルフロッピーディスクイジェクトコマンド を用いて対象ドライブをイジェクトするよう指定する。

-q
このオプションは、テープドライブオフラインコマンドを用いて対象 ドライブをイジェクトするよう指定する。

-p
このオプションを指定すると、 /etc/mtab ではなく /proc/mounts を使うことができる。 このオプションは umount(1) に -n オプションを渡す。

-m
このオプションを指定すると、リムーバブルメディアを自動的にマウントする デバイスドライバと共に eject を使用することができる。 そのためリムーバブルメディアに対して常に mount() が実行される。 指定されたデバイスが /etc/mtab または /proc/mounts に基づいて マウントされていても、このオプションは eject にアンマウントを行わせない。

-V
このオプションを使うと、 eject はプログラムのバージョンを表示して終了する。

長いオプション

以下に示すように、全てのオプションには対応する長い名前がある。 これらは、一意に識別できる長さまで省略することができる。


-h --help
-v --verbose
-d --default
-a --auto
-c --changerslot
-t --trayclose
-T --traytoggle
-x --cdspeed
-X --listspeed
-n --noop
-r --cdrom
-s --scsi
-f --floppy
-q --tape
-V --version
-p --proc
-m --no-unmount

デフォルトのデバイスをイジェクトする:

eject

cdrom という名前のデバイスまたはマウントポイントをイジェクトする:

eject cdrom

デバイス名でイジェクトする:

eject /dev/cdrom

マウントポイントでイジェクトする:

eject /mnt/cdrom/

4 番目の IDE デバイスをイジェクトする:

eject hdd

1 番目の SCSI デバイスをイジェクトする:

eject sda

SCSI パーティション名 (例えば、ZIP ドライブ) でイジェクトする:

eject sda4

連装チェンジャの 5 番目のディスクを選択する:

eject -v -c4 /dev/cdrom

SoundBlaster CD-ROM ドライブの自動イジェクトを有効にする:

eject -a on /dev/sbpcd

返り値

操作が成功すると 0 を返す。 操作が失敗、またはコマンドの構文が間違っていると 1 を返す。

注意

eject は、4 つのイジェクト方法のうち 1 つ以上をサポートするデバイスに対して のみ有効である。 これには、ほとんどの CD-ROM ドライブ (IDE、SCSI、独自規格)、 何種類かの SCSI テープドライブ、JAZ ドライブ、 ZIP ドライブ (パラレルポート版、SCSI 版、IDE 版)、 LS120 リムーバブルフロッピーが含まれる。 Sun SPARC と Apple Macintosh のフロッピードライブについても、 ユーザーからの成功報告がある。 eject が動作しないのは、ほとんどの場合、 そのデバイスのカーネルドライバの制限によるものであり、 eject プログラム自体の制限ではない。

-r, -s, -f, -q オプションで、どのイジェクト方法を用いるかを制御できる。 複数のイジェクト方法を指定することができる。 これらのオプションが全く指定されないと、eject は 4 つの方法全てを試行する (これはほとんどの場合に上手く動作する)。

eject は、対象デバイスがマウントされているかどうかを常に判断できるわけではない (例えば、そのデバイスに複数の名前がある場合)。 デバイス名がシンボリックリンクである場合、 eject はリンクを辿り、リンク先のデバイスを使用する。

対象デバイスが複数のパーティションを持ち得ると判断した場合、 eject は、そのデバイスのマウントされたパーティションを イジェクト前に全てアンマウントしようとする。 アンマウントに失敗すると、eject はメディアのイジェクトを中止する。

音楽 CD をイジェクトすることができる。 CD-ROM ドライブによっては、 ドライブが空である場合にトレイを開くことを拒否するものもある。 トレイクローズコマンドをサポートしないデバイスもある。

自動イジェクト機能が有効になると、 そのドライブは eject を実行すると常にイジェクトされるようになる。 全ての Linux カーネル CD-ROM ドライバが、 自動イジェクトモードをサポートするわけではない。 自動イジェクトモードの状態を確認する方法は無い。

デバイスファイルへのアクセスには適切な権限が必要である。デバイスによっては (例えば SCSI デバイス)、 eject を root で実行しなければならなかったり、 または eject を root に setuid しておくことが必要だったりする。

名前からデバイスを発見するために用いる探索法は、以下の通りである。 名前の末尾がスラッシュで終わる場合、それを取り除く (シェルのファイル名補完機能を使って生成された名前をサポートするため)。 名前が '.' または '/' で始まる場合は、名前をデバイスファイルまたは マウントポイントとみなしてオープンを試みる。 オープンに失敗すると、オープン可能なデバイスファイルまたは マウントポイントが見つかるまで、 eject は名前の先頭に '/dev/', '/media/' ,'/mnt/', '/dev/cdroms', '/dev/rdsk/', '/dev/dsk/', './' を挿入して試す。 eject は、マウントされたデバイスを /etc/mtab でチェックする。 これに失敗すると、eject は現在マウントされていないデバイスの マウントポイントを確認するために /etc/fstab もチェックする。

/dev/cdrom や /dev/zip のようなシンボリックリンクを作っておくことを勧める。 こうすれば eject は適切なデバイスを覚えやすい名前を用いて特定できるようになるからである。

キー入力数を節約するため、あなたの環境固有の設定に合わせた eject オプション へのシェルエイリアスを作るのもよいだろう。

著者

eject は Jeff Tranter ([email protected]) によって開発され、 GNU 一般公有使用許諾書の条件下でリリースされる。 詳細については、COPYING ファイルと、ソースコードの注記を参照のこと。

-x オプションは Nobuyuki Tsuchimura ([email protected]) によって 追加された。 Roland Krivanek ([email protected]) の cdrom_speed コマンドに感謝する。

-T オプションは Sybren Stuvel ([email protected]) によって追加された。 Benjamin Schwenk ([email protected]) には非常に感謝している。

-X オプションは Eric Piel ([email protected]) によって追加された。