NFSサーバー:起動していません:ポートマッパーが実行されていません


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

何が欠けているのか分かりませんか?

回答:


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-commonが1番目である必要があるため重要であると思います。私はsudo systemctl start nfs-commonその後使用しましたsudo systemctl start rpcbind
-ben_wing

10

動作するにはrpcbindサービスを再起動する必要がありました。

$ sudo service rpcbind restart

私はこのスレッドでそれを見つけました


1
あなたはどういうわけかスレッドにリンクしていませんでした、私はあなたのためにそれを修正しました。関係する新しいユーザーを見てうれしいです!また、時々チャットに飛び込んで少しだけ滞在してください。新しい人と話すのはいつもいいことです:D
RPiAwesomeness 14年

これにより、私にとってNFSは他の答えではなく機能しました。
モービスレッドフォード14

8
$ sudo service rpcbind restart

...動作しますが、「ポートマッパーが実行されていません」という問題は、次回の再起動時に再び表示されます。

このページの下部には、再起動後も存続する修正がありますが、/ 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

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デフォルトで変更されたinitスクリプトを試してください。最初の試行は失敗します。トリックは、それらを再度削除して追加することです。

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を編集したので、「# Default-Start: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:警告:ロケールの設定に失敗しました。

あなたについてのエラーが表示されないことを確認してください これらのパッケージのインストール中にロケール。ロケールを修正し、パッケージを再インストールしましたが、動作するようになりました。


ロケールを整理するのではなく、これらのパッケージを2回インストールすることで問題が修正された可能性があるように思えます-もちろん、それはとにかく解決した方が良いことです!
SlySven

同意する。とにかく、ロケールを修正した後、2番目のインストールはすべてのエラーなしでより安全に見えました。
ロタレティ

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 service portmap startそれからnfsサービスを再起動します:$ sudo service 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)でテスト済み

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.