Önyükleme sırasında takmak için bir CIFS ağ sürücüsü alınamıyor


22

Tüm dosyalarımı içeren bir ağ sürücüsüne erişmek için fstab'deki bir paylaşım ekledim ... fstab benziyor:

proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
//192.168.1.73/disk1 /media/disk1 cifs username=pi,password=raspberry,_netdev,uid=1000,gid=1000,iocharset=utf8, 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that

sudo mount -aAğ sürücüsünü çalıştırdığımda başarılı bir şekilde bağlanıyor ve cd /media/disk1daha sonra bunu yapabiliyorum, lsbu da bana söz konusu ağ sürücüsündeki tüm klasörlerin listesini doğru bir şekilde veriyor.

Ancak, ben cdo konuma ve lstekrar çalıştırmak zaman pi yeniden başlattıktan sonra , hiçbir şey yok. Manuel olarak sudo mount -atekrar çalıştırmam gerekiyor , sonra sürücüyü monte ediyorum .

Bu durumun diğer forumlarda defalarca bildirildiğini gördüm ve fikir birliği fstab'daki bağların çok erken bir zamanda gerçekleştiği görülüyor - ağ kurulmadan önce. Anladığım şeyleri uygulamaya çalıştım - ama dürüst olmak gerekirse birçoğu kafamın üstünde. Ben ekledim _netdevfstab'e hattına, ben ekledim rootdelay=10/boot/cmdline.txt içine, ben NetworkManagerı yükledim ... bunların hiçbiri yardımcı oldu.

Ve böylece sana döneceğim, pi'yi pencereden dışarı atmaya hazır mısın? Herhangi bir yardım, çok takdir etmek.

Yanıtlar:


9

Bağlamayı, köke veya kullanıcı crontab'ınıza eklemenizi öneririm.

Şu anda sudo kullandığınız göz önüne alındığında, kök crontab en uygun gibi görünüyor.

sudo crontab -e #, kök crontab'ı düzenlemek için

Crontab'a bir @reboot girişi ekleyin. Gibi bir satıra ihtiyacınız var

@reboot (30 uyku; / bin / mount / ortam / disk1)

Diski takmadan önce bu 30 saniye bekleyecektir.


1
Buna ulaşmak için harcanan zaman için özür dilerim, sadece bununla tekrar oynama şansım oldu. Çözümünüzün mükemmel çalıştığını söylemek beni çok rahatlatıyor. Yardımın için çok teşekkürler.
Luke Twomey

bu kesin olarak kesinleşir, ancak kapanma prosedürü ile ilgili prosedürü nasıl çözeriz?
Ciasto piekarz

14

Aynı zamanda bir ağ sürücüsünün önyüklemesinde otomatik montajı ile ilgili de aynı sorunu yaşadım. Düzenlemeden sonra mount -akomut eklemeyi denedim ama boşuna. Çalışmamasının nedeni, ağın yürütülmeden önce hazır olmamasıdır ./etc/rc.local/etc/fstabmount -a

Diğerlerinin de belirttiği gibi, fstab sürücülerinin ağ kurulmadan önce bile monte edilmiş olmaları. Ağın önyükleme sırasında hazır olduğundan emin olmak için Wait for Network at Bootiçinde bir seçenek vardır raspi-config.

koşmak

sudo raspi-config

ve Wait for Network at Bootseçeneği ayarlayın Slow wait for network connection before completing bootve yeniden başlatın. Elbette, başlatma süresi de iyi etkilenebilir, ancak bu kritik değilse, bu yöntem kullanılabilir.

Yeniden başlattıktan sonra, ağ sürücüsünün otomatik olarak monte edildiğini kontrol edebilirsiniz: hızlı kontrol ls /media/DRIVE_NAMEveyadf


Bu kesinlikle benim için işe yaradı, Kasım 2016 itibariyle en son güncellemeleri olan
rpi3 ile

/etc/rc.local mount -aÇözümü kullanmayı tercih ediyorum ama önce uyumayı unutmayın. Cevabımı gör Buraya yeni gönderdim: raspberrypi.stackexchange.com/a/63690/49091
Gabriel Staples

4

Bunun Google’da göründüğünü görünce notları güncelleyin. Airport Time Capsule'imi takarken aynı seri sıkıntı yaşadım. 14 Mart 2018'de yayımlanan Rasbian Stretch'te Raspberry Pi 3B + ile standart GUI kullanıyorum.

İşte benim fstab kod satırı:

//100.10.10.1/Data /mnt/timecapsule cifs username=********, password=******, vers=1.0, rw, uid=1000, iocharset=utf8, sec=ntlm 0 0

Zaman içinde birkaç değişiklik olmuş gibi görünüyor:

  1. "Vers = 1.0" ifadesi eklemeniz gerekiyor
  2. _netdev CFIS dosya sisteminde hiçbir şey yapmaz, yalnızca NFS dosya sisteminde çalışır (aşağıda Gabriel Staples tarafından belirtildiği gibi)
  3. "user =" ve "pass =" şimdi sırasıyla "username =" ve "password =" olmalıdır
  4. Son olarak, Raspberry Pi Configuration Utility'de önyükleme sorunumdaki çözümü çözen "Ağ bekle" kutusu işaretlendi.

