Como mencionaste /etc/fstab, voy a suponer que tienes cierta familiaridad con Linux y por lo tanto con systemd. El equivalente de MacOS (e inspiración para systemd) es launchd y las unidades que configuras se llaman Launch Agents o Launch Daemons.
Los agentes se activan cuando alguien inicia sesión; los demonios se ejecutan en el arranque antes de que nadie inicie sesión.
La única diferencia es dónde pones el archivo .plist que los describe (y que los Daemons se gestionan con permisos Root/sudo).
A menos que sea absolutamente necesario que este directorio remoto se monte cuando nadie está conectado a la máquina, recomiendo un Agente, ya que es mucho más fácil de configurar.
Hay un excelente tutorial sobre ambos aquí: https://www.launchd.info
Sin embargo, como los enlaces no son eternos, déjame describirte cómo configuré un Launch Agent para hacer esto, y luego te diré qué modificaciones debes hacer para ejecutarlo como Launch Daemon
Primero creé un directorio bajo mi directorio personal para montar la carpeta remota.
Luego comprobé que podía montar esto en la línea de comandos de la siguiente manera:
mount -t smbfs smb://myuser:mypassword@DS920/RetroArch_Shared /Users/me/RetroArch_Shared
("DS920" es el nombre de host de mi Synology DiskStation 920+).
A continuación creé ~/Library/LaunchAgents/retroarch.shared.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>retroarch.shared</string>
<key>ProgramArguments</key>
<array>
<string>/sbin/mount</string>
<string>-t</string>
<string>smbfs</string>
<string>smb://myuser:mypassword@DS920/RetroArch_Shared</string>
<string>/Users/me/RetroArch_Shared</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Luego cargué ese Agente con:
launchctl load ~/Library/LaunchAgents/retroarch.shared.plist
y confirmé que el recurso montado aparecía en mi Escritorio.
Finalmente confirmé que se ejecuta al iniciar sesión expulsando el disco, cerrando sesión y volviéndola a iniciar.
Si desea ejecutar el mismo como un Launch Daemon:
- El archivo plist debe ir en /Library/LaunchDaemons (ten en cuenta que no está en tu directorio personal).
- Tu plist necesitará incluir el nombre del usuario que debe realizar la acción (idealmente, tu propia cuenta de usuario).
- Tendrás que cargar/descargar con sudo mientras realizas las pruebas.
- Obviamente, tendrás que reiniciar el sistema para probarlo, en lugar de simplemente desconectarte o conectarte.
- Crear un punto de montaje permanente (directorio) en
/Volumes
no es recomendable, ya que ahí es donde se generan automáticamente los puntos de montaje para las unidades de memoria USB, archivos .dmg descargados, etc.