/ usr / libexec의 목적은 무엇입니까?


28

실행 파일은 /usr/libexecUnix 계열 시스템에 저장됩니다 . FHS는 말합니다 (섹션 4.7. /usr/libexec : Binaries run by other programs (optional)":

/usr/libexec사용자 나 쉘 스크립트가 직접 실행하지 않는 내부 바이너리를 포함합니다. 응용 프로그램은 아래에 단일 하위 디렉토리를 사용할 수 있습니다 /usr/libexec.

Mac OS X에서는 부팅 직후에 rootless-init호출되는 프로그램 launchd이에 저장됩니다 /usr/libexec. 또는에 /usr/libexec저장할 수있는 독립 실행 형 실행 파일 인 경우 왜 저장 됩니까? 쉘 스크립트에 의해 직접 호출되지 않은 다른 프로그램도 같은 폴더에 저장됩니다 ./usr/bin/usr/sbininit[/usr]/{bin,sbin}

답변:


14

지원 가능성의 문제입니다. 플랫폼 공급자는 PATH기본적으로 바이너리를 넣을 경우 사람들 거기 에 의존하고 지원하는 특정 인수와 옵션에 의존 하게 될 것이라는 경험을 통해 수년간의 경험을 통해 배웠습니다 .

반대로 무언가가 들어간 경우 /usr/libexec/내부 구현 세부 사항으로 간주되고 최종 사용자로 직접 호출하는 것은 공식적으로 지원되지 않습니다.

어쨌든 해당 바이너리에 직접 액세스하기로 결정할 수도 있습니다. 향후 업그레이드로 인해 사용중인 개인 인터페이스가 중단되면 플랫폼 공급자로부터 지원이나 동정을 얻지 못할 것입니다.


7

나는 그것이 새로운 것보다 더 새로운 생각이라고 생각합니다 init. 아이디어는 말했듯 /usr/lib이 다른 사람에게는 절대로 기대할 수 없는 실행 파일이 있어야 한다는 것입니다 $PATH.


3

OS X은 FHS 표준을 따르지 않습니다. 자체 파일 시스템 계층 구조 (FreeBSD 파일 시스템 계층 구조와 유사)가 있습니다. 남자 페이지 hierstates-

libexec/ system daemons & system utilities (executed by other programs)


3

libexec다른 프로그램에 의해 실행되는 시스템 데몬 및 시스템 유틸리티를위한 것입니다. 즉,이 네임 스페이스 디렉토리에있는 바이너리는 다른 프로그램의 사용을위한 것이며 사용자가 직접 실행하도록되어 있지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.