1. 創建/etc/systemd/system/nfs-common.service

1. 創建/etc/systemd/system/nfs-common.service

在我的 Raspbian(基於 Debian Jessie)上,我需要在啟動時啟動rpcbindnfs-common服務,因為我需要它們autofs在啟動時啟動以進行 NFS 掛載。

由於 Debian Jessie 現在已轉移到 Debian systemd,我想知道以正確的順序啟動這 3 個服務(rpcbind、nfs-commond、autofs)以避免出現問題的最佳方法。

如果我手動掛載 NFS 共享,它就可以工作。當使用 autofs 服務且 rpcbind 和 nfs-common 已啟動並運行時,它也可以工作。

autofs 使用 systemd 單元腳本。關於其他 2 個服務,我應該製作 init.d 腳本還是必須建立 systemd 單元檔案?我該如何寫它們?

答案1

問題的原因是缺乏系統設定檔。基於一個馬特·格蘭特發表的文章這些debian-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

相關內容