Saya memiliki kunci USB yang akan digunakan untuk menyimpan data setiap hari melalui skrip bash. Saya berhasil memasangnya untuk pengguna tertentu agar dapat menulis folder di dalamnya menggunakan perintah:
mount /dev/sdc1 /media/usb -o rw,uid=sysop,gid=sysop
Script dapat menjalankan dan membuat direktori sesuai keinginan dan sempurna. Pada titik tertentu, kunci USB akan dicabut dan diganti dengan yang baru (model yang sama). Apakah kunci USB baru masih memiliki nama /dev/sdc1
atau akan berbeda?
Jika berbeda, bagaimana saya bisa memasukkan bagian pemasangan pada skrip saya agar dibuat secara otomatis?
Jawaban:
Meskipun mengaksesnya
/dev/sdXy
berisiko, identifikasi yang lebih akurat dapat dilakukan olehUUID
.Karena Anda menyebutkan (pada titik tertentu) mengganti stik usb, untuk mempertahankan kompatibilitas, Anda mungkin ingin mengidentifikasi stik usb Anda dengan label. Untuk melakukannya, Anda dapat:
/dev/disk/by-label/YourLabelHere
.Perhatikan bahwa Anda perlu mengatur label ke stik USB baru sebelum menjalankan skrip, dan juga,
/dev/disk/by-label
hanya tersedia jika (setidaknya) satu stik usb terhubung (jika tidak akan dihapus).Detail tentang cara mengatur label usb dapat ditemukan di sini: /ubuntu/194510/how-to-edit-label-of-usb-drive
sumber
/dev/disk/by-id/
mungkin dapat digunakan sebagai gantinya (itu yang saya gunakan untuk filesystem saya).Inilah cara saya mengatasi masalah ini, tetapi secara umum seperti yang dikatakan Sato Katsura kepada Anda, Anda perlu menulis aturan udev.
udevadm info --query all /dev/sdc
(atau apa pun).Siapkan aturan udev, berikut adalah contoh untuk dompet saya. Kolom
ID_SERIAL_SHORT
danID_FS_UUID
saya baca dari info di langkah 2:Saya mengatur PEMILIK di sini, bahwa saya dapat memasangnya dengan akun pengguna utama saya. Juga dengan dompet saya, saya tidak memiliki partisi tetapi mount disk biasa. Jika Anda memiliki perubahan partisi:
untuk partisi Nomor 1, pada baris aturan udev.
Aturan udev ditemukan di
/etc/udev/rules.d
, jika Anda memiliki sistem waras.Sekarang kamu bisa
untuk memuat kembali aturan dan
untuk memantau apa yang terjadi selama langkah 5.
Plugout dan Plugin perangkat usb Anda (tentu saja setelah unmount sebelumnya jika Anda memasangnya). Monitor harus memberi tahu Anda tentang perangkat baru saat diinisialisasi.
Periksa apakah
/dev/
mengandung symlink yang tepat. Dalam contoh saya, saya mendapatkan ini:Sekarang Anda dapat mendefinisikan aturan persisten dengan symlinks
/dev/pocketbook
dan/dev/pocketbook-sd
, atau apa pun nama Anda di bidang SYMLINK file aturan udev.sumber
Hanya untuk menambahkan jawaban @ alextartan.
Saya menggulung sistem cadangan saya sendiri yang menggunakan drive USB untuk target. Saya harus yakin apa yang terjadi di mana. Karena UUID tidak ramah pengguna, saya mengandalkan label disk.
UUID juga agak bermasalah karena setiap kali Anda memformat ulang sebuah partisi, ia akan mendapatkan UUID yang unik, jadi setiap skrip yang menggunakan UUID itu harus dimodifikasi. Saya dapat menetapkan label yang sama seperti sebelumnya ke partisi yang diformat ulang (atau bahkan ke partisi pada drive baru / pengganti) dan membiarkan skrip saya sendiri.
Saya datang dengan konvensi pelabelan (ramah manusia) saya sendiri yang unik dan menggunakan gparted untuk melabeli berbagai partisi ketika saya membuatnya.
Ketika skrip saya perlu mengakses partisi tertentu, saya mencari nama perangkat menggunakan label.
sumber