Mac OS X에서 & 언로드 커널 확장을 로드하는 방법
차례:
간단히 kext라고 하는 커널 확장은 Mac OS X의 커널 공간에 직접 로드되는 코드 모듈로, 다양한 작업을 수행하기 위해 낮은 수준에서 실행할 수 있습니다. 대부분의 kext는 핵심 Mac OS X 시스템 소프트웨어(일반적으로 하드웨어 장치 드라이버)의 일부이지만 일부 타사 앱은 kext도 설치합니다.
때로는 고급 Mac 사용자와 시스템 관리자가 커널 확장을 수동으로 로드하거나 언로드해야 할 수 있습니다.커널 확장은 종종 MacOS의 중요한 구성 요소이기 때문에 kext가 MacOS X 커널 공간에 로드 또는 언로드되는지 여부를 수정해야 하는 특별한 이유가 있는 사용자에게만 적합합니다. kext 동작을 부적절하게 수정하면 Mac 하드웨어를 쓸모없게 만들거나 액세스할 수 없게 만들 수 있으며 Mac OS X이 전혀 작동하지 않을 수도 있으므로 설득력 있는 이유와 용도에 대한 이해 없이 커널 확장을 변경하려고 시도하지 마십시오.
kextload를 사용하여 Mac OS X에서 커널 확장 로드
Mac OS X에 커널 확장을 로드하려면 명령줄 kextload 유틸리티를 사용해야 합니다. 그 외에는 구문이 간단하여 작업을 수행하기 위해 관리 액세스에 sudo가 필요합니다.
sudo kextload /path/to/kext.kext
또한 -b 플래그와 함께 번들 식별자(기본 명령의 대상인 경우가 많음)를 사용할 수도 있습니다.
sudo kextload -b com.apple.driver.ExampleBundle
어느 쪽이든 Enter 키를 누르고 관리자 암호를 입력하면 커널 확장이 Mac OS X에 로드됩니다.
kextstat로 커널을 나열하고 grep을 사용하여 다음과 같이 지정된 이름을 검색하여 커널이 로드되었는지 확인할 수 있습니다.
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1
Mac OS X에 커널 확장을 수동으로 설치한 후 일부 상황에서 Mac을 재부팅할 필요가 없기 때문에 유용할 수 있습니다.
최신 버전의 Mac OS X에서는 kextutil 명령으로 커널 확장 로드를 완료할 수 있습니다. 이 명령은 디버깅을 위해 좀 더 완전한 기능을 제공하지만 kext 로드와 동일합니다.
kextunload로 커널 확장 언로드
Mac OS X에서 커널 확장을 언로드하는 것은 kext를 로드하는 것과 기본적으로 동일하지만 다음과 같이 sudo와 함께 kextunload 유틸리티를 사용한다는 점이 다릅니다.
sudo kextunload -b com.apple.driver.ExampleBundle
또는 커널 확장 경로를 직접 가리켜서:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
다시 말하지만 kextstat 및 grep을 사용하여 커널 확장이 언로드되었음을 확인할 수 있습니다. 여기서 아무것도 반환하지 않아야 합니다.