Spero di utilizzare launchd per impostare una route statica su un server al momento dell'avvio poiché non ho trovato un modo migliore per configurare questo tipo di networking su un server.
Il mio problema è che il comando sembra essere in esecuzione prima che lo stack di rete sia impostato, quindi sto cercando un consiglio su come modificare il mio plist in qualche modo dipende dal routing del sistema che viene impostato prima dell'esecuzione.
Jan 16 14:39:45 server com.company.route.legacy_printer[149]: route: writing to routing socket: Network is unreachable
Jan 16 14:39:45 server com.company.route.legacy_printer[149]: add net 10.1.1.1: gateway 10.0.1.2: Network is unreachable
Ricevo questo errore dopo un riavvio, ma il caricamento dello stesso plist come root una volta che il Mac è stato avviato funziona perfettamente, quindi spero che sia un aggiustamento facile o qualcuno mi indichi un modo migliore per ottenere una route statica in modo affidabile dopo ogni avvio.
<?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>com.company.route.legacy_printer</string>
<key>ProgramArguments</key>
<array>
<string>/sbin/route</string>
<string>-n</string>
<string>add</string>
<string>-net</string>
<string>10.1.1.1</string>
<string>10.0.1.2</string>
<string>255.255.255.0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>AbandonProcessGroup</key>
<true/>
</dict>
</plist>
Ho esaminato entrambi Eseguendo un comando ogni volta che Mac si avvia con launchctl / plist e Come posso eseguire / fermare / riavviare un'applicazione automaticamente, all'avvio / login / qualche altra volta? per arrivare a questo punto, ma è necessario un ulteriore spunto per trovare la corretta dipendenza per ottenere i tempi giusti per il comando route.