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

무엇이 빠졌는지 확실하지 않습니까?

답변:


9

이 포럼 게시물 의 중재자는 명령이 작동한다고 말했습니다.

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

1
작동 솔루션으로 확인되었습니다. 시스템에 해당하는 명령으로 이동하는 것을 주시하십시오 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 서비스 rpcbind 재시작

이 글 에서 찾았습니다


1
당신은 어떻게 든 스레드에 연결되지 않았습니다, 나는 당신을 위해 그것을 고쳤습니다. 새로운 사용자가 참여하게되어 기쁩니다! 또한 때때로 대화에 참여하고 조금만 더 있으면, 누군가와 대화를 나눌 수있는 것이 좋습니다 : D
RPiAwesomeness

이것은 다른 대답이 아닌 NFS를 작동 시켰습니다.
Mauvis Ledford

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

다른 데비안 배포판에서 같은 종류의 문제를 보았습니다 (홈 PC에서 실행합니다). 어쨌든 rpcbind대체품 portmapper이지만 앨리어싱이 완료되지 않은 것 같습니다 (또는 더 깊은 것을 마스킹하는 피상적 인 문제입니다! ) 또한 systemd무료 가정을 운영하기 때문에 잘못된 init.d스크립트가 문제 가 될 수 있습니다.
SlySven 2019

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

그런 다음 서비스 순서를 확인하십시오. 그것은해야한다 rpcbind, nfs-common하고 nfs-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로 업데이트하면 잘한 내용을 덮어 쓸 수 있습니다 ...


이것이 IMHO의 가장 좋은 답변입니다. 문제를 이해하는 직접적인 접근 방식을 제공합니다.
Daan

1

나는 같은 문제로 어려움을 겪고 있었다. 위의 솔루션은 작동하지 않았습니다. 내 경우에는 내 로케일문제 에서 비롯된 것 입니다. 설치하는 동안 터미널에 다음 줄이 나타납니다 nfs-kernel-server nfs-common rpcbind..

perl : 경고 : 로케일 설정에 실패했습니다.

이 패키지를 설치하는 동안 로케일에 대한 오류가 표시되지 않도록하십시오 . 로케일을 수정하고 패키지를 다시 설치했는데 이제 작동합니다.


해당 패키지를 두 번 설치하면 로케일을 정렬하는 대신 문제가 해결되었을 수도 있습니다. 물론 어쨌든 정리하는 것이 좋습니다!
SlySven 2019

동의한다. 어쨌든, 로케일을 수정 한 후 두 번째 설치는 모든 오류없이 더 안전 해 보였습니다.
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 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.