No meu Raspbian (baseado no Debian Jessie), preciso iniciar na inicialização rpcbind
e nfs-common
nos serviços porque preciso que eles iniciem autofs
na inicialização para uma montagem NFS.
Como o Debian Jessie mudou para o systemd
, quero saber a melhor maneira de iniciar esses 3 serviços (rpcbind, nfs-commond, autofs) na ordem correta para evitar problemas.
Se eu montar manualmente o compartilhamento NFS, ele funcionará. E também funciona ao usar o serviço autofs com rpcbind e nfs-common já instalados e em execução.
autofs usa um script de unidade systemd. Sobre os outros 2 serviços, devo criar scripts init.d ou preciso criar arquivos de unidade do systemd? Como posso escrevê-los?
Responder1
A razão do problema é a falta desistemaarquivos de configuração. Baseie-se em umpostagem de Matt Grantestas debian-devel
são as etapas que você precisa executar.
1. Crie/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. Crie/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. Crie/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. Configure os serviços para serem executados na inicialização
systemctl enable rpcbind.service
systemctl enable nfs-common