Las extensiones del sistema no pueden utilizarse Error

0

Al instalar cierto software, generalmente algo relacionado con la impresora, recibo este error

System extension cannot be used

The system extension "/System/Library/Extensions/Belcarra.
USBLAN_netpart.kext" was installed
improperly and cannot be used.  Please try
reinstalling it, or contact the product's vendor for an
update

Esto comenzó después de que borré algunas carpetas de impresoras que pensé que ya no estaba usando. Obtendré alrededor de 30 mensajes de error seguidos, todos con diferentes rutas, pero todos con el mismo mensaje hablando de archivos kext. Intenté arreglar permisos con el disco de arranque de Mac, pero no pareció ayudar. Por lo general, simplemente hago clic en todos los errores y nada parece ser afectado. ¿Alguna idea de cómo solucionar esto de forma permanente?

    
pregunta Paul Belardi 14.04.2011 - 07:26

2 respuestas

0

Parece que quien fue en Logitech que creó el El paquete del instalador Harmony 1000 para OS X no tenía absolutamente ninguna idea de cómo hacerlo correctamente.

Los permisos de archivo de los archivos que instala el paquete del instalador son completamente fallidos. Algunos están configurados con una ID de usuario y una ID de grupo de 509 y 509, que ni siquiera existen en mi máquina. (El usuario inicial de OS X tiene un UID de 501, y cada usuario adicional tiene el siguiente UID más alto. Por ejemplo, 502, 503, etc. Entonces, a menos que tenga 8 usuarios en total, 509 ni siquiera se definirán en su sistema ).

Los permisos de archivo de los archivos .kext que instala tienen un UID y un GID de 510 y 510, respectivamente. OS X rechazará cargar kexts a menos que tengan los permisos adecuados. Eso significa un usuario de root (UID de 0) y un grupo de wheel (GID de 0).

[EDITAR] OK, parece que Logitech realmente está instalando los archivos con permisos fallidos y luego "reparando" los permisos (configurando un usuario de root y grupo de wheel ) en el script de shell postflight del paquete . (Ugh, incluso su secuencia de comandos es noobish: no es necesario prefijar cada comando con sudo , ya que las secuencias de comandos se ejecutan como root de todos modos). Si bien creo que eso puede funcionar, es una forma al revés de hacerlo. (Deberían haber establecido los permisos adecuados en los archivos que incluyeron como la carga útil del paquete del instalador). Y, obviamente, en su caso, el script postflight debe haber fallado durante la instalación y ha dejado esos kexts con permisos fallidos.

Debería poder arreglar los permisos en los kexts ejecutando el siguiente AppleScript:

enlace

Simplemente descárguelo y haga doble clic en AppleScript para abrirlo en AppleScript Editor. Luego haga clic en el botón verde Run e ingrese su contraseña cuando se le solicite.

Para el registro, la secuencia de comandos solo ejecuta el siguiente comando chmod :

do shell script "/usr/sbin/chown -R 0:0 
   /System/Library/Extensions/Belcarra.USBLAN_netpart.kext 
   /System/Library/Extensions/Belcarra.USBLAN_usbpart.kext 
   /System/Library/Extensions/RemoteControl.USBLAN_usbpart.kext;
   /usr/bin/touch /System/Library/Extensions"
 with administrator privileges

Es posible que tengas que reiniciar antes de que los kexts se carguen correctamente.

Espero que esto ayude ...

    
respondido por el NSGod 14.07.2011 - 01:29
0

Es posible que haya eliminado algunas carpetas de la impresora pero que haya dejado los archivos kext reales en su lugar. Para eliminar los archivos kext que están causando un problema, abra el terminal y escriba

sudo rm -rf /System/Library/Extensions/Belcarra.USBLAN_netpart.kext

El sistema le pedirá su contraseña.

Repita esto para cualquier otro archivo del que se quejen los sistemas. A continuación, deberá reiniciar.

Si algo deja de funcionar como resultado de lo anterior, es posible que deba volver a instalar los controladores.

    
respondido por el robzolkos 14.04.2011 - 08:27

Lea otras preguntas en las etiquetas