1. 作成する/etc/systemd/system/nfs-common.service

1. 作成する/etc/systemd/system/nfs-common.service

私の Raspbian (Debian Jessie ベース) では、NFS マウントのために起動時にサービスを起動する必要があるため、起動時にrpcbindサービスnfs-commonを起動する必要があります。autofs

Debian Jessie が に移行したためsystemd、問題を回避するために、これら 3 つのサービス (rpcbind、nfs-commond、autofs) を正しい順序で起動する最適な方法を知りたいです。

NFS 共有を手動でマウントすると機能します。また、rpcbind と nfs-common がすでに起動して実行されている状態で autofs サービスを使用する場合にも機能します。

autofs は systemd ユニット スクリプトを使用します。他の 2 つのサービスについては、init.d スクリプトを作成する必要がありますか、それとも systemd ユニット ファイルを作成する必要がありますか? どのように記述すればよいですか?

答え1

問題の原因は、システム設定ファイル。投稿者: Matt Grantdebian-devel実行する必要がある手順は次のとおりです。

1. 作成する/etc/systemd/system/nfs-common.service

cat >/etc/systemd/system/nfs-common.service <<\EOF
[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

2. 作成する/etc/systemd/system/rpcbind.service

cat >/etc/systemd/system/rpcbind.service <<\EOF
[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

3. 作成する/etc/tmpfiles.d/rpcbind.conf

cat >/etc/tmpfiles.d/rpcbind.conf <<\EOF
#Type Path        Mode UID  GID  Age Argument
d     /run/rpcbind 0755 root root - -
f     /run/rpcbind/rpcbind.xdr 0600 root root - -
f     /run/rpcbind/portmap.xdr 0600 root root - -
EOF

4. 起動時に実行されるサービスを構成する

systemctl enable rpcbind.service
systemctl enable nfs-common

関連情報