Mengotomatiskan stik USB pada Debian

10

Saya menjalankan Debian Squeeze pada komputer steker (jadi SSH saja, tanpa GUI) dan yang saya coba lakukan adalah mendapatkannya sehingga ketika stik USB dicolokkan, ia akan dipasang secara otomatis.

Apa yang saya lakukan adalah menginstal autofsyang dari apa yang saya kumpulkan menangani penghitungan otomatis yang mengetahui di mana perangkat itu berada /dev.

Masalahnya adalah bahwa stik USB tidak selalu pada nama perangkat yang sama. Kadang- /dev/sdc1kadang /dev/sdd1, kadang-kadang , dll.

Saya mengumpulkan bahwa untuk memperbaiki ini, saya perlu menggunakan udevuntuk memastikan bahwa stik USB selalu diberi nama yang sama.

Saya mendapat info berikut dari udevadm:

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/block/sdd/sdd1':
    KERNEL=="sdd1"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{partition}=="1"
    ATTR{start}=="63"
    ATTR{size}=="129339"
    ATTR{ro}=="0"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="0"
    ATTR{stat}=="      31      244      275      190        0        0        0        0        0      190      190"
    ATTR{inflight}=="       0        0"

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0/host8/target8:0:0/8:0:0:0/block/sdd':
    KERNELS=="sdd"
    SUBSYSTEMS=="block"
    DRIVERS==""
    ATTRS{range}=="16"
    ATTRS{ext_range}=="256"
    ATTRS{removable}=="1"
    ATTRS{ro}=="0"
    ATTRS{size}=="129439"
    ATTRS{alignment_offset}=="0"
    ATTRS{discard_alignment}=="0"
    ATTRS{capability}=="51"
    ATTRS{stat}=="      56      727      783      520        0        0        0        0        0      520      520"
    ATTRS{inflight}=="       0        0"
    ATTRS{events}=="media_change"
    ATTRS{events_async}==""
    ATTRS{events_poll_msecs}=="-1"

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0/host8/target8:0:0/8:0:0:0':
    KERNELS=="8:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="0"
    ATTRS{scsi_level}=="3"
    ATTRS{vendor}=="        "
    ATTRS{model}=="Flash Disk      "
    ATTRS{rev}=="2.00"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0x90"
    ATTRS{iodone_cnt}=="0x90"
    ATTRS{ioerr_cnt}=="0x0"
    ATTRS{modalias}=="scsi:t-0x00"
    ATTRS{evt_media_change}=="0"
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{max_sectors}=="240"

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0/host8/target8:0:0':
    KERNELS=="target8:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0/host8':
    KERNELS=="host8"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0':
    KERNELS=="1-1.2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb-storage"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bInterfaceProtocol}=="50"
    ATTRS{modalias}=="usb:v1976p6025d0100dc00dsc00dp00ic08isc06ip50"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1/1-1.2':
    KERNELS=="1-1.2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="383"
    ATTRS{idVendor}=="1976"
    ATTRS{idProduct}=="6025"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="11"
    ATTRS{devpath}=="1.2"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/platform/orion-ehci.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="197"
    ATTRS{idVendor}=="1a40"
    ATTRS{idProduct}=="0101"
    ATTRS{bcdDevice}=="0111"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{product}=="USB 2.0 Hub"

  looking at parent device '/devices/platform/orion-ehci.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="1"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.38.8 ehci_hcd"
    ATTRS{product}=="Marvell Orion EHCI"
    ATTRS{serial}=="orion-ehci.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/platform/orion-ehci.0':
    KERNELS=="orion-ehci.0"
    SUBSYSTEMS=="platform"
    DRIVERS=="orion-ehci"
    ATTRS{modalias}=="platform:orion-ehci"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

Saya sudah mencoba menulis udevaturan untuk memaksa USB stick untuk mengambil nama, /dev/usbsticktetapi sejauh ini saya belum berhasil.

Bisakah seseorang membantu dengan aturan apa yang perlu saya tentukan dalam file aturan saya untuk mendapatkan USB stick ini untuk selalu mendapatkan nama yang sama?

- Atau, adakah cara yang lebih mudah untuk mengautomatiskan stik USB yang saya lewatkan sepenuhnya?

MEMPERBARUI

OK jadi saya telah membuat beberapa kemajuan. Saya menambahkan aturan berikut:

