Máy chủ NFS: Không bắt đầu: portmapper không chạy


12

Tôi đang cố gắng thiết lập Raspberry Pi của mình với Wheezy Raspbian 2013-02-09 dưới dạng máy chủ NFS (máy khách sẽ là Ubuntu 12.10). Tôi đã làm theo các hướng dẫn này .

Tôi không thể bắt đầu dịch vụ và nhận được thông báo sau:

$ 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

Không chắc chắn những gì còn thiếu?

Câu trả lời:


9

Một người điều hành trong bài đăng diễn đàn này nói rằng lệnh này sẽ hoạt động:

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

1
xác nhận là một giải pháp làm việc. hướng tới việc chuyển sang lệnh tương đương systemd sudo systemctl enable rpcbind && sudo systemctl enable nfs-common(mặc dù cả hai dịch vụ này dường như vẫn sử dụng khởi động kiểu init.d).
ben_wing

Tôi nghĩ rằng tôi cũng cần phải bắt đầu rõ ràng các dịch vụ và việc đặt hàng rất quan trọng với nhu cầu phổ biến của nfs là số 1. tôi đã sử dụng sudo systemctl start nfs-commonsau đósudo systemctl start rpcbind
ben_wing

10

Tôi đã phải khởi động lại dịch vụ rpcbind để hoạt động:

$ sudo dịch vụ rpcbind khởi động lại

Tôi đã tìm thấy nó trong chủ đề này


1
Bạn bằng cách nào đó đã không liên kết đến chủ đề, tôi đã sửa nó cho bạn. Vui mừng khi thấy người dùng mới tham gia! Ngoài ra,
thỉnh thoảng hãy

Điều này làm cho NFS làm việc cho tôi không phải là câu trả lời khác.
Mauvis Ledford

8
$ sudo service rpcbind restart

... không hoạt động, nhưng vấn đề "portmapper không chạy" sẽ xuất hiện lại trong lần khởi động lại tiếp theo.

Phần dưới cùng của trang này có một bản sửa lỗi sẽ tồn tại khi khởi động lại, nhưng lưu ý rằng nó sẽ xóa / etc / export của bạn. Nói tóm lại, hãy sao lưu / etc / export của bạn sau đó:

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

Sau đó khôi phục / etc / export của bạn.


sử dụng câu trả lời của bạn kết hợp với điều này: pihomeserver.fr/en/2013/06/21/ đã làm mẹo cho tôi.
Chasester

Điều này giải quyết cho tôi. Vì một số lý do, máy chủ kernel NFS đã bị cài đặt sai. Cảm ơn.
hgf

Tôi đã thấy một loại vấn đề tương tự trên các bản phát hành Debian khác (tôi chạy chúng trên PC ở nhà) - bằng cách nào đó, rpcbindnó có thể thay thế portmappernhưng bí danh dường như chưa được hoàn thành (hoặc đó là một vấn đề hời hợt che giấu một vấn đề sâu sắc hơn! ) Ngoài ra, tôi điều hành một systemdhộ gia đình miễn phí - vì vậy init.dcác tập lệnh bị lỗi có khả năng khiến tôi gặp vấn đề.
SlySven

6

Tôi đang chạy Raspbian Jessie Lite (phát hành vào ngày 18 tháng 3 năm 2016) và gặp vấn đề tương tự. Đây là các bước của tôi để khắc phục hoàn toàn vấn đề này, ngay cả sau khi khởi động lại .

Trước tiên hãy xem tập tin init /etc/init.d/nfs-kernel-server, bạn sẽ thấy runlevel của nó là 2,3,4,5 .

Ngoài ra nhìn vào runlevel bắt đầu các tập tin sau, mà là S mà thôi. Tôi đã thay đổi runlevel của nó thành 2,3,4,5 .

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

Sau đó thử update-rc.dcác tập lệnh init đã thay đổi với mặc định . Lần thử đầu tiên thất bại. Bí quyết là loại bỏ và thêm chúng một lần nữa.

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

