Aturan Drive CD / DVD: Pasang Drive Pada Masukkan ke "/ media / DVD"
Lakukan ini jika Anda ingin memulihkan pemasangan otomatis dengan kontrol atas bagaimana hal itu dilakukan.
- Secara otomatis membuat titik pemasangan setelah penyisipan media
- Pasang otomatis media ke titik pemasangan dengan izin tertentu
- Menghapus secara otomatis titik pemasangan setelah penghapusan media
Tindakan: Baki CD / DVD memiliki media dan ditarik
Anda harus memberi tahu sistem Anda untuk bereaksi atas tindakan ini. Anda dapat menjalankan skrip mount (skrip khusus apa saja). Untuk melakukan ini, Anda perlu membuat aturan baru di lib/udev/rules.d
folder. Perintah-perintah ini harus dijalankan sebagai root (gunakan awalan sudo
untuk perintah berikut untuk menjalankannya sebagai root atau menjadi pengguna root dengansudo -s
- Buat file baru dan beri nama autodvd.rules
touch /lib/udev/rules.d
- Cari info tentang drive CD / DVD Anda dengan menjalankan
udevadm info --query=all --attribute-walk --name=/dev/sr0
(root tidak perlu di sini, tetapi bekerja dua arah) Cari sesuatu yang secara unik mengidentifikasi drive Anda (untuk lebih baik atau lebih buruk yang saya pilih ATTRS{vendor}=="HL-DT-ST"
, yang merupakan drive saya (drive Anda akan berbeda (milik Anda akan berbeda kecuali Anda kebetulan memiliki drive yang sama dengan saya). Salin ke suatu tempat untuk nanti. Anda dapat mengambil beberapa waktu untuk melihat file ini dan membandingkannya dengan contoh aturan di bawah ini. SUBSYSTEM dan ATTRS dapat ditemukan di dalamnya.
- Edit aturan baru Anda (Anda dapat menggunakan editor apa pun yang Anda pilih, saya gunakan
vim /lib/udev/rules.d
, tetapi nano /lib/udev/rules.d
berfungsi juga dan mudah. Tambahkan hal-hal ini, edit ATTRS Anda agar sesuai dengan milik Anda (ini adalah bagian yang sensitif, Anda mungkin harus memilih atribut yang berbeda jika itu tidak berfungsi) dan perbaiki bidang YOURUSER dan 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"
- The
KERNEL=="sr[0-9]*"
hanya berarti itu akan menguji semua scsi
perangkat (sr0-sr9)
- Itu
SYMLINK
hanya tautan simbolis ke drive (suka /dev/cdrom
adalah ke nyata /dev/sr0
)
Anda mungkin perlu memuat ulang semua aturan udev:
udevadm control --reload rules
reload udev
udevadm trigger
Mount Script
Simpan yang berikut di suatu tempat seperti: /home/YOURUSER/Scripts/Bash/automountdvd.sh
dan perbaiki bidang YOURUSER dan YOURGROUP. Oh, omong-omong, berbahaya untuk menempatkan skrip ini di folder pengguna, karena itu akan dijalankan oleh root, yang berarti jika seseorang meretas folder pengguna Anda, mereka dapat menyesuaikan skrip untuk melakukan apa pun yang mereka inginkan dan root akan menjalankannya ( dan kemungkinan berhasil, karena pengguna root memiliki kontrol penuh atas sistem) Mungkin lebih baik menyembunyikannya di folder yang hanya dapat dilihat oleh root. Jika Anda bereksperimen, itu baik-baik saja.
#!/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" &
mkdir anythingAtAll; sudo mount /dev/sr0 anythingAtAll