我有两台装有 raspbian 操作系统的机器。
第一台机器连接了 HD USB。
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 362M 0 362M 0% /dev
tmpfs tmpfs 367M 5.0M 362M 2% /run
/dev/mmcblk0p2 ext4 29G 852M 27G 4% /
tmpfs tmpfs 367M 0 367M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 367M 0 367M 0% /sys/fs/cgroup
/dev/mmcblk0p1 vfat 240M 23M 217M 10% /boot
/dev/sda2 fuseblk 2.8T 1.3T 1.5T 46% /media/biblio
/dev/sda1 vfat 300M 380K 299M 1% /media/EFI
tmpfs tmpfs 74M 0 74M 0% /run/user/1000
我想/dev/sda2
与第二台机器共享。这就是我所做的:
在第一台机器上安装 portman 和 nfs 服务器:
$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install portmap
在第二台机器上安装nfs客户端:
$ sudo apt-get install nfs-common
添加一行/etc/exports
/media/biblio *(rw)
然后,在第二台计算机中,我尝试显示在第一台计算机中共享的文件:
showmount -e 192.168.1.128
但我收到这个错误:
clnt_create: RPC: Program not registered
为什么。我究竟做错了什么?谢谢。
答案1
该showmount
命令正在尝试查询rpc.mountd
守护程序。正常情况下,此时应该已经在运行了。
安装 nfs-kernel-server 时是否收到任何错误消息?如果您尝试手动启动或重新启动脚本会发生什么情况?
pi@nfsserver:~ $ sudo /etc/init.d/nfs-kernel-server stop
[ ok ] Stopping nfs-kernel-server (via systemctl): nfs-kernel-server.service.
pi@nfsserver:~ $ showmount -e
clnt_create: RPC: Program not registered
pi@nfsserver:~ $ sudo /etc/init.d/nfs-kernel-server start
[ ok ] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
pi@nfsserver:~ $ showmount -e
Export list for nfsserver:
pi@nfsserver:~ $ ps -ef | grep [m]ountd
root 1599 1 0 20:23 ? 00:00:00 /usr/sbin/rpc.mountd --manage-gids
rpc.mountd
会经常登录/var/log/syslog
。如果它正在启动(手动或通过 systemd),那里应该有一些东西。
当rpc.mountd
实际启动时,它将尝试向端口映射器注册其端口。您可以要求端口映射器显示它所在的端口。如果它正在运行,但没有显示端口,则可能存在端口映射程序问题。
pi@nfsserver:~ $ rpcinfo -p | grep mount
100005 1 udp 40783 mountd
100005 1 tcp 59249 mountd
100005 2 udp 56682 mountd
100005 2 tcp 34875 mountd
100005 3 udp 49762 mountd
100005 3 tcp 55881 mountd
最后,如果showmount -e
在服务器上工作,但showmount -e [host]
在客户端上不起作用,则它们之间可能存在网络/防火墙问题。
重新启动 OSMC 服务器并尝试添加以下内容(请将其编辑到您的问题中,而不是作为注释):
ps -ef | grep rpc (on server)
rpcinfo -p (on server)
rpcinfo -p [server] (from the client)
showmount -e [server] (from the client)
答案2
在第二台机器上从头开始重新安装 Raspbian 后,一切正常。我不知道为什么。
谢谢大家的帮助。