별의 공부 블로그 🧑🏻‍💻
728x90
728x170

ldconfig

  • 공유 라이브러리 관련 정보를 갱신하고 설정하는 명령
  • 주로 변경된 /etc/ld.so.conf 파일의 내용을 갱신할 때 사용한다.

 

(참고) 라이브러리의 개요

더보기
  • 라이브러리(Library)
    • 사전적인 의미 : 도서관
    • 컴퓨터 분야에서의 의미
      • 프로그램에서 특정한 기능을 하는 루틴(Routine) 들을 모아놓은 것
      • 하나 이상의 서브 루틴(Sub Routine), 함수(Function), 클래스(Class) 로 만듦.
    • 프로그램 작성시 동일한 기능을 여러 곳에 사용할 경우, 반복적인 코드의 작성이 필요함.
      • 이러한 불필요한 코드 작성을 없애기 위해 재사용이 가능한 형태로 라이브러리가 이용됨.
        • 이러한 라이브러리들은 프로그램을 개발할 때 사용자의 프로그램과 링크(Link) 되어 실행 가능한 형태로 완성됨.
  • 라이브러리는 링크 방식에 따라 2가지로 분류됨.
    • 정적 링크 라이브러리(Static Link Library)
      • 일반적으로 사용되는 방식
      • 프로그램을 컴파일 할 때, 실행 파일에 포함(복사)되어 배포되는 방식
      • 장점
        • 속도가 빠름
      • 단점
        • 실행 파일의 크기가 커짐.
        • 메모리를 많이 차지하게 됨.
    • 동적 링크 라이브러리(Dynamic Link Library)
      • 실행 프로그램에 항상 라이브러리를 포함하는 것이 아니라 필요할 때만 라이브러리를 메모리에 적재하는 방식
  • 공유 라이브러리(Shared Library)
    • 운영체제에서 수많은 명령어(응용 프로그램)가 같은 루틴을 공유하는 라이브러리
    • 운영체제에서 많은 응용 프로그램에 동적으로 링크되어 공유되는 라이브러리
    • 종류
      • 정적 공유 라이브러리(Static Shared Library)
        • 컴파일할 때, 관련 라이브러리를 프로그램에 넣음.
      • 동적 공유 라이브러리(Dynamic Shared Library)
        • 라이브러리를 실행 파일 내부에 넣어두지 않고, 프로그램을 실행할 때 가져다 사용함.
          • 메모리의 효율성이 매우 좋음.
            • 운영체제 입장에서 주로 사용하는 방법
  • 유닉스 초기
    • 동적 라이브러리를 이용하여 수많은 명령어에 존재하는 공통적인 부분들을 운영체제의 특정 디렉터리에 포함시켰음.
      • 디스크의 공간을 효율적으로 사용하는 데 기여함.

 

(참고) 공유 라이브러리 관련 환경 변수

더보기
  • 공유 라이브러리 관련 환경 변수에는 LD_LIBRARY_PATH가 있음.
  • 특정 프로그램 실행 시, 라이브러리 등록이 필요하면 이 변수에 디렉터리 경로를 등록하면 됨.

사용 예

# LD_LIBRARY_PATH=/usr/local/mysql/lib
# export LD_LIBRARY_PATH
# echo $LD_LIBRARY_PATH
/usr/local/mysql/lib
  • 명령행에서 한 줄로 다음과 같이 입력해도 됨.
$ export LD_LIBRARY_PATH=/usr/local/mysql/lib
  • 해당 설정을 계속 이용하려면 다음의 파일에 등록해야 함.
    • /etc/profile 
    • ~/.bash_profile 

 

 

사용법

# ldconfig [option] [라이브러리]

 

주요 옵션

옵션 설명
-p 현재 캐시에 저장되어 있는 공유 라이브러리 목록 정보를 출력함(Print).
-v 명령 실행과 관련된 자세한 정보를 출력함. (Verbose)
-f /etc/ld.so.conf 파일 대신에 다른 환경 설정 파일을 지정할 때 사용함.

 

사용 예

예 1
  • /etc/ld.so.conf 파일의 내용을 다시 읽어 들임.
    • /etc/ld.so.conf 파일의 내용이 갱신된 경우, 반드시 실행해야 적용됨.
# ldconfig

 

예 2
  • 현재 캐시에 저장되어 있는 공유 라이브러리 목록 정보를 출력함.
# ldconfig -p
728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