eject を用いると、リムーバブルメディア (CD-ROM、フロッピーディスク、テープ、 JAZ/ZIP ディスクなど) をソフトウェア制御によってイジェクトできる。 また eject は、連装 CD-ROM チェンジャを制御したり、 デバイスの自動イジェクト機能を制御したり、CD-ROM ドライブのディスクトレイを 閉じることもできる (製品によってはできないこともある)。
引き数 <name> に対応するデバイスがイジェクトされる。 name はデバイスファイルまたはマウントポイントであり、フルパスでも先頭の "/dev", "/media", "/mnt" を省略した形でもどちらでもよい。 name が指定されない場合、デフォルトでは "cdrom" が対象となる。
対象デバイスが CD-ROM、SCSI デバイス、リムーバブルフロッピー、 テープであるかによって、4 つの異なるイジェクト方法がある。 デフォルトでは、eject は 4 つの方法全てを成功するまで順に試行する。
対象デバイスがマウントされている場合、イジェクト前にアンマウントされる。
-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
デフォルトのデバイスをイジェクトする:
cdrom という名前のデバイスまたはマウントポイントをイジェクトする:
デバイス名でイジェクトする:
マウントポイントでイジェクトする:
4 番目の IDE デバイスをイジェクトする:
1 番目の SCSI デバイスをイジェクトする:
SCSI パーティション名 (例えば、ZIP ドライブ) でイジェクトする:
連装チェンジャの 5 番目のディスクを選択する:
SoundBlaster CD-ROM ドライブの自動イジェクトを有効にする:
操作が成功すると 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 オプション へのシェルエイリアスを作るのもよいだろう。
-x オプションは Nobuyuki Tsuchimura (tutimura@nn.iij4u.or.jp) によって 追加された。 Roland Krivanek (krivanek@fmph.uniba.sk) の cdrom_speed コマンドに感謝する。
-T オプションは Sybren Stuvel (sybren@thirdtower.com) によって追加された。 Benjamin Schwenk (benjaminschwenk@yahoo.de) には非常に感謝している。
-X オプションは Eric Piel (Eric.Piel@tremplin-utc.net) によって追加された。
mount(2), umount(2), mount(8), umount(8)
/usr/src/linux/Documentation/cdrom/