linux执行mount命令报错:mount: RPC: Remote system error - Connection refused(NFS:nfs-kernel-server 挂载教程)
文章目錄
- 什么是NFS掛載目錄?
- 第一次嘗試(失敗)
- 第二次嘗試(成功)
- - (ubuntu上安裝NFS,Ubuntn上默認沒有安裝)
- - (給ubuntu上需要被共享的文件夾賦予權限,保證使用者都能夠讀、寫、執行)
- - (修改NFS配置文件)/etc/exports
- - (重啟portmapper(端口映射)服務)service portmap restart
- - (重啟NFS服務)service nfs-kernel-server restart
- - (測試Ubuntu nfs)showmount -e
- - (本機掛載)略
- - (開發板掛載,重新執行:`mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata`)
- - (如何查看客戶機所有掛載目錄?)cat /proc/mounts 或者 df -h
- - (如何取消掛載)umount
- 如何在板子上使用掛載目錄直接運行海康hikflow_demo?
- config_yolov3_tiny_pytorch.txt 內容改成相對路徑
- 20220323 這邊發現mount一個有文件的目錄是會臨時把東西干掉的,umount后又恢復了
- 20220323 而且如果當前pwd是在mount目錄下,是沒法umount的,會提示:`Device or resource busy`,需要切換到目錄外才行
什么是NFS掛載目錄?
參考文章:NFS服務器是什么?(Network File System 網絡文件系統)(遠程主機間 mount 掛載目錄)
第一次嘗試(失敗)
如下,在海康攝像機里掛載ubuntu目錄時報錯:
# pwd / # mkdir userdata # # ls bin dev init mnt root sys usr config etc lib model run syslog var dav heop lib32 opt runit tmp davinci home linuxrc proc sbin userdata # # mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata/ mount: RPC: Remote system error - Connection refused mount: mounting 192.168.1.123:/root/heop_devel_kit/volume on /userdata/ failed: Bad file descriptor沒解決。。。
我用另一臺ubuntu虛擬機去掛載第一臺虛擬機,也不行。。
第二次嘗試(成功)
后來百度查,發現可能是ubuntu上需要安裝nfs-kernel-server服務才行,試試:
- (ubuntu上安裝NFS,Ubuntn上默認沒有安裝)
apt update apt install nfs-kernel-server- (給ubuntu上需要被共享的文件夾賦予權限,保證使用者都能夠讀、寫、執行)
[root@ubuntu ~/heop_devel_kit]33# ls volume [root@ubuntu ~/heop_devel_kit]34# [root@ubuntu ~/heop_devel_kit]34# chmod 777 volume/ -R重新執行mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata/,又報錯了,這次是Permission denied
# mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata/ mount: 192.168.1.123:/root/heop_devel_kit/volume failed, reason given by server: Permission denied mount: mounting 192.168.1.123:/root/heop_devel_kit/volume on /userdata/ failed: Bad file descriptor- (修改NFS配置文件)/etc/exports
在ubuntu里,打開/etc/exports文件(先備份)
cp /etc/exports /etc/exports.bak gedit /etc/exports在最后加上:(其中前面的是要被掛載的路徑,后面的是被允許掛載的ip主機)
/root/heop_devel_kit/volume 192.168.1.*(rw,sync,no_root_squash,no_subtree_check) /home/nfst_shared ---要共享的目錄 192.168.0.*---允許訪問的網段,也可以是ip地址、主機名(能夠被服務器解析)、*(所有人都能訪問)(rw,sync,no_root_squash,no_subtree_check)---rw:讀/寫權限sync:數據同步寫入內存和硬盤no_root_squash:服務器允許遠程系統以root特權存取該目錄no_subtree_check:關閉子樹檢查其他選項可以通過man exports查閱man文檔- (重啟portmapper(端口映射)服務)service portmap restart
service portmap restart- (重啟NFS服務)service nfs-kernel-server restart
service nfs-kernel-server restart- (測試Ubuntu nfs)showmount -e
showmount -e結果:
[root@ubuntu ~/heop_devel_kit]45# showmount -e Export list for ubuntu: /root/heop_devel_kit/volume 192.168.1.*- (本機掛載)略
# ls /home/nfst_shared/ #被掛載的文件夾下面的東西 cross-3.4.1.tar.bz2 linux-2.6.12 upload download msap VMwareTools-8.1.3-203739.tar.gz DSDT_2[1].8b.zip ntp vmware-tools-distrib DSDT_2.8b protocol-converter 安裝包# mkdir /mnt/nfs_test # ls /mnt/nfs_test/ #空白的 # sudo mount -t nfs -o nolock localhost:/home/nfs_shared /mnt/nfs_test/ # ls /mnt/nfs_test/ #看到了和/home/nfst_shared/目錄下的文件一樣,說明掛載成功 cross-3.4.1.tar.bz2 linux-2.6.12 upload download msap VMwareTools-8.1.3-203739.tar.gz DSDT_2[1].8b.zip ntp vmware-tools-distrib DSDT_2.8b protocol-converter 安裝包# sudo umount /mnt/nfs_test #解除 # ls /mnt/nfs_test/ #空白的- (開發板掛載,重新執行:mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata)
mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata成功了:
# mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume /userdata # ls /userdata/ 20220304_hikflow_yolov5 RTSP_DEMO_1.1.1_H7.app HEOPEXTERNDEMOAPP_1.1.1_H7.app arnold_test HEOPTESTDEMOAPP_2.3.0_H7.app hik2.3-ipc_h7_5.6.100 Model_P_H7_NPU0.bin hikflow_arnold_20220302 #但是這樣路徑太短,用起來不方便,建議:
mount -t nfs -o nolock 192.168.1.123:/root/heop_devel_kit/volume/20220304_hikflow_yolov5/hikflow/APP_2.3.0_pytorch_yolo /userdata- (如何查看客戶機所有掛載目錄?)cat /proc/mounts 或者 df -h
cat /proc/mounts結果:
# cat /proc/mounts rootfs / rootfs rw,size=218032k,nr_inodes=54508 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 ramfs /home ramfs rw,relatime 0 0 udev /dev tmpfs rw,relatime 0 0 devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0 /dev/part/app0blk /dav ext4 rw,relatime,data=ordered 0 0 /dev/part/cfg0blk /davinci ext4 rw,relatime,data=ordered 0 0 /dev/part/cfg1blk /config ext4 rw,relatime,data=ordered 0 0 /dev/part/model /model ext4 rw,relatime,data=ordered 0 0 /dev/part/syslog /syslog ext4 rw,relatime,data=ordered 0 0 none /proc/bus/usb usbfs rw,relatime 0 0 cgroup /sys/fs/cgroup cgroup rw,relatime,cpuset,cpu,memory,devices 0 0 tmpfs /run/lxcfs/controllers tmpfs rw,relatime,size=100k,mode=700 0 0 cpuset,cpu,memory,devices /run/lxcfs/controllers/cpuset,cpu,memory,devices cgroup rw,relatime,cpuset,cpu,memory,devices 0 0 lxcfs /var/lib/lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0 /dev/part/model /heop ext4 rw,relatime,data=ordered 0 0 /dev/part/syslog /mnt/emmc_syslog ext4 rw,relatime,data=ordered 0 0 /dev/part/store /mnt/nfs0 ext4 rw,relatime,data=ordered 0 0 none /dev/mqueue mqueue rw,relatime 0 0 192.168.1.123:/root/heop_devel_kit/volume /userdata nfs rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,port=2049,timeo=70,retrans=3,sec=sys,local_lock=all,addr=192.168.1.123 0 0 #或者df -h
# df -h Filesystem Size Used Available Use% Mounted on rootfs 212.9M 20.2M 192.7M 9% / udev 216.9M 228.0K 216.7M 0% /dev /dev/part/app0blk 487.9M 51.7M 400.4M 11% /dav /dev/part/cfg0blk 14.5M 1.4M 12.0M 10% /davinci /dev/part/cfg1blk 14.5M 1.3M 12.0M 10% /config /dev/part/model 1.4G 41.1M 1.3G 3% /model /dev/part/syslog 120.0M 1.5M 109.5M 1% /syslog tmpfs 100.0K 0 100.0K 0% /run/lxcfs/controllers /dev/part/model 1.4G 41.1M 1.3G 3% /heop /dev/part/syslog 120.0M 1.5M 109.5M 1% /mnt/emmc_syslog /dev/part/store 3.7G 15.3M 3.5G 0% /mnt/nfs0 192.168.1.123:/root/heop_devel_kit/volume582.6G 343.1G 214.9G 61% /userdata #- (如何取消掛載)umount
umount [本機掛載路徑] # umount /userdata/ # # # ls /userdata/ #參考文章1:ubuntu配置NFS,掛載開發板
參考文章2:linux里面如何查文件系統下所有掛載的目錄?
參考文章3:開發板mount宿主機出現提示:mount: nfs mount failed: Bad file descriptor的解決方案
如何在板子上使用掛載目錄直接運行海康hikflow_demo?
# ls 2560 2571 2584 2607 2630 HEOPTESTDEMOAPP_2.3.0_H7.app Model_P_H7_NPU0.bin YOLOV3_P_G5_NPU0.bin YOLOV3_P_H7_NPU0.bin app config_yolov3_tiny_pytorch - ??????.txt config_yolov3_tiny_pytorch.txt data hikflow_demo_h7 html mediaDrvDbg opdevsdk_demo.sh package.conf packapp #config_yolov3_tiny_pytorch.txt 內容改成相對路徑
# cat config_yolov3_tiny_pytorch.txt hikflow_model_path= ./Model_P_H7_NPU0.bin test_image_list=./imagelist_yolov3_tiny_pytorch.txt result_path=./yolo_pytorch_output.float#然后在/userdata路徑下運行:
./hikflow_demo_h7 ./config_yolov3_tiny_pytorch.txt YUV即可測試
(注意編譯可執行文件還得到ubuntu虛擬機上)
20220323 這邊發現mount一個有文件的目錄是會臨時把東西干掉的,umount后又恢復了
20220323 而且如果當前pwd是在mount目錄下,是沒法umount的,會提示:Device or resource busy,需要切換到目錄外才行
總結
以上是生活随笔為你收集整理的linux执行mount命令报错:mount: RPC: Remote system error - Connection refused(NFS:nfs-kernel-server 挂载教程)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xshell怎么把界面信息(终端信息)输
- 下一篇: linux怎么连续退回上次目录?cd -