NFS服务器:未启动:portmapper未运行


12

我正在尝试将Wheezy Raspbian 2013-02-09的Raspberry Pi设置为NFS服务器(客户端将是Ubuntu 12.10)。我已经遵循了这些指示

我无法启动该服务并收到以下消息:

$ sudo service nfs-kernel-server restart
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories for NFS kernel daemon....
[ ok ]   Exporting directories for NFS kernel daemon....
[....] Starting NFS kernel daemon: nfsd
[warn] Not starting: portmapper is not running ... (warning).
$ rpcinfo -p
<br>rpcinfo: can't contact portmapper: RPC: Remote system error - No such file or directory

不确定缺少什么?

Answers:


9

该论坛帖子中的主持人说,此命令将起作用:

sudo update-rc.d rpcbind enable && sudo update-rc.d nfs-common enable

1
确认为有效的解决方案。着眼于转向systemd等效命令是sudo systemctl enable rpcbind && sudo systemctl enable nfs-common(尽管这两个服务似乎确实仍在使用init.d样式启动)。
–ben_wing

我认为我还需要显式启动服务,并且nfs的顺序很重要-通用需要排在第一位。我sudo systemctl start nfs-common当时使用了sudo systemctl start rpcbind
ben_wing

10

我必须重新启动rpcbind服务才能工作:

$ sudo服务rpcbind重新启动

我已经在这个线程中找到了


1
您以某种方式未链接到线程,我已为您修复了该线程。很高兴看到新用户参与其中!另外,不时加入聊天并保持一会儿,总是很高兴有新朋友聊天:D
RPiAwesomeness

这使NFS对我有用,而不是其他答案。
Mauvis Ledford 2014年

8
$ sudo service rpcbind restart

...可以正常工作,但是下次重新启动时将再次出现“ portmapper未运行”的问题。

页面底部的修复程序将在重新启动后仍然存在,但是请注意它将删除您的/ etc / exports。简而言之,请备份/ etc / exports:

sudo apt-get purge rpcbind
sudo apt-get install nfs-kernel-server

然后还原您的/ etc / exports。


使用您的答案并结合以下信息: pihomeserver.fr/en/2013/06/21/… 为我完成了窍门。
Chasester

这为我解决了。由于某些原因,NFS内核服务器安装错误。谢谢。
hgf

我在其他Debian发行版上也遇到过同样的问题(我在家用PC上运行它们)-某种方式rpcbind可以代替它,portmapper但别名似乎还没有完成(或者这是一个表面问题,掩盖了更深层次的问题! )此外,我有一个systemd免费的家庭,所以init.d脚本可能有问题。
SlySven '16

6

我正在运行Raspbian Jessie Lite(于2016年3月18日发布),并且遇到了同样的问题。即使重新启动后,这也是我要彻底解决此问题的步骤。

首先看一下init文件/etc/init.d/nfs-kernel-server,您应该注意到它的开始运行级别是2,3,4,5

还要查看以下文件的启动运行级别,仅S。我将其运行级别更改为2,3,4,5

/etc/init.d/nfs-common
/etc/init.d/rpcbind

然后尝试update-rc.d使用默认值更改后的初始化脚本。第一次尝试失败。诀窍是删除并再次添加它们。

update-rc.d -f rpcbind remove
update-rc.d rpcbind defaults

update-rc.d -f nfs-common remove
update-rc.d nfs-common defaults

update-rc.d -f nfs-kernel-server remove
update-rc.d nfs-kernel-server defaults

之后,检查服务顺序。它应该是rpcbindnfs-commonnfs-kernel-server

我也为此发布了一个博客。您也可以在这里找到它。


经过数月尝试通过其他各种方式修复此问题后,我辞职了,不得不在引导时手动重新启动NFS。此解决方案有效。谢谢!
boneskull

这是修复。所有其他张贴的不能解决问题。非常感谢您发布此信息!
chaoticslacker

2

潜在的问题是/etc/rc*.d中的符号链接分散了一些。上面的一些建议依赖于重新构建这些链接,并且也许以更适当的顺序来实现。有时。尝试-

for i in rpcbind nfs-common nfs-kernel-server ; do find /etc/rc* -name "S*$i*"; done

看看何时开始。实际上,您只需要它们从3级开始,所以我编辑了/etc/init.d/rcpbind、/etc/init.d/nfs-common和/etc/init.d/nfs-kernel-server,所以“#默认开始:3英寸,然后运行它以强制执行-

for i in rpcbind nfs-common nfs-kernel-server ; do update-rc.d -f "$i" remove; update-rc.d "$i" defaults; done

请注意,除非您添加-f,否则update-rc.d不会更改现有条目,并且默认不会删除条目(如果脚本仍然存在)。理想情况下,您最终会得到这样的结果-

/etc/rc3.d/S01rpcbind
/etc/rc3.d/S02nfs-common
/etc/rc3.d/S03nfs-kernel-server

现在它将干净启动。对NFS的更新可能会覆盖您的良好工作。


这是恕我直言的最佳答案。提供一种直接的方法来理解问题。
大安

1

我也在同一个问题上挣扎。上述解决方案不起作用。就我而言,这是由于我的地区问题引起的。在安装以下程序时,以下行在终端中弹出:nfs-kernel-server nfs-common rpcbind

perl:警告:设置区域设置失败。

确保在安装这些软件包的过程中没有看到关于您的语言环境的错误。我修复了语言环境,重新安装了软件包,现在可以使用了。


在我看来,两次安装这些软件包似乎可以解决此问题,而不是整理您的语言环境-尽管理所当然地这是一件好事!
SlySven '16

我同意。无论如何,在修复了区域设置后,第二次安装看起来更加安全,没有出现所有错误。
Rotareti

1

这对我有用。清洁并阻止重新启动。

您必须设置systemd才能正确执行订单

cat <<EOF | sudo tee -a /etc/systemd/system/nfs-common.services
[Unit]
Description=NFS Common daemons
Wants=remote-fs-pre.target
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/nfs-common start
ExecStop=/etc/init.d/nfs-common stop

[Install]
WantedBy=sysinit.target
EOF

cat <<EOF | sudo tee -a /etc/systemd/system/rpcbind.service
[Unit]
Description=RPC bind portmap service
After=systemd-tmpfiles-setup.service
Wants=remote-fs-pre.target
Before=remote-fs-pre.target
DefaultDependencies=no

[Service]
ExecStart=/sbin/rpcbind -f -w
KillMode=process
Restart=on-failure

[Install]
WantedBy=sysinit.target
Alias=portmap
EOF

sudo systemctl enable nfs-common
sudo systemctl enable rpcbind
sudo reboot

从这里取

https://github.com/geerlingguy/raspberry-pi-dramble/issues/65#issuecomment-283046966


0

我用以下命令修复了它:$ sudo服务portmap start然后重新启动nfs服务:$ sudo服务nfs-kernel-server restart

而且有效。


0

我已经测试了大多数以前的解决方案,它们在重新启动Raspberry Pi之后不起作用(命令rpcinfo -p | grep nfs没有给我任何帮助)。

解决方案:

echo service nfs-kernel-server restart | sudo tee -a /etc/rc.local

要么

sudo vi /etc/rc.local
service nfs-kernel-server restart

核实 :

> sudo shutdown -r now

> rpcinfo -p | grep nfs

在Raspian 8(jessie)上测试

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.