Dodałem udział w fstab, aby uzyskać dostęp do dysku sieciowego ze wszystkimi moimi plikami na ... fstab wygląda następująco:
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
Kiedy uruchamiam sudo mount -a
zaczepy dysku sieciowym pomyślnie i mogę cd /media/disk1
wtedy ls
który poprawnie daje mi listę wszystkich folderów na wspomnianym dysku sieciowym.
Jednak po ponownym uruchomieniu pi, gdy cd
przechodzę do tej lokalizacji i uruchamiam ls
ponownie, nic tam nie ma. Muszę ręcznie uruchomić sudo mount -a
ponownie, a następnie montuje dysk.
Widziałem to wiele razy na innych forach i wydaje się, że istnieje konsensus, że mounts w fstab zdarzają się zbyt wcześnie - zanim sieć zostanie ustanowiona. Próbowałem wdrożyć rzeczy, które rozumiem - ale szczerze mówiąc, wiele z nich to coś ponad moje możliwości. Dodałem _netdev
do linii w fstab, dodałem rootdelay=10
do /boot/cmdline.txt, zainstalowałem menedżera sieci ... nic z tego nie pomogło.
Zwracam się więc do ciebie, gotowa wyrzucić pi przez okno - a za mną. Każda pomoc, bardzo ceniona.
źródło
Miałem również ten sam problem z automatycznym montażem dysku sieciowego podczas rozruchu. Próbowałem dodać
mount -a
polecenie/etc/rc.local
po edycji,/etc/fstab
ale bezskutecznie. Powodem, dla którego nie działa, jest to, że sieć nie jest gotowa przed uruchomieniemmount -a
.Jak wspomnieli inni, problemem jest to, że dyski fstab są montowane jeszcze przed uruchomieniem sieci. Aby mieć pewność, że sieć jest gotowa podczas rozruchu, istnieje opcja
Wait for Network at Boot
wraspi-config
.biegać
i ustaw
Wait for Network at Boot
opcję naSlow wait for network connection before completing boot
i uruchom ponownie. Oczywiście może mieć to wpływ na czas uruchamiania, ale jeśli nie jest to krytyczne, można zastosować tę metodę.Po ponownym uruchomieniu możesz sprawdzić, czy dysk sieciowy jest zamontowany automatycznie: szybkie sprawdzenie przez
ls /media/DRIVE_NAME
lubdf
źródło
/etc/rc.local
mount -a
rozwiązania, ale nie zapomnij najpierw spać. Zobacz moją odpowiedź, którą właśnie zamieściłem tutaj: raspberrypi.stackexchange.com/a/63690/49091Zaktualizuj notatki, widząc, że pojawiło się to w Google. Doświadczyłem tej samej serii frustracji podczas montowania kapsuły czasu na lotnisku. Używam Raspberry Pi 3B + na Rasbian Stretch wydanym 14 marca 2018 ze standardowym GUI.
Oto moja linia kodu fstab:
//100.10.10.1/Data /mnt/timecapsule cifs username=********, password=******, vers=1.0, rw, uid=1000, iocharset=utf8, sec=ntlm 0 0
Z czasem wydaje się, że nastąpiło kilka zmian:
Po 2 dniach zmagań, moja jest teraz w końcu zamontowana i robi to przy starcie!
źródło
Inną sztuczką, aby rozwiązać ten problem, jest dodanie w dolnej części pliku
/etc/rc.local
polecenia:Po ponownym uruchomieniu możesz sprawdzić, czy wszystko jest w porządku, wpisując polecenie:
a zobaczysz coś takiego:
źródło
Wydaje się, że
_netdev
opcja w/etc/fstab
nic nie robi dla akcji cifs. Ten zasób ( https://help.ubuntu.com/community/Fstab ) wydaje się potwierdzać, że gdy mówi „_netdev - jest to urządzenie sieciowe, zamontuj je po uruchomieniu sieci. Działa tylko z fstype nfs ”.Wolę używać
/etc/rc.local
pliku, aby to naprawić, przez uśpienie, a następnie wywołaniemount -a
w nim, zamiast używaniacrontab
lubWait for network at boot
opcji wraspi-config
. Aby jednak/etc/rc.local
poprawka zadziałała, nie zapomnij spać, jak wyjaśniono poniżej.To, co zrobiłem, aby rozwiązać ten problem (na moim Pi3), to zmiana trybu
/etc/rc.local
uśpienia na 20 sekund (przez wywołaniesleep 20
), a następnie wywołaniemount -a
. W ten sposób, mimo że sieć NIE jest jeszcze podłączona, gdy system po raz pierwszy odczytuje plik fstab, więc wtedy montowanie kończy się niepowodzeniem, zmuszam system do czekania tutaj 20 sekund (dając czas sieci na połączenie), a następnie zmuszam go domount -a
ponownego wywołania aby zamontować wszystkie dyski wfstab
pliku.Oto jak
/etc/rc.local
teraz wygląda mój plik:Gotowy! Teraz działa dla mnie idealnie!
Referencje:
źródło
W moim przypadku kupiłem Raspberry Pi 3 i zainstalowałem Raspbian Stretch , edytowałem mój plik fstab w moim ulubionym układzie dysków sieciowych:
Więc ilekroć użyłem:
Każdy dysk wymieniony w fstab montowałby się automatycznie, a następnie dodałem go do rc.local i kilku innych miejsc, aby móc cieszyć się zawartością tych dysków po uruchomieniu, krótko mówiąc, nic nie działało, dopóki nie zdecydowałem się dodać linii do katalogu głównego crontab jak:
Wybierz mojego edytora (w tym przypadku nano) Następnie dodaj tę linię na dole
W moim przypadku wszystko działało dobrze po ponownym uruchomieniu. Mam nadzieję, że to wam pomoże.
UWAGA:
Jeśli napotkasz jakiekolwiek problemy, zawsze możesz uruchomić:
I da ci podpowiedź, co poszło, a co nie
źródło
Możesz dodać atrybuty _netdev i comment = systemd.automount w fstab i wszystko działa dobrze dla mnie po ponownym uruchomieniu. Podczas ponownego uruchamiania miałem ten sam problem.
źródło
Wiem, że to trochę spóźniona odpowiedź, ale miałem ten sam problem i miało to związek z tym, że sieć nie
fstab
działała w momencie wywołania. Próbowałemcrontab
pierwszego i zadziałało dobrze, ale myśl była trochę niechlujna ...Jest tutaj świetny post , który uruchamia się za pomocą skryptu,
init.d
aby uruchomić mount jak podczas rozruchu ... teraz działa świetnie dla mnie.źródło