6 よくある質問に対する解答

この章の目次へ

6.1 root でないユーザーがディスクをマウント、アンマウントするにはどうしたらいいでしょう?

マウントコマンドによってはユーザーに対するオプションが使えるものがあり ます。 /etc/fstab に次のように記述すると

    /dev/sbpcd  /cdrom   iso9660     user,noauto,ro

一般のユーザーが次のようなコマンドを使って、ディスクのマウント、アンマ ウントができるようになります。

    % mount /cdrom
    % umount /cdrom

ディスクの安全を守るためのいくつかのオプション付きでマウントコマンドが 実行されます。(例えば、プログラムが実行されなかったり、デバイスファイ ルが無視されたりします。)ときにはそれが用心深すぎる措置だと思われるで しょう。

他の方法として、フロッピーや CD-ROM などの持ち運び可能なデバイスを一 般ユーザーがマウントしたりアンマウントするための usermount パッケー ジを入手することもできます。これはハードディスクなどのデバイスは保護し ます。これは主だったアーカイブサイトで見つかるでしょう。

また、ftp.cdrom.com というアーカイブサイトには mount.c とい うソースファイルが登録されています。これは CD-ROM を一般ユーザー(だけ) がマウントしたりアンマウントしたりすることができるプログラムです。これ は setuid することで実行します。

6.2 CD-ROM をアンマウントしようとすると "device is busy" というメッセージが出るのですが。

他のプロセスがそのドライブにアクセス中だったり、マウントされたディスク のディレクトリを標準ディレクトリとしているプロセスがあったりすると、ディ スクをアンマウントすることはできません。どのプロセスがディスクにアクセ スしているのか知りたいときには、次に示すように fuser コマンドを使 うことができます。

    % umount /cdrom
    umount: /dev/sbpcd: device is busy
    % fuser -v /cdrom
    /cdrom:               USER       PID ACCESS COMMAND
                          tranter     50 ..c..  bash

6.3 NFS を使って CD-ROM を他のホストに転送することはできますか。

/etc/exports を書き換える必要があります。詳しくはオンラインマ ニュアルの exports(5) を見てください。

6.4 Linux を CD-ROM から起動する方法はありますか。

一番簡単なのは、ブートフロッピーを使うことです。(Slackware などの) Linux の配布形態には、一つ又はいくつかのブート用のフロッピーが付いて います。使っているシステムに合った CD-ROM ドライバの組み込まれたフロッ ピーを使って起動してください。

将来的には必要な ROM BIOS 機能を持った ATAPI CD-ROM ドライブから直接 Linux を起動することができるようになるでしょう。

6.5 音楽用の CD からデジタルデータを読み出すにはどうしたらいいでしょう。

これができる CD-ROM ドライブは多くはありません。Heiko Eissfeldt 氏 (heiko@colossus.escape.de) と Olaf Kindel 氏が音楽データを読みとっ て .wav フォーマットのファイルとして保存するユーティリティーを書 いています。これは東芝の XM3401 または XM4101 SCSI ドライブでのみ動き ます。このパッケージは cdda2wav.tar.gz という名前で sunsite.unc.edu に登録されています。他にも Chinon 535 や東芝 3601B のドライブで成功したという報告もあります。

Panasonic SBPCD ドライバは、バージョン 1.1.22 のカーネルに含まれる (version 2.0) ものから、は、サウンドデータを読むことができるようになり ました。これに応じて改良された cdda2wav プログラムが ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav-sbpcd.2.tar.gz に登録されています。

標準的な cdda2wav プログラムには Panasonic のドライブに対応していると 書いてありますが、まだデータの「重なり」を処理し切れないために確実に動 くとはいえません。

CDU-33 ドライバは音楽データを読み込むことができるようになりました。 cdda2wav プログラムが使えるそうです。

このことについて、さらに詳しく知りたい方は、参考資料の節に挙げた alt.cd-rom の FAQ リストを見てください。

6.6 find コマンドが正しく働かないのですが。

Rock Ridge 拡張されていない ISO-9660 フォーマットのディスクの場合、 find コマンドに -noleaf オプションを付ける必要があります。

ISO-9660 フォーマットの場合、それぞれのディレクトリファイルのリンク数 が簡単には分からないため、それは 2 にセットされます。しかし find プログラムは探索の最適化のために (i_link - 2) 個のサブディレクトリをそ れぞれのディレクトリで探し、それ以外を普通のファイルとみなすので、ディ レクトリの探索がおかしくなります。-noleaf オプションを付けるとこ の最適化が行われなくなるのです。

6.7 Reveal 社の Multimedia kit の CD-ROM は使えますか?

