Estoy intentando ejecutar el siguiente comando en OS X El Capitan (10.11.4):
sudo dtruss /usr/local/bin/mix phoenix.server
Falla, diciendo:
dtrace: no se pudo ejecutar / usr / local / bin / mix: dtrace no puede controlar los ejecutables firmados con derechos restringidos
mix es un ejecutable que instalé con Homebrew. /usr/local/bin/mix es en realidad un enlace simbólico, pero apunta a un archivo anidado bajo /usr/local/Cellar .
La declaración oficial sobre SIP dice que /usr/local se puede escribir para los instaladores (a diferencia de /usr/ en general) . No dice si SIP permite programas de rastreo allí, pero dado que lo instalé yo mismo, parece razonable poder rastrearlo.
¿Hay algo que pueda hacer para permitir el seguimiento de este programa? Ideas que tengo:
- Deshabilitar SIP por completo (parece de mano dura)
- Actualización: leí que se puede deshabilitar partes de SIP de forma selectiva , pero como primer paso, I lo deshabilité completamente .
csrutil statusahora informaSystem Integrity Protection status: disabled.. Pero mi comando original todavía falla con el mismo error. :(
- Actualización: leí que se puede deshabilitar partes de SIP de forma selectiva , pero como primer paso, I lo deshabilité completamente .
- Haz que Homebrew instale todo en una carpeta bajo
~(parece desordenado)- Actualización: bastante seguro de que sería una mala idea
- Ignore Homebrew y compile
mixde la fuente en~, luego pruebe el nuevo ejecutable- Actualización: mismo fallo. Este realmente no tiene sentido para mí . SIP está desactivado, el ejecutable no está "firmado" desde que lo compilé, y no está en una ubicación restringida. : P
- Instalar Linux en una máquina virtual. (¿En serio? ¿Tengo que hacer esto?)