SUBSYSTEMS=="scsi", ATTRS{model}=="Flash Disk ", DRIVERS=="sd", NAME="usbstick-%k" RUN+="mkdir /mnt/usbstick-%k; mount /dev/usbstick-%k /mnt/usbstick-%k"

Saya tahu ini masih membutuhkan beberapa pekerjaan dalam hal menangani add / remove, tapi itu hanya tes dasar untuk saat ini.

Efek dari ini adalah bahwa saya sekarang berhasil mendapatkan tiga node perangkat baru /dev, yaitu /dev/usbstick-sdc, /dev/usbstick-sdc1dan usbstick-sg2.

Namun, apa yang saya temukan adalah bahwa kode di RUNbagian ini hanya dijalankan sekali dan hanya membuat direktori mnt/usbstick-sdc. Saya juga menemukan bahwa direktori selalu kosong, jadi ada sesuatu yang jelas masih salah! (Meskipun saya membuat kemajuan).

jon
sumber
Apakah yang kedua /dev/sdc1seharusnya sdd1? Dan Anda dapat menggunakan blkiduntuk mengidentifikasi drive secara unik (well, sebenarnya partisi; itu akan berubah jika Anda memformat ulang).
Kevin
Benar, baru saja perbaiki itu. Yang saya inginkan adalah ketika stik USB dicolokkan ke dalamnya akan dipasang ke beberapa direktori. Saya cukup yakin saya harus menggunakan udevaturan untuk membuat perangkat node untuk setiap partisi, tapi saya tidak yakin apa tingkat udevadmoutput untuk membuat aturan!
jon
Aturan Anda terlihat terlalu rumit. Cobalah untuk membuat yang sederhana, hanya dengan satu ACTION==, satu KERNEL==dan satu ATTRS{something}==(itu benar-benar bisa dilakukan - ini yang saya gunakan). Juga, pertimbangkan untuk menjalankan skrip tunggal yang diinstal pada rantai perintah di RUN+=.
rozcietrzewiacz
Terima kasih atas sarannya, tetapi pertanyaannya tetap: tingkat pohon perangkat mana yang harus saya targetkan dengan aturan saya? Ini semua tampaknya sangat membingungkan dan tidak ada banyak info online untuk menjelaskan hal ini. Saya sangat menghargai waktu yang telah Anda berikan untuk menjelaskannya kepada saya sejauh ini, saya merasa seperti saya hampir sampai di sana tetapi hanya melewatkan level untuk menargetkan.
jon
Saya sekarang sudah mencoba aturan yang sangat mendasar ini: KERNEL=="sd??", NAME="%k", RUN+="mkdir /mnt/usbstick-%k; mount /dev/usbstick-%k /mnt/usbstick-%k"- tapi tidak, tentu saja ini tidak berhasil. Saya sekarang semakin frustrasi setelah menghabiskan hampir sepanjang hari hanya berusaha mencari cara untuk mendapatkan USB stick yang terhubung ke mount itu sendiri. Haruskah hal ini benar-benar sulit? Keluaran dari udevadm test /sys/block/sdd- tentu saja - praktis tidak bisa dibaca, jadi saya tidak punya cara untuk mengetahui di mana saya salah. Adakah yang bisa mengarahkan saya ke arah yang benar dalam hal ini?
jon

Jawaban:

13

Berpikir harus ada cara yang lebih mudah untuk mengatasi masalah umum seperti itu, dan ada. Inilah yang saya coba di server wheezy / sid saya:

sudo apt-get install usbmount

Tancapkan usb stick, selesai! Tongkat saya sekarang dapat diakses /media/usb.

Btw, usbmount tidak memiliki halaman manual, silakan baca /usr/share/doc/usbmount/README.gzsaja. Tampaknya usbmount memasang tongkat Anda dengan opsi sinkronisasi secara default. Mungkin jauh lebih baik bagi tongkat Anda untuk memasang async dan menjalankan syncatau umountsebelum mencabutnya. Itu bisa dikonfigurasi.

Arjan Drieman
sumber
lihat jugapumount
Alex
Perhatikan bahwa usbmounttidak lagi mendukung NTFS sejak debian jessie: bugs.debian.org/774149
malat
Menjalankan ini di Debian Jessie, usbmount tampaknya tidak pernah memasangnya. Halaman paket mengatakan bahwa sekarang tidak terawat, dan saya menjalankan systemd. Saya ingin tahu apakah paket ini tidak lagi berfungsi dengan perubahan systemd?
Travis Griggs
Memang, tidak bekerja untuk saya di Jessie, lihat jawaban saya (ini: ddumont.wordpress.com/2015/15/27/… berhasil)
Paul
2