(以下の内容は Horne@leader.pfc.mit.edu 氏の御教示によります。)

私は Reveal CD/Soundcard キットを買い、いろいろ試した結果、Linux で動 かせるようにし、その方法を投稿しました。CD-ROM HOWTO に掲載されて以来、 週に2通ほど問い合わせが来るようになりました。

私はエキスパートではありません。私は Reveal 社のテクニカル・サポートか らアドレスを聞き出して、2つの SOUND-FX ラインを cdu31a ドライバに追加 しただけです。大抵の質問には答えることができません。ここで述べる以上の ことはほとんど説明できません。特に注意していただきたいのは、私はこのカー ドが Linux に適していると、お勧めしているわけではありません。

Linux で REVEAL カードを使う

まとめ:

詳細説明:

もしも SONY のドライブが付いていれば、 cdu31a ドライバが動作します。カー ネルを cdu31a ドライバをサポートするように設定します。以下は cdu31a ド ライバのソースの引用です。

  * WARNING -    All autoprobes have been removed from the driver.
  *              You MUST configure the CDU31A via a LILO config
  *              at boot time or in lilo.conf.  I have the
  *              following in my lilo.conf:
  *
  *                append="cdu31a=0x1f88,0,PAS"
  *
  *              The first number is the I/O base address of the
  *              card.  The second is the interrupt (0 means none).
  *              The third should be "PAS" if on a Pro-Audio
  *              spectrum, or nothing if on something else.

Reveal カード用に適当なところに次の設定をします。

  append="cdu31a=0x654,0"

私は LILO を使っていません。私は自動認識を外して、アドレスを自分で設定 しています。(</usr/src/linux/drivers/block/cdu31a.c> のファイルから "cdu31a_addresses" という文字列を検索して設定しました。)

この方法は、ソニーのドライブ以外では動作しません!! (私は詳しくは知 りませんが、動いたら非常に驚きです)

ソニーの場合の類推で、Panasonic や Mitsumi ドライブを持っている場合も、 Reveal テクニカルサポートに電話して CD-ROM の種類にあったベースアドレ スを知る必要があります。そして適切なドライバを選ぶ必要があります。(こ の場合、sbpcd ドライバが使えるかはわかりません。たぶん動くでしょう。ど ちらにせよアドレスを知る必要があります。)"append=..." も他の ドライバでどうすればいいかはわかりません。

いくつかのシステム設定をするまでは、ドライバへのパッチや lilo.conf の 設定はできません。もしも Linux をまだインストールしていない時には、試 してみることがあります。

  1. インストールファイルを DOS パーティションにコピーして、そこから インストールします。これは簡単ですが、DOS パーティションのハードディス クが 90MB ほど必要でしょう。一旦システムを起動してしまえば前述のやり方 が使えます。そのためには最小限のシステムと、コンパイラ(Slackware の場 合 A, AP, D シリーズ)それに、カーネルのソースコードのみインストールす れば十分です。これでカーネルにパッチを当てて、作り直せます。
  2. SONY CD や、それに似たものの場合、パッチを当てたカーネルを作っ てくれる友達が必要です。(自動認識 ON, あなたのシステムのアドレスを最 初に調べるようにする)そして普通に Rdev を実行します。
      rdev  /dev/fd0 /dev/fd0                 ; root=floppy
      rdev -r /dev/fd0 1440                   ; ramdisk
      rdev -t /dev/fd0 -3                     ; prompt for screen mode
    
    そうして、このインストール用ルートディスクから起動します。CD-ROM 用の マウントポイントを作ってください。
     # mkdir /cd
     # mount -r -t iso9660 /dev/fd0 /cd
    
    そして "install from mounted directory" を選んでインストールします。も ちろん配布物のカーネルはそのままでは動作しませんから、先のように改変し たカーネルをコピーします。
  3. これはたぶん可能なことですが(私は試していません)、LOADLIN を 使うと Linux を DOS パーティションから起動できるので、簡単にできるでしょ う。たぶん LILO の用にデータをカーネルに送れるので、DOS から Linux を 起動して、カーネルドライバにアドレスを渡せばよいでしょう。ただし試した ことはありません。

音源の設定:

このカード (isc-400) は Linux ではあまりサポートされていません。残念な がら、あまり良いハードウェアとはいえないからでしょう。8-bit の SB モー ドで音を出すことができます。ミキサーはまだ動作していませんので、録音も できません。MSS モードは IRQ がないので、ドライバでどのように扱えばい いのかわかりません。AdLib 互換でも動いてはいません。