2 gün süren mücadelelerden sonra, maden artık nihayet monte edildi ve açılışta bunu yaptı!


1

Bu sorunu çözmenin bir başka yolu da, dosyanın altına /etc/rc.localkomut eklemek :

mount -a

Yeniden başlattıktan sonra, komutu yazarak her şeyin yolunda olup olmadığını kontrol edebilirsiniz:

df -h

ve böyle bir şey göreceksiniz:

pi@raspberrypi ~ $ df -h
File system      Dim. Usati Dispon. Uso% Montato su
/dev/root        7,2G  6,3G    584M  92% /
devtmpfs         119M     0    119M   0% /dev
tmpfs             25M  412K     25M   2% /run
tmpfs            5,0M     0    5,0M   0% /run/lock
tmpfs             49M     0     49M   0% /run/shm
/dev/mmcblk0p1    56M   20M     37M  36% /boot
//192.168.1.1/ws 466G  452G     14G  98% /mnt/winshare  <----------

0

Bu _netdevseçenek, /etc/fstabcif hisseleri için hiçbir şey yapmadı Bu kaynak ( https://help.ubuntu.com/community/Fstab ), "_netdev - bu bir ağ aygıtı olduğunu söylediğinde ağı bağladıktan sonra bağladığını doğrular gibi görünüyor . Yalnızca fstype nfs ile geçerlidir ".

Ben kullanmayı tercih /etc/rc.localuyku ve sonra arayarak, bu sorunu gidermek için dosyayı mount -aiçindeki yerine kullanarak crontabveya Wait for network at bootseçenek içinde raspi-config. Ancak, /etc/rc.localdüzeltmenin işe yaramasını sağlamak için aşağıda açıklandığı gibi uyumayı unutmayın.

Bu sorunu çözmek için yaptığım şey (Pi3'ümde) /etc/rc.local20 saniye (arayarak sleep 20) uyumak ve sonra aramak mount -a. Bu yol, sistem henüz fstab dosyasını okuduğunda ağ henüz bağlanmadıysa bile, bu durumda bağlantı başarısız olursa, sistemi burada 20 saniye beklemeye zorlarım (ağa bağlanmak için zaman vererek) sonra mount -atekrar aramaya zorlarım tüm sürücüleri fstabdosyaya takmak için .

İşte /etc/rc.localdosyam şimdi şöyle görünüyor:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

Bitti! Şimdi benim için mükemmel çalışıyor!

Referanslar:


0

Benim durumumda ben aldım Ahududu Pi 3 ve kurulu Raspbian Stretch , benim düzenlenmiş fstab'ı bu gibi ağ sürücülerinin sevdiğim düzenlemesi ile:

//172.30.0.54/mnt/anim /mnt/share/Z cifs  username=frieza,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/V /mnt/share/V cifs  username=goku,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/M /mnt/share/M cifs  username=piccolo,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/O /mnt/share/O cifs  username=drbrief,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/R /mnt/share/R cifs  username=vegeta,password=meh,uid=1000,gid=1000,vers=2.0 0 0

Ne zaman kullansam:

sudo mount -a

Ben bir satır eklemeye karar verene kadar otomatik montaj olur fstab'e listelenen her sürücü, o zaman hiçbir şey çalıştı, ben başlangıçta, uzun lafın kısası üzerine bu sürücülerin içerik keyfini böylece Rc.local ve diğer bazı yerlere bu katma root gibi crontab :

sudo crontab -e

Editörümü seçti (nano durumda nano) Sonra bu satırı en altına ekledi

@reboot (sleep 20;/bin/mount -a)&

Yeniden başlattıktan sonra her şey benim durumumda iyi çalıştı. Umarım bu size yardımcı olur.

NOT:

Herhangi bir sorunla karşılaşırsanız, her zaman çalıştırabilirsiniz:

service cron status

Ve neyin kaçtığını, neyin kaçmadığını anlatan bir ipucu verecek.


0

Ekleyebilir _netdev ve açıklama systemd.automount = fstab'e özelliklerini ve başlatmanın ardından benim için çalışan gayet iyi. Aynı problemi yeniden başlatırken karşıladım.

\\network_shared_location\directory /your_mount_location/mount_directory cifs _netdev,username=<your_username>,password=<your_password>,workgroup=<YOUR_WORKGROUP>,users,auto,user_xattr,comment=systemd.automount 0 0

-1

Bunun biraz geç bir cevap olduğunu biliyorum ama aynı sorunu yaşadım ve fstabçağrıldığında ağın açılmaması ile ilgiliydi. İlk denedim crontabve işe yaramadı ama düşünce biraz dağınık ...

Mount'ı önyüklemede olduğu gibi çalıştırmak için bir komut dosyası kullanarak geçen harika bir yazı varinit.d ... şimdi benim için harika çalışıyor.


1
İleride durumunda, sizin bağlantıdan belirgin ayrıntıları sağlamak cevabınızı düzenleyebilir bağlantı ölüm .
Greenonline 16:15
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.