CD / DVD Sürücü Kuralı: Sürücüyü "/ media / DVD" 'ye Yerleştirin
Nasıl yapıldığını kontrol ederek otomatik montajı geri yüklemek istiyorsanız bunu yapın.
- Ortamın yerleştirilmesi üzerine montaj noktasını otomatik oluşturur
- Ortamı belirli izinlerle bağlama noktasına otomatik bağlar
- Ortamın çıkarılması üzerine montaj noktasını otomatik olarak kaldırır
Eylem: CD / DVD Tepsisinde ortam var ve içeri çekiliyor
Sisteminize bu eyleme tepki vermesini söylemelisiniz. Bir bağlama komut dosyası (herhangi bir özel komut dosyası) çalıştırmasını sağlayabilirsiniz. Bunu yapmak için klasörde yeni bir kural oluşturmanız gerekir lib/udev/rules.d
. Bu komutların kök olarak çalıştırılması gerekir ( sudo
aşağıdaki komutların kök olarak çalıştırılması veyasudo -s
- Yeni bir dosya oluşturun ve autodvd.rules olarak adlandırın.
touch /lib/udev/rules.d
- Çalıştırarak CD / DVD sürücünüz hakkında bilgi arayın
udevadm info --query=all --attribute-walk --name=/dev/sr0
(burada kök gerekli değildir, ancak her iki şekilde çalışır) Sürücünüzü benzersiz bir şekilde tanımlayan bir şey arayın (daha iyi veya daha kötüsü için seçtim ATTRS{vendor}=="HL-DT-ST"
, bu benim sürücümdür (siz daha sonra kullanmak üzere bir yere kopyalayın.Bu dosyayı incelemek ve aşağıdaki kural örneği ile karşılaştırmak biraz zaman alabilir. SUBSYSTEM ve ATTRS dosyasında bulunabilir.
- Yeni kuralınızı düzenleyin (seçtiğiniz herhangi bir düzenleyiciyi kullanabilirsiniz, ben kullanıyorum
vim /lib/udev/rules.d
, ama nano /lib/udev/rules.d
çok işe yarıyor ve çok kolay. Bunları ekleyin, ATTRS'nizi kendinize uyacak şekilde düzenleyin (bu hassas bölümdür, farklı bir özellik seçmeniz gerekebilir) YOURUSER ve YOURGROUP alanlarını düzeltin:
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]*"
Hepsi test edecek sadece vasıta scsi
aygıtlarını (sr0-sr9)
SYMLINK
(Gibi sürücüye sadece sembolik bir bağlantıdır /dev/cdrom
gerçek etmektir /dev/sr0
)
Tüm udev kurallarını yeniden yüklemeniz gerekebilir:
udevadm control --reload rules
reload udev
udevadm trigger
Mount Script
Aşağıdakileri gibi bir yere kaydedin: /home/YOURUSER/Scripts/Bash/automountdvd.sh
YOURUSER ve YOURGROUP alanlarını düzeltin. Bu arada, bu komut dosyasını kullanıcı klasörüne koymak tehlikelidir, çünkü kök tarafından çalıştırılacaktır, yani birisi kullanıcı klasörünüzü hackliyorsa, komut dosyasını istedikleri şeyi yapacak şekilde ayarlayabilir ve kök onu çalıştırabilir ( ve muhtemelen başarılı olur, çünkü kök kullanıcı sistem üzerinde tam kontrole sahiptir) Muhtemelen sadece kökün görebileceği bir klasörde gizlemek daha iyidir. Deniyorsan, sorun değil.
#!/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