Sto cercando di eseguire il seguente comando su OS X El Capitan (10.11.4):
sudo dtruss /usr/local/bin/mix phoenix.server
Fallisce, dicendo:
dtrace: failed to execute /usr/local/bin/mix: dtrace cannot control executables signed with restricted entitlements
mix è un eseguibile che ho installato con Homebrew. /usr/local/bin/mix è in realtà un collegamento simbolico, ma punta a un file annidato in /usr/local/Cellar .
La dichiarazione ufficiale su SIP dice che /usr/local è scrivibile per gli installer (a differenza di /usr/ in generale) . Non dice se SIP consente di tracciare i programmi lì, ma dato che l'ho installato io stesso, sembra ragionevole poterlo rintracciare.
C'è qualcosa che posso fare per consentire di tracciare questo programma? Idee che ho:
- Disabilita interamente SIP (sembra pesante)
- Aggiornamento: ho letto che è possibile disabilitare le parti di SIP in modo selettivo , ma come primo passo, Ho completamente disattivato .
csrutil statusora riportaSystem Integrity Protection status: disabled.. Ma il mio comando originale fallisce ancora con lo stesso errore. : (
- Aggiornamento: ho letto che è possibile disabilitare le parti di SIP in modo selettivo , ma come primo passo, Ho completamente disattivato .
- Fai in modo che Homebrew installi tutto in una cartella in
~(sembra disordinato)- Aggiornamento: abbastanza sicuro questo sarebbe una cattiva idea
- Ignora Homebrew e compila
mixdal sorgente in~, quindi sposta il nuovo eseguibile- Aggiornamento: stesso errore. Questo non ha alcun senso per me . SIP è disattivato, l'eseguibile non è "firmato" poiché l'ho compilato personalmente e non si trova in una posizione limitata. : P
- Installa Linux in una VM. (seriamente? devo farlo?)