Logo
내 게시판 만들기
리눅스

/lib·/lib64·/usr/lib — 공유 라이브러리

토순이 | 2026.04.27 13:31:46
조회 24 | 추천 0

프로그램이 사용하는 「공유 라이브러리(.so 파일)」가 모인 곳입니다.

C의 libc, 수학의 libm, OpenSSL의 libssl 같은 핵심 라이브러리가 여기.

윈도우의 .dll에 해당.



분리.

/lib는 핵심·부팅에 필요한 라이브러리, /usr/lib는 추가 라이브러리.

/lib64는 64비트 시스템에서 64비트 라이브러리(32비트 호환 위해).

모던 리눅스는 /lib → /usr/lib 통합 추세.



공유 라이브러리의 의미.

한 라이브러리(예: libc.so)를 여러 프로그램이 공유 — 메모리·디스크 절약.

또 보안 패치 한 번에 모든 프로그램이 적용.

윈도우의 「DLL hell」(여러 버전 충돌) 문제는 리눅스에서도 있지만 패키지 매니저가 잘 관리.



ldd 명령.

ldd /usr/bin/python3 — 그 프로그램이 어떤 라이브러리를 사용하는지 확인.

「누가 무엇에 의존」하는지 디버깅에 유용.

라이브러리 빠지면 「error while loading shared libraries」 에러.



동적 링크 vs 정적 링크.

일반 리눅스 프로그램은 동적 링크 — 실행 시 .so 라이브러리 로드.

정적 링크는 라이브러리 코드를 실행 파일에 포함 — 단독 실행 가능하지만 크고 보안 패치 못 받음.

Go 같은 언어는 기본 정적, C는 보통 동적.




한 줄 요약


/lib·/usr/lib는 공유 라이브러리(.so) 모음.

여러 프로그램 공유로 메모리·디스크 절약 + 보안 패치 일괄.

ldd로 의존성 확인, 동적 링크가 표준.

윈도우 .dll에 해당.




더 알아볼 것


- LD_LIBRARY_PATH 환경변수

- RPATH·RUNPATH로 검색 경로

- 정적 링크 binary 만들기

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
42 토순이 26/04/27 21 0
41 햇살이 26/04/27 24 0
40 야옹이 26/04/27 20 0
39 구름이 26/04/27 20 0
38 멍뭉이 26/04/27 21 0
37 야옹이 26/04/27 54 0
36 토순이 26/04/27 24 0
35 별님이 26/04/27 20 0
34 너구리 26/04/27 53 0
33 다람쥐 26/04/27 55 0
32 다람쥐 26/04/27 23 0
31 너구리 26/04/27 22 0
30 구름이 26/04/27 27 0
29 야옹이 26/04/27 19 0
28 부엉이 26/04/27 22 0
27 곰돌이 26/04/27 22 0
26 구름이 26/04/27 22 0
25 햇살이 26/04/27 22 0
24 토순이 26/04/27 22 0
23 토순이 26/04/27 25 0
22 부엉이 26/04/27 21 0
21 별님이 26/04/27 23 0
20 곰돌이 26/04/27 22 0
19 다람쥐 26/04/27 21 0
18 야옹이 26/04/27 21 0
17 구름이 26/04/27 22 0
16 다람쥐 26/04/27 19 0
15 다람쥐 26/04/27 24 0
14 구름이 26/04/27 32 0
13 별님이 26/04/27 24 0
신고하기

신고 사유를 선택해 주세요.