Dosya sistemlerinin otomatik olarak hangi sırayla monte edileceğini nasıl belirleyebilirim?


15

Ben /etc/fstabher zaman diğer iki satır sonra monte edilecek belirli bir satır gerekir :

# Always mount these first
UUID=fdf38dd4-9e9d-479d-b830-2a6989958503 / ext4 noatime,discard,errors=remount-ro 0 1
UUID=2b548eb8-fa67-46ce-a998-91d587dba62f /home/.hdd ext4 errors=remount-ro 0 2

# Always mount this second
none /home/ak aufs br:/home/.ssd/ak=rw:/home/.hdd/ak=rw 0 0

Mevcut davranış genellikle son iki satırın sırasını öngörülemeyen bir şekilde tersine çevirmektir. Gerekli siparişi nasıl belirleyebilirim?


4
Olası geçici çözüm (denenmemiş): Yapılandırma son isim noautove monte rc.local?
jg-faustus

@ jg-faustus Teşekkür ederim, geçici çözüm başarılı görünüyor.
ændrük

@ jg-faustus Bu ödül yakında sona erecek ve geçici çözümünüz bir cevaba en yakın şey. Eğer aşağıya gönderirsen sana +50'yi vereceğim.
ændrük

Yanıtlar:


18

Bir seçenek, montajı /etc/fstabtamamlanıncaya kadar ertelemektir , bu size montaj sırası üzerinde tam kontrol sağlar.

Sadece noautofstab'daki montaj seçeneklerine ekleyin ve takın rc.local.

Göre adam sayfasında , mount -agirişleri bağlar fstabeklerken, sırayla -FParallell bunları monte edecek ( 'çatal') seçeneğini. Görünüşe göre önyükleme süresini azaltmak için standart önyükleme 'çatal' kullanıyor gibi görünüyor, bu yüzden daha sonra manuel olarak montaj (yarı-) montaj sırasının kontrolünü yeniden kazanmanın en basit yoludur.


4

Mount komut dosyası çağrıldıktan sonra ikinci diskleri bağlayan bir komut dosyası ayarlamayı düşünebilirsiniz . Ubuntu initd'de, işletim sisteminizin tüm bileşenlerini başlatan hizmettir ve buna upstart adı verilir .

Olay tabanlıdır, yani önyükleme işlemi sırasında olayları arar / bekler ve yayar. Bu yazının işaret ettiği gibi , initd hizmeti paralel olarak bir şeyler yapmaya çalışır, bu da muhtemelen sorunlarınıza neden olur. Böylece bağlantınızı bitirdikten ve tamamladıktan hemen sonra komut dosyanızı çalıştırabilirsiniz.

Bağlama komut dosyaları / etc / init / dizininde tutulur. Ben orada ek mount komut dosyası eklemek istiyorum. Başlatma işleminin bu açıklamasına bakın . Bu site muhtemelen kendi komut dosyanızla en hızlı şekilde bakmanıza yardımcı olacaktır.

Kendi komut dosyanızda bir başlangıç bölümü olması gerekir. Bir başkası bittikten sonra iş başlatmak için bu bölüme bakın.

Hala kendi başlangıç ​​scriptlerimi kendim nasıl oluşturacağımı arıyorum, bu yüzden daha fazla yardımcı olamam. Çalışan bir çözüm bulursanız, lütfen buraya geri gönderin.


4

Ubuntu mountallönyükleme sırasında kullanır , kullanmaz mount -a. Mountall, altta yatan cihazların görünmesini bekler ve ardından monte edildiği fs henüz monte edilmedikçe fs'yi hemen üzerine monte eder, o fs'yi bekler.

3 dosya sisteminin bağlama noktalarını birbiri ardına istiflenecek şekilde ayarlayarak istediğiniz sırayı alabilmelisiniz. Üçünü de /home/.something içine yerleştirmek yerine, ilkini /home/.x içine ve ikincisini /home/.x/.y içine ve üçüncüsünü /home/.x/.y/ içine koyun. .z.


4

Systemd şimdi montaj sırasını zorlayan bir bağımlılık seçeneği içeriyor. Sizin durumunuzda fstab argümanlarını ekleyin:

x-systemd.requires-mounts-for=/,x-systemd.requires-mounts-for=/home/.hdd

Diğer bağlı dosya sistemlerine bağlamanız gerekirse noauto seçeneği çalışmaz. Benim durumumda yukarıdaki çalıştı daha fazla bilgi için https://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823 adresine bakın.


Güzel alıntı. requires-mounts-forVe arasındaki farkın ne olduğunu söyleyebilir misiniz requires?
Anwar

x-systemd.requiresAynı şeyi yapıyormuş gibi görünüyor ! Neden iki seçenek olduğunu bilmiyorum
Anwar

1

Buna göre man fstab, showthroughseçenek aradığınız şey olabilir. / Home / ak ayarını yapmayı ve çalışıp çalışmadığını görmeyi deneyin.

mountÖnyükleme sırasında dosya sistemlerini monte ederken çatallar mümkündür ; öyleyse, bölümlerinizin monte edilme sırası tanımsız olacaktır.


1
showthroughsorunu çözmedi.
ændrük
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.