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 status
ahora 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
mix
de 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?)