리눅스 시스템에서 많은 라이브러리의 차이점은 무엇입니까? (/ lib, / usr / lib, / var / lib, / usr / share / lib 등).
응용 프로그램을 설치할 때마다 시냅틱이 자동으로 처리한다는 것을 알고 있지만 Linux 개발자가되고 싶다면 시스템에서 응용 프로그램 라이브러리를 어디에 둘지 알아야합니다.
리눅스 시스템에서 많은 라이브러리의 차이점은 무엇입니까? (/ lib, / usr / lib, / var / lib, / usr / share / lib 등).
응용 프로그램을 설치할 때마다 시냅틱이 자동으로 처리한다는 것을 알고 있지만 Linux 개발자가되고 싶다면 시스템에서 응용 프로그램 라이브러리를 어디에 둘지 알아야합니다.
답변:
일반적으로 소프트웨어는 / 또는 / usr 또는 / usr / local에 설치됩니다. 이것을 "접두사"라고합니다. /는 일반적으로 가장 중요한 운영 체제 프로그램 용으로 예약되어 있습니다. / usr /은 패키지 관리자가 사용하도록 예약되어 있습니다. 따라서 소프트웨어를 작성할 때 접두어가 / usr / local이되도록 설정하는 것이 가장 정중합니다. 그런 다음 누군가 배포를 위해 패키지를 만들 때이를 무시할 수 있습니다.
"lib"에 대해 구체적으로 이야기하고 있지 않습니다. 접두사 아래에 몇 가지 일반적인 하위 디렉토리가 있으며 lib는 그중 하나 일뿐입니다. "bin"은 실행 파일에, "share"는 데이터 파일에, "lib"는 공유 라이브러리 등에 사용됩니다. 따라서 프로그램이 라이브러리 인 경우 기본적으로 / usr / local / lib에 설치할 수 있습니다. 정상적인 프로그램 인 경우 / usr / local / share에있는 데이터 파일과 함께 / usr / local / bin에 설치하도록 할 수 있습니다. 중요한 점은 컴파일 타임에 접두사를 선택할 수 있도록 만드는 것입니다. 일부는 / usr / local이 아닌 / usr에 설치하거나 그 반대로 설치하는 것을 선호 할 수 있습니다.
linux / unix 파일 시스템 계층 구조를 설명하는 표준도 있습니다. http://www.pathname.com/fhs/ 에서 찾을 수 있습니다 . 이것은 주로 배포 개발자를위한 것이지만 사용자 / 개발자가 모르는 이유는 없습니다.