web-dev-qa-db-ja.com

DVD-RWドライブをマウント/マウントポイントを作成する方法

Ubuntu 12.10。を取得しました。だから私は初心者です。

パーティションのあるsataハードディスクがあります-sda 1(スワップ)sda 2(マウントポイント/)およびsda 3(マウントポイント/ home)。
今日、データ専用に使用する予定の別の内部ハードディスク(sataではない)を追加します。そのマウントポイントは/ media/sdb1です。

しかし、別のHD ubuntuを追加した後、私のdvd rwドライブはもうマウントされません。
このエラーが表示されます:

マウントポイントメディアcdrom0は存在しません

私はターミナルで試しました:

マウント/ CDROM

これを入手してください:

マウント:etc/fstabまたはetc/mtabで/ cdromが見つかりません

私は何をすべきか?

11
user132378

/ devを見ました。そこにあるファイルはdvdと呼ばれていました。 「ls -al/dev/dvd」と入力すると、これは/ dev/sr0へのリンクであることがわかりました。私はこの応答からそれを推測した:

lrwxrwxrwx 1 root root 3 Apr 24 15:56 /dev/dvd -> sr0

最初の 'l'は、実際のファイルではなくリンクであることを意味します。

次に、/を見ました。マウントされた周辺機器のサブディレクトリの通常のノードである「mnt」というディレクトリがありました。空だった。

次を使用して/ mntのサブディレクトリを作成しました。

Sudo mkdir /mnt/cdrom

次に、sr0をそこにマウントしました:

Sudo mount /dev/sr0 /mnt/cdrom

見るために、私はそれを見ました:

ls /mnt/cdrom

それは多くの正しい見た目を思いついたので、私は成功を収めました。

13
Lewis

CD/DVDドライブルール:「/ media/DVD」への挿入時にドライブをマウント

自動マウントを復元する場合は、その方法をある程度制御してください。

  • メディアの挿入時にマウントポイントを自動作成します
  • 特定の権限でマウントポイントにメディアを自動マウントします
  • メディアの削除時にマウントポイントを自動削除

アクション:CD/DVDトレイにメディアがあり、引き込まれている

このアクションに対応するようシステムに指示する必要があります。マウントスクリプト(カスタムスクリプト)を実行することができます。これを行うには、lib/udev/rules.dフォルダーで新しいルールを作成する必要があります。これらのコマンドは、rootとして実行する必要があります(以下のコマンドに接頭辞Sudoを使用して、rootとして実行するか、Sudo -sでrootユーザーになります。

  • 新しいファイルを作成し、autodvd.rules touch /lib/udev/rules.dと呼びます
  • udevadm info --query=all --attribute-walk --name=/dev/sr0を実行して、CD/DVDドライブに関する情報を探します(ここではルートは不要ですが、両方の方法で機能します)ドライブを一意に識別するものを探します(良くも悪くもATTRS{vendor}=="HL-DT-ST"を選びました。私のドライブです(あなたが私と同じドライブを所有していない限り、あなたのものは異なります)後でどこかにコピーしてください。このファイルを見て、以下のルールの例と比較するのに少し時間をかけることができます。それで見つけることができます。
  • 新しいルールを編集します(選択したエディターはどれでも使用できますが、vim /lib/udev/rules.dを使用しますが、nano /lib/udev/rules.dも機能し、簡単です。これらを追加し、ATTRSを編集して自分に合ったものにします(機能しない場合は別の属性を選択し、YOURUSERフィールドとYOURGROUPフィールドを修正する必要があります。

KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"

  • KERNEL=="sr[0-9]*"は、すべてのscsiデバイス(sr0-sr9)をテストすることを意味します
  • SYMLINKはドライブへの単なるシンボリックリンクです(/dev/cdromは実際の/dev/sr0へのリンクです)

すべてのudevルールをリロードする必要がある場合があります。

udevadm control --reload rules
reload udev
udevadm trigger

台紙スクリプト

/home/YOURUSER/Scripts/Bash/automountdvd.shのような場所に以下を保存し、YOURUSERフィールドとYOURGROUPフィールドを修正します。 ああ、ところで、このスクリプトをユーザーフォルダーに配置するのは危険です。なぜなら、このスクリプトはルートによって実行されるからです。つまり、誰かがユーザーフォルダーをハッキングした場合、これは実行されます(rootユーザーがシステムを完全に制御できるため、おそらく成功します)たぶん、rootだけが見ることができるフォルダー内で非表示にする方が良いでしょう。あなたが実験している場合、それは大丈夫です。

#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP

uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
    echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
    mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
    mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
    echo "DVD mounted at ${mountpoint}."
else
    echo "Attempting to unmount -l ${mountpoint}."
    umount -l ${mountpoint}
    rm -rf ${mountpoint}
    echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &
2
Jonathan Komar

Cd/cdrom/dvd/whatever manuallyをマウントする場合は、たとえばls /devを使用して、最初にディレクトリ/ devを確認する必要があります。おそらくdvd1と呼ばれます。次に、Sudo mkdir /mnt/dvd1 && Sudo mount /dev/dvd1 /mnt/dvd1でマウントします。

1
R110