Perhatikan bahwa Anda tidak bisa hanya memiliki satu simpul perangkat untuk mewakili segala pendrive yang mungkin terpasang. Bagaimana jika Anda menyambungkan keduanya? Atau ketika pendrive memiliki lebih dari satu partisi?

Secara umum, apa yang Anda gunakan untuk membuat simpul perangkat bernama kustom, adalah SYMLINK+=. grep untuk itu dalam aturan untuk melihat bagaimana hal itu digunakan: grep SYMLINK /etc/udev/rules.d/*. Seperti dalam semua perintah yang dipicu udev, Anda dapat menggunakan beberapa variabel bermakna yang dijelaskan dalam man udev. Anda mungkin menyadari bahwa Anda tidak benar-benar perlu memberikan nama khusus ke perangkat, karena Anda dapat memasukkan namanya ke skrip (melalui %kvariabel).

Adapun solusi pemasangan otomatis, lihat UAM , yang telah saya jelaskan sedikit dalam jawaban untuk pertanyaan ini .

rozcietrzewiacz
sumber
Saya mengerti kendala ini. Seperti yang terjadi, saya hanya perlu mendukung satu stik USB yang terhubung pada satu waktu ke sistem ini. Namun, saya perlu mendukung beberapa partisi pada stik USB (alangkah baiknya jika ini dapat dipasang ke subfolder dari titik mount). Dengan persyaratan ini, apakah Anda punya saran untuk solusi potensial? Karena sifat proyek, saya harus menghindari menggunakan perangkat lunak pihak ketiga tambahan jika memungkinkan.
jon
Kemudian lihat hasil edit yang baru saja saya buat (bagian tengah). Apakah ini cukup?
rozcietrzewiacz
Perhatikan juga bahwa UAM sebenarnya bukan program - ini adalah sekelompok udevaturan yang bagus dengan skrip yang menyertainya. Anda dapat melihat aturan dan mudah menyesuaikannya dengan kebutuhan Anda.
rozcietrzewiacz
Terima kasih atas sarannya. Satu hal lagi: apakah Anda berpikir bahwa Anda dapat melihat output saya dari udevadmdan memberi tahu saya perangkat mana yang merupakan perangkat yang seharusnya saya targetkan dengan aturan saya? Berbagai contoh yang saya lihat online semua tampaknya melibatkan pohon yang jauh lebih pendek dan masing-masing contoh tampaknya menargetkan tingkat perangkat yang berbeda, tanpa penjelasan tentang mana yang harus ditargetkan dan mengapa.
jon
Baru saja menambahkan pembaruan di atas, ada ide? Terima kasih!
jon
2

Inilah cara saya baru-baru ini melakukannya, dan saya cukup senang dengan pendekatan ini sekarang. Ini untuk Ubuntu 12.04 + Gentoo, tapi saya kira ada distro, yang memungkinkan untuk menginstal udev dan autofs akan berfungsi.

Prasyarat: Anda harus menginstal udev + autofs.

Langkah 1)

Buat file "/etc/udev/rules.d/90-usbsd-auto.rules" berikut (tentu saja Anda dapat menggunakan nama apa pun asalkan diakhiri dengan ".rules"). :

# Add symlink /dev/usbdisks/<label> to /dev/sd[a-z][1-9] 
# for automounter support

ACTION=="add", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
    ENV{ID_BUS}=="usb", \
    SYMLINK+="usbdisks/%k", MODE:="0660", \
    RUN+="/bin/rm /media/usb/%k", \
    RUN+="/bin/ln -sf /media/autousb/%k /media/usb/%k"

# Some FileSystems emit a "change" event when they are unmounted.
# UDEV seems to delete the device symlink in this case :-(
# So we need to re-create it here
ACTION=="change", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
    ENV{ID_BUS}=="usb", \
    SYMLINK+="usbdisks/%k", MODE:="0660"


# When device is removed, also remove /media/usb/<...>
ACTION=="remove", KERNEL=="sd*", ENV{DEVTYPE}=="partition", \
    ENV{ID_BUS}=="usb", \
    RUN+="/bin/rm /media/usb/%k"

Apa yang dilakukan ini: Ini menciptakan dua symlink, satu untuk partisi perangkat penyimpanan USB di bawah "/ dev / usbdisks / <...>".

Symlink kedua akan ditautkan dari "/ media / usb / <...>" ke "/ media / autousb / <...>" ini dilakukan untuk dukungan automounter (lihat langkah 2).

Untuk memastikan udev membaca aturan ini, gunakan

sudo udevadm control --reload-rules

Catatan: Nama yang sama untuk stik usb yang sama: Kemungkinan tetapi mungkin berbahaya: Anda dapat menggunakan misalnya "$ env {ID_FS_LABEL_ENC}", alih-alih "% k" dalam aturan UDEV di atas. Ini akan menggunakan label volume untuk membuat / media / usb / <...>, tetapi apa yang terjadi jika Anda mencolokkan dua stik USB dan keduanya menggunakan label volume yang sama ...

Dengan file aturan udev ini, semuanya diatur untuk mengotomatisasikan partisi perangkat penyimpanan USB. Perhatikan bahwa saat ini, perangkat TIDAK akan diotomatisasi (sengaja). Ini akan diautomatisasi setelah Anda menggunakannya

Langkah 2)

Setup autofs ke automount / media / autousb / <...>: Saya menambahkan baris berikut ke file "/etc/auto.master" saya (untuk Ubuntu 12.04):

/media/autousb /etc/auto.usb --timeout=60

Ini berarti bahwa AutoFS akan melepas perangkat setelah 60 detik tidak aktif. Anda mungkin ingin menggunakan lebih sedikit atau lebih, tergantung selera Anda.

Untuk Gentoo Anda harus memodifikasi "/etc/autofs/auto.master" sehingga masuk akal untuk menggunakannya

/media/autousb /etc/autofs/auto.usb --timeout=60

Sekarang saya membuat "auto.usb" dengan konten berikut:

#!/bin/bash

key=${1}
fstype=$(/sbin/blkid -o value -s TYPE /dev/usbdisks/${key})
if [ "${fstype}" = "vfat" ] ; then
  echo "-fstype=vfat,sync,uid=0,gid=plugdev,umask=007 :/dev/usbdisks/${key}"
  exit 0
fi
if [ "${fstype}" = "ntfs" ] ; then
  echo "-fstype=fuse.ntfs-3g,sync,uid=0,gid=plugdev,umask=007 :/dev/usbdisks/${key}"
  exit 0
fi
if [ "${fstype}" = "ext4" ] ; then
  echo "-fstype=ext4,sync,nocheck :/dev/usbdisks/${key}"
  exit 0
fi

exit 1

Auto.usb ini perlu dieksekusi, sehingga autofs menggunakan ini sebagai skrip (bash). Jadi misalnya

sudo chmod 0755 /etc/auto.usb

Apa yang dilakukan ini: Script ini akan memberi tahu AutoFS (/ usr / sbin / automount) bagaimana me-mount partisi perangkat penyimpanan usb.

Script pertama-tama akan menggunakan "/ sbin / blkid" untuk mencari tahu jenis sistem file apa yang ada di partisi.

Skrip kemudian akan memberikan opsi pemasangan kanan tergantung pada partisi perangkat.

Catatan: Saya menyertakan kode sampel untuk "vfat" (mungkin yang paling umum untuk stik usb), "ntfs" dan "ext4" sistem file. Tentu saja cukup mudah untuk memperluas ini untuk mendukung lebih banyak sistem file.

Langkah 3)

Opsional ... Untuk "mengeluarkan" == unmount stick usb Anda (atau partisi pada stick usb Anda), buat skrip di bawah / sbin / usbeject:

#!/bin/bash
# make sure everything is written to USB disk(s)
sync
# sending SIUGSR1 to automount will unmount the media
killall -s SIGUSR1 /usr/sbin/automount

Dengan skrip ini, Anda dapat menggunakan "sudo usbeject" untuk meng-unmount semua partisi perangkat USB yang terpasang (dengan mengatakan automount untuk meng-unmountnya).

Tentu saja Anda cukup memastikan bahwa partisi tidak digunakan di mana pun; automounter kemudian akan melepas partisi setelah batas waktu 60 detik ...

Trik sebenarnya di sini adalah dengan menggunakan symlink dari "/ media / usb" ke "/ media / autousb":

  • Simbol "/ media / usb" akan dibuat oleh udev, memberikan pengguna gambaran umum sederhana tentang partisi perangkat penyimpanan usb yang ada
  • AutoFS kemudian akan mengotomatiskan partisi sesuai permintaan jika Anda menggunakannya melalui / media / usb
  • Dengan file "auto.usb" yang telah Anda skrip, Anda dapat mendukung segala jenis sistem file dan Anda juga dapat mendukung segala jenis skema penamaan.
  • Pendekatan ini mendukung stik USB dengan beberapa partisi, walaupun partisi ini menggunakan tipe sistem file yang berbeda.
Ingo Blackman
sumber
Bisakah saya tunjukkan bagaimana petunjuk autofs menghancurkan direktori / home / frank saya? Terima kasih.
Frank
1

Maaf untuk menjawab pertanyaan saya sendiri, dan terima kasih banyak karena rozcietrzewiacz untuk berkontribusi, tetapi saya akhirnya berhasil membuat beberapa kemajuan besar menggunakan aturan berikut setelah berjam-jam membaca online:

SUBSYSTEMS=="scsi", KERNEL=="sd[a-h]1", SYMLINK+="removable", RUN+="/bin/mount /dev/removable /path/to/mount"

Ini akan memasang partisi pertama perangkat SCSI apa pun. Saya kira pertanyaan selanjutnya adalah bagaimana me-mount beberapa partisi, tapi itu masalah lain untuk hari lain.

jon
sumber
1
Itu bukan aturan yang baik. Ini juga akan cocok dengan partisi hard drive . ada removableatribut yang harus Anda uji, dan alih- blockalih scsi.
rozcietrzewiacz
1

Saya telah menemukan bahwa jawaban terbaik sebenarnya sudah usang, karena tidak dipertahankan dan tidak bekerja pada / dari Jessie (lihat komentar oleh malat)

Bagi saya (di Jessie), solusi di blog ini bekerja seperti pesona.

Kredit untuk "ddumont", tetapi memposting ikhtisar blognya / jawab di sini, untuk mengatasi kemungkinan pembusukan tautan di masa mendatang.

Tambahkan baris berikut ke /etc/fstab

/dev/sr0 /media/bluray auto defaults,nofail,x-systemd.automount 0 2

Anda dapat melakukan ini menggunakan nano:

sudo nano /etc/fstab

Penjelasan:

/dev/sr0adalah file perangkat. Anda juga dapat menggunakan salah satu pengaturan tautan simbolik oleh udev di / dev / disk / by-id. Anda harus mengubah ini sesuai dengan file perangkat Anda ( sudo fdisk -lke daftar perangkat)

/media/blurayadalah titik mount. Anda dapat memilih titik pemasangan lain

nofail diperlukan untuk menghindari laporan kegagalan saat booting tanpa disk di drive optik

x-systemd.automount adalah opsi untuk mengkonfigurasi systemd untuk secara otomatis me-mount disk yang dimasukkan

Jangan menentukan noauto: ini akan mencegah systemd untuk secara otomatis me-mount disk, yang mengalahkan tujuannya.

Uji

Jalankan perintah journalctl -x -fdi terminal untuk memeriksa apa yang terjadi dengan systemd

Muat ulang konfigurasi systemd dengan sudo systemctl daemon-reload.

memuat disk ke drive optis Anda

Maka, journalctl harus menunjukkan sesuatu seperti:

Sept. 27 16:07:01 frodo systemd[1]: Mounted /media/bluray.

Lebih lanjut

Untuk berhasil me-mount drive NTFS saya harus menginstal ntfs-3g (ntfsprogs lama)

sudo apt-get install ntfs-3g

Saya tidak perlu menginstal hfsprogs untuk mendapatkan usb yang diformat OSX, tetapi Anda harus memeriksanya sendiri.

Paul
sumber
Tidak terpasang secara otomatis di Debian jessie saya dengan USB-HDD.
buhtz
@ Buhtz tetapi pemasangan secara manual tidak berhasil? Langkah-langkah di atas sebenarnya hanya bekerja untuk saya untuk drive yang ada di sistem saat startup, bukan "secara dinamis" memasukkan dan melepaskan USB saat sistem sedang berjalan.
Paul