私と、もう一人がネイティブ・モードのプログラム情報を得ようと努力しまし たが、さんざん電話をした挙げ句、シンガポールまで問い合わせろと言われて あきらめました。もしも良い音を出したくなれば、私は今度は SoundBlaster を買うでしょう。

6.8 Linux は書き込み可能な CD-ROM ドライブをサポートしていますか?

Adam J. Richter (adam@yggdrasil.com) 氏によると、

Yggdrasil パッケージでは、Adaptec 154x SCSI コントローラを使って、 Philips の CD ライターを扱うことができます。他の SCSI コントローラが使 えるかどうかについては確認していませんが、おそらく動くと思います。 mkisofs を使えば、ISO-9660 ファイル・システムを作成することができ るので、それを CD に書き込むことができます。このセットアップについて援 助がほしい場合は、私たちの 900 テクニカル・サポート・ナンバーの 1-900-446-6075 内線 835(US$2.95/分:アメリカ国内のみ)に電話し てください。

6.9 どうして CD-ROM は read-only でマウントしなくてはならないのでしょう。

CD-ROM は読みだし専用のメディアですから当然のことです。古いカーネルで は CD-ROM は read/write モードでマウントできました。しかも CD に対する 書き込みの命令はエラーにならず無視されました。カーネルのバージョンが 1.1.33 になってこの問題は見直され、CD-ROM は read-only でしかマウント できないようになりました。マウント時には mount -r のように読みと り専用のオプションを指定してください。

6.10 システムをシャットダウンすると、ディスクトレーが開いてしまうのはなぜでしょう。

1.1.38 カーネルに附属する sbpcd ドライバは、アンマウントされると ディスクを自動的に排出します。システムをシャットダウンするときにはマウ ントされていた CD も自動的にアンマウントされるので、ディスクが排出され ることになります。

この機能はディスクを変えたいときには便利です。さらに、トレーを開いたま まで、ディスクをマウントしたり、読もうとすると、自動的にトレーを閉じる ようになっています。

この仕様は、いくつかのプログラム(cdplayworkbone)で問題 になることがわかりました。 1.1.60 以降のカーネルでは、この機能をソフトウェア的に調整することがで きます。サンプルプログラムが README.sbpcd ファイルに含まれています。 (eject プログラムも使えるでしょう)

6.11 マウントできない「特殊な」 CD があるのですが。

その「特殊」な CD はおそらく(PhotoCD や CD-R ドライブを使って作られた "one-offs" のようなディスク、または 8cm 電子ブックなどの) XA ディスク でしょう。ほとんどの Linux カーネルの CD-ROM ドライバは XA ディスクを 扱えませんが、それを可能にするパッチがFTP サイトにあるかもしれません。

sbpcd ドライバは XA に対応しています。もしも sbpcd ドライバを使ってい るなら、次のようにしてディスクが XA かそうでないかを確かめることができ ます。sbpcd.c ファイルを見て、"Table of Contents" (目次)の表示をする (DBG_TOC) ようにします。そしてカーネルを再構築して新しいカーネルをイン ストールして、それを使って起動します。ディスクをマウントするごとにディ スクの目次が(コンソールまたはログファイルに)書き込まれます。もしも目 次の最初に表示される数字が 20 ならばそれは XA ディスクです。00 ならば 普通のディスクです。もしも目次が異なるトラックを示したら、それが XA ディ スクである可能性があります。

(この情報は、Eberhard Moenkeberg さんに提供していただきました。)

読めない CD の他の可能性としては、

  1. その CD-ROM が ISO-9660 ファイルシステムではない。(SunOS など)
  2. 音楽用 CD である。
  3. ディスクが壊れている。
  4. 上下逆さに入れている :-)

訳注: 電子ブックの場合、EB フォーマットはほとんどのドライブで読めます。 拡張された EBXA フォーマットは、読めないものもあるようです。

6.12 CDU-33 ドライブのアクセスランプが光るのはなぜでしょうか。

これは普通の現象であり、最近のドライバに追加された機能です。CD がマウ ントされた時にアクセスランプがフラッシュします。(これはバグではなく特 徴です。)

6.13 複数ディスクが入る CD-ROM ドライブは Linux で使えますか?

パイオニア(6連・12連)やナカミチの(7連)CD-ROM チェンジャー付き の連奏ドライブが使えるという報告があります。今までに動作報告されている ものはどれもSCSIドライブです。

最近のカーネルで連奏ドライブを使うには、make configの際に、 "Probe all LUNs on each SCSI device"という質問に yes と答える 必要があるでしょう。なお、SCSI timeoutというパラメータを大きく する必要があったという報告もあります。

次の章へ , 前の章へ

この章の目次へ, この文書の目次へ

この文書の最初へ , この章の最初へ