USB diskini kalıcı bir yere monte etme


13

Önyüklemeye ve belirli bir konuma takmak istediğim bir USB sabit diskim var. Hiç kimse oturum açmamış olsa bile, bu sürücüyü takmayı ve kullanılabilir kalmayı (yerel yedeklemeler vb. İçin) nasıl yapabilirim?

Görünüşe göre udev veya benzeri bir şey diski tutuyor. Bu diski (UUID ile) özel olarak bağlamaya çalışan / etc / fstab dosyasına bir girdi koyarsam, o bağlanma işlemi ve udev bağlanma işlemi birbiriyle bir savaşa girer ve disk bağlanmaz.


Eklediğiniz satırı ekleyebilir misiniz /etc/fstab? Sürücünüzü taktığınızda herhangi bir günlük mesajı var mı? Belki de günlük seviyesini yükseltmeye yardımcı olur /etc/udev/udev.conf.
qbi

Fstab çizgisi nasıl görünüyor? Bu "UUID = 48a26dbe-e707-4e45-bd55-fc7936292ee1 / verilerin ext4 hataları = remount-ro 0 2" gibi Somthing görünmelidir
LassePoulsen

Yanıtlar:


7

Udev kullanarak diski takın. Bundan kuralları yerleştirin wiki içine /etc/udev/user.rulesve yeniden başlatma (veya USB HDD yeniden). Wiki'de birkaç iyilik kuralı vardır (bu yüzden onları burada listelemedim), ihtiyaçlarınıza en uygun olanı seçin (örneğin, bağlantısını kesmek için belirli bir normal kullanıcıya ihtiyacınız vardır).

İncelerken /lib/udev/rules.d/80-udisks.rulessize yaptığını Udev anlamamıza yardımcı olacaktır sizin sabit disk.

Yukarıda bahsettiğim udev kurallarının yanı sıra, alabileceğiniz başka bir yaklaşım olduğunu düşünüyorum: udisks'e (udev aracılığıyla) diskinizi yalnız bırakıp fstab aracılığıyla monte etmelerini söyleyin.

Bu kod sistemimde çalışıyor

ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"

ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"

KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

LABEL="my_udisks_end"

ancak geneldir ve tüm bölümleri içerir. Belirli hdd / bölüm kullanımınızı hedeflemek udevadm info --query=all -n /dev/sdXve daha sonra udev kurallarındaki bu belirli özelliklerden bazılarıyla eşleşmek için.

Bu konuda size yardımcı olacak iyi bir kaynak udev kuralları yazmaktır . Ne yazık ki bazı eski bilgiler içeriyor ( udevinfoile değiştirildi udevadm indo). Sizi temin ederim ki, bu değerli bir okuma - udev günümüzde merkezi bir mimari eserdir ve bunu kullanarak çok şey başarabilirsiniz. Aynı zamanda oldukça esnektir.

Ayrıca udev kurallarında hata yapmak da kolaydır :). udevadm test $(udevadm info -q path -n /dev/sdX)Udev'in ne yaptığına bir göz atmak için kullanın .


Muhteşem. Bu benim aradığım şeye çok benziyor. Yapmam gereken bazı şeyler var ...
Don Faulkner

1

UUID yerine / dev / ... ile göndermeyi deneyebilirsiniz. Büyük olasılıkla / dev / sdb *, bunu Sistem -> Yönetim -> Sistem Monitörü'ne gidip 'Dosya Sistemleri' sekmesine tıklayarak kontrol edebilirsiniz. Önce USB sürücüsünü takmanız ve otomatik olarak takılmasına izin vermeniz gerekir. 'UUID = uuid' yerine / etc / fstab içindeki '/ dev / sdb *' yazın. Fstab'ı düzenlemeden önce yedeklemek her zaman iyi bir fikirdir.


4
Yığın depolama aygıtlarını doğrudan aygıt düğümlerine yönlendirmek kötü bir fikirdir! BIOS ayarları ve kaldırılan aygıtlar aygıt sırasını bozabilir.
LassePoulsen

Muhtemelen haklısınız, ancak bir USB aygıtı her çıkarılıp takıldığında UUID'nin yeniden oluşturulduğu izlenimindeydim. Bu, aygıtın her çıkarılıp yeniden takıldığında fstab'ın düzenlenmesi gerektiği anlamına gelir.
dv3500ea

Aslında yanılmışım, UUID aynı kalıyor.
dv3500ea

3
UUID filsystems Benzersiz Kimliğidir ve veri yolu konumu veya cihazla ilgili değildir. Tüm dosya sistemini bir cihazdan diğerine kopyalarsanız bile hayatta kalacaktır.
LassePoulsen

1
Dosya sistemi kalıcılığı, uuid mount ile aradığım şeydi. Bu benim "yerel yedekleme" aygıtım ve aygıtları eklesem veya yeniden ayarlasam bile / yedeklemenin (veya nereye taktığımın) her zaman bu dosya sistemine sahip olmasını istiyorum. Byuuid veya by-label montajın avantajı budur.
Don Faulkner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.