Sau đó, kiểm tra thứ tự của các dịch vụ. Nó phải là rpcbind, nfs-commonnfs-kernel-server .

Tôi cũng đã đăng một blog cho điều này. Bạn cũng có thể tìm thấy nó ở đây .


Sau nhiều tháng cố gắng khắc phục điều này thông qua nhiều phương tiện khác, tôi đã từ chức để tự khởi động lại NFS khi khởi động. Giải pháp này hoạt động. Cảm ơn bạn!
bonekull

Đây là bản sửa lỗi. Tất cả những cái khác được đăng không khắc phục vấn đề. Cảm ơn bạn rất nhiều vì đã gửi bài này!
chaoticslacker

2

Vấn đề cơ bản là các liên kết tượng trưng trong /etc/rc*.d nằm rải rác xung quanh một chút. Một số gợi ý ở trên dựa vào việc làm lại các liên kết này và, có lẽ, chúng được thực hiện với thứ tự phù hợp hơn. Đôi khi. Thử -

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

để xem khi nào chúng được bắt đầu. Trong thực tế, bạn chỉ cần họ bắt đầu ở cấp 3, vì vậy tôi đã chỉnh sửa /etc/init.d/rcpbind, /etc/init.d/nfs-common và /etc/init.d/nfs-kernel-server so "# Mặc định-Bắt đầu: 3 "và chạy nó để thực thi nó -

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

Lưu ý rằng update-rc.d sẽ không thay đổi mục nhập hiện có và âm thầm không xóa mục nhập (nếu tập lệnh vẫn tồn tại) trừ khi bạn thêm -f. Lý tưởng nhất là bạn sẽ kết thúc với một cái gì đó như thế này -

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

Và bây giờ nó sẽ khởi động sạch sẽ. Một bản cập nhật cho NFS cũng có thể ghi đè lên công việc tốt của bạn ...


Đây là câu trả lời tốt nhất IMHO. Đưa ra một cách tiếp cận trực tiếp để hiểu vấn đề.
Daan

1

Tôi đã đấu tranh với cùng một vấn đề là tốt. Các giải pháp trên không hoạt động. Trong trường hợp của tôi, nó xuất phát từ một vấn đề với địa phương của tôi . Dòng sau xuất hiện trong thiết bị đầu cuối trong khi cài đặt : nfs-kernel-server nfs-common rpcbind.

perl: cảnh báo: Cài đặt ngôn ngữ không thành công.

Hãy chắc chắn rằng bạn không thấy lỗi về địa điểm của mình trong quá trình cài đặt các gói này. Tôi đã sửa lỗi địa phương của mình, cài đặt lại các gói và bây giờ nó hoạt động.


Dường như với tôi rằng việc cài đặt các gói đó hai lần có thể đã khắc phục được vấn đề, thay vì phân loại các địa điểm của bạn - mặc dù đó là một điều tốt để làm thẳng ra bằng mọi cách!
SlySven

Tôi đồng ý. Nhưng dù sao, sau khi sửa lỗi các cài đặt thứ hai, cách an toàn hơn mà không gặp phải tất cả các lỗi.
Rotareti

1

Điều này làm việc cho tôi. Làm sạch và chống lại khởi động lại.

Bạn phải thiết lập systemd để thực hiện đúng thứ tự

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

lấy từ đây

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


0

Tôi đã sửa nó bằng: $ sudo dịch vụ portmap start Sau đó khởi động lại dịch vụ nfs: $ sudo service nfs-kernel-server restart

Và nó hoạt động.


0

Tôi đã thử nghiệm hầu hết các giải pháp trước đó, chúng không hoạt động sau khi khởi động lại Raspberry Pi (lệnh rpcinfo -p | grep nfs cho tôi gì).

Giải pháp :

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

hoặc là

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

Để xác minh :

> sudo shutdown -r now

> rpcinfo -p | grep nfs

Đã thử nghiệm trên Raspian 8 (jessie)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.