Неможливо використовувати помилки системних розширень


0

Під час встановлення певного програмного забезпечення, зазвичай пов'язаного з принтером, я отримую цю помилку

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

Це почалося після того, як я видалив деякі папки для принтерів, які, на мою думку, більше не використовуються. Я отримаю близько 30 повідомлень про помилки підряд, всі з різними шляхами, але все одно повідомлення говорити про файли kext. Я спробував виправити дозволи з завантажувального диска Mac, але це не допомогло. Зазвичай я просто натискаю всі помилки і нічого не впливає. Будь-які ідеї, як це виправити назавжди?

Відповіді:


0

Схоже, хто б він не був у Logitech, який створив Пакет установки Harmony 1000 для OS X не було абсолютно ніякого поняття, як це зробити правильно.

Дозвіл файлів файлів, які інсталює інсталяційний пакет, повністю пошкоджений. Деякі з них мають ідентифікатор користувача та ідентифікатор групи 509 та 509, які навіть не існують на моїй машині. (Початковий користувач OS X має UID 501, і кожен додатковий користувач має наступний вище UID. Наприклад, 502, 503, і ​​т.д. Таким чином, якщо у вас немає 8 користувачів, 509 навіть не буде визначено у вашій системі. ).

Дозволи файлів файлів .kext, які він встановлює, мають UID і GID 510 і 510 відповідно. OS X відмовиться завантажувати kexts, якщо вони не мають належних дозволів. Це означає, що користувач root (UID 0) і групу wheel (GID 0).

[EDIT] Добре, здається, що Logitech фактично встановлює файли з невдалими правами, а потім "виправляє" дозволи (встановлюючи користувача root і група wheel ) в упаковці postflight сценарій оболонки. (Уф, навіть їх сценарій noobish: префікс кожної команди sudo не потрібні, оскільки сценарії виконуються як root (). Хоча я припускаю, що це може спрацювати, це свого роду зворотний шлях. (Вони повинні були просто встановити відповідні дозволи на файли, які вони включили як корисне навантаження пакета інсталятора). І, очевидно, у вашому випадку postflight сценарій не вдалося під час інсталяції, і залишив ці кексти з невдалими дозволами.

Ви маєте змогу виправляти дозволи на kexts, запустивши наступний AppleScript:

http://www.markdouma.com/developer/RepairLogitechHarmonyKexts.zip

Просто завантажте його та двічі клацніть на AppleScript, щоб відкрити його в редакторі AppleScript. Потім натисніть на зелений Run і введіть пароль, коли з'явиться запит.

Для запису, сценарій просто виконує наступне 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

Можливо, вам доведеться перезавантажити комп'ютер до того, як kexts будуть завантажені належним чином.

Сподіваюся, що це допоможе ...


0

Можливо, ви видалили деякі папки принтера, але залишили фактичні файли kext на місці. Щоб видалити файли kext, що викликають проблему, відкрийте термінал і введіть тип

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

Система запитає ваш пароль.

Повторіть це для будь-яких інших файлів, на які система скаржиться. Потім потрібно перезавантажити комп'ютер.

Якщо щось перестане працювати внаслідок зазначеного вище, може знадобитися переустановити драйвери.


Чи є спосіб я б видалення те, що OS X потрібно запустити?
Paul Belardi

Poosible, але сумнівною, враховуючи, що ви клацаєте через помилки, і вони не завантажуються в будь-якому випадку. Якщо ви хочете бути ультра-безпечним, перемістіть папки на робочий стіл тимчасово, а потім перезавантажтесь. Якщо виникла проблема, завантажте його в один або в безпечному режимі і скопіюйте їх назад. Всякий раз, коли я мав водіїв / kexts, які не завантажують, я просто роздував їх. На цю систему ніколи не впливає.
robzolkos

Я дам це постріл наступного разу я отримую update OS та дивлюся як йому іде. Після цього опублікую свій результат.
Paul Belardi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.