728x90
728x170
ldconfig
- 공유 라이브러리 관련 정보를 갱신하고 설정하는 명령
- 주로 변경된 /etc/ld.so.conf 파일의 내용을 갱신할 때 사용한다.
(참고) 라이브러리의 개요
더보기
- 라이브러리(Library)
- 사전적인 의미 : 도서관
- 컴퓨터 분야에서의 의미
- 프로그램에서 특정한 기능을 하는 루틴(Routine) 들을 모아놓은 것
- 하나 이상의 서브 루틴(Sub Routine), 함수(Function), 클래스(Class) 로 만듦.
- 프로그램 작성시 동일한 기능을 여러 곳에 사용할 경우, 반복적인 코드의 작성이 필요함.
- 이러한 불필요한 코드 작성을 없애기 위해 재사용이 가능한 형태로 라이브러리가 이용됨.
- 이러한 라이브러리들은 프로그램을 개발할 때 사용자의 프로그램과 링크(Link) 되어 실행 가능한 형태로 완성됨.
- 이러한 불필요한 코드 작성을 없애기 위해 재사용이 가능한 형태로 라이브러리가 이용됨.
- 라이브러리는 링크 방식에 따라 2가지로 분류됨.
- 정적 링크 라이브러리(Static Link Library)
- 일반적으로 사용되는 방식
- 프로그램을 컴파일 할 때, 실행 파일에 포함(복사)되어 배포되는 방식
- 장점
- 속도가 빠름
- 단점
- 실행 파일의 크기가 커짐.
- 메모리를 많이 차지하게 됨.
- 동적 링크 라이브러리(Dynamic Link Library)
- 실행 프로그램에 항상 라이브러리를 포함하는 것이 아니라 필요할 때만 라이브러리를 메모리에 적재하는 방식
- 정적 링크 라이브러리(Static Link Library)
- 공유 라이브러리(Shared Library)
- 운영체제에서 수많은 명령어(응용 프로그램)가 같은 루틴을 공유하는 라이브러리
- 운영체제에서 많은 응용 프로그램에 동적으로 링크되어 공유되는 라이브러리
- 종류
- 정적 공유 라이브러리(Static Shared Library)
- 컴파일할 때, 관련 라이브러리를 프로그램에 넣음.
- 동적 공유 라이브러리(Dynamic Shared Library)
- 라이브러리를 실행 파일 내부에 넣어두지 않고, 프로그램을 실행할 때 가져다 사용함.
- 메모리의 효율성이 매우 좋음.
- 운영체제 입장에서 주로 사용하는 방법
- 메모리의 효율성이 매우 좋음.
- 라이브러리를 실행 파일 내부에 넣어두지 않고, 프로그램을 실행할 때 가져다 사용함.
- 정적 공유 라이브러리(Static 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
그리드형(광고전용)
'System Software > Linux' 카테고리의 다른 글
[리눅스 명령어] 디스크 확장 : fdisk, partprobe, reboot, mkfs.xfs (0) | 2022.03.13 |
---|---|
[리눅스] 커널 컴파일(Kernel Compile) (0) | 2022.03.13 |
[리눅스 명령어] lsmod, insmod, rmmod, modprobe, modinfo, depmod (0) | 2022.03.13 |
[리눅스 명령어] ldd (0) | 2022.03.13 |
[리눅스 명령어] yum / yumdownloader (0) | 2022.03.13 |
[리눅스 명령어] rpm / rpmbuild (0) | 2022.03.13 |
[리눅스 명령어] gcc (0) | 2022.03.12 |
[리눅스 명령어] zip / unzip (0) | 2022.03.12 |