Linux에서 많은 lib 폴더의 차이점


14

리눅스 시스템에서 많은 라이브러리의 차이점은 무엇입니까? (/ lib, / usr / lib, / var / lib, / usr / share / lib 등).

응용 프로그램을 설치할 때마다 시냅틱이 자동으로 처리한다는 것을 알고 있지만 Linux 개발자가되고 싶다면 시스템에서 응용 프로그램 라이브러리를 어디에 둘지 알아야합니다.

답변:


10

일반적으로 소프트웨어는 / 또는 / usr 또는 / usr / local에 설치됩니다. 이것을 "접두사"라고합니다. /는 일반적으로 가장 중요한 운영 체제 프로그램 용으로 예약되어 있습니다. / usr /은 패키지 관리자가 사용하도록 예약되어 있습니다. 따라서 소프트웨어를 작성할 때 접두어가 / usr / local이되도록 설정하는 것이 가장 정중합니다. 그런 다음 누군가 배포를 위해 패키지를 만들 때이를 무시할 수 있습니다.

"lib"에 대해 구체적으로 이야기하고 있지 않습니다. 접두사 아래에 몇 가지 일반적인 하위 디렉토리가 있으며 lib는 그중 하나 일뿐입니다. "bin"은 실행 파일에, "share"는 데이터 파일에, "lib"는 공유 라이브러리 등에 사용됩니다. 따라서 프로그램이 라이브러리 인 경우 기본적으로 / usr / local / lib에 설치할 수 있습니다. 정상적인 프로그램 인 경우 / usr / local / share에있는 데이터 파일과 함께 / usr / local / bin에 설치하도록 할 수 있습니다. 중요한 점은 컴파일 타임에 접두사를 선택할 수 있도록 만드는 것입니다. 일부는 / usr / local이 아닌 / usr에 설치하거나 그 반대로 설치하는 것을 선호 할 수 있습니다.


요점은 위치가 하드 한계보다 지침이라는 것입니까?
Andreas Wong

1
지침이지만 반드시 따라야하며 많은 응용 프로그램이 특정 위치에 특정 파일을 필요로합니다.
Jim Deville

@ 제임스 포인트 촬영 : D
Andreas Wong

8

linux / unix 파일 시스템 계층 구조를 설명하는 표준도 있습니다. http://www.pathname.com/fhs/ 에서 찾을 수 있습니다 . 이것은 주로 배포 개발자를위한 것이지만 사용자 / 개발자가 모르는 이유는 없습니다.


0

/ bin 및 / sbin

  • 시스템 관리 및 단일 사용자 모드에서 사용되는 바이너리. 라이브러리 파일은 / lib에 있습니다.

/ usr / bin 및 / usr / sbin

  • 네트워크 서비스 및 모두에 사용되는 모든 사용자 및 이진에 의해 사용되는 필수가 아닌 필수 이진이 포함되어 있습니다. 라이브러리는 / usr / lib에 있습니다.

/ var / lib

  • 실행중인 프로그램 또는 프로그램 인스턴스의 상태에 대한 정보를 보존하는 파일을 포함합니다.

/ usr / share / lib

  • 아키텍처 독립적 인 데이터 파일을 포함합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.