잘 모르시는 분들을 위해 설명하자면 글리벡은 도서관의 약자입니다
이것은 공유 객체 형식을 취하는 오픈 소스 라이브러리입니다 리눅스는
dll에 해당합니다
많은 Linux 운영 체제의 기본 부분이죠
네 대체 c 라이브러리 구현이 존재합니다 뮤슬과 uclibc 같은 거죠 글립은 30년 전부터
존재했고 널리 사용되고 있습니다 ? 네
데스크톱과 임베디드 시스템에서 사용됩니다 Ubuntu, 데비안 아치 Linux 같은 유명한 디스크로에서요
몇 개만 말하자면요
그리고 GLIBC가 하는 일은 상용 코드 기능을 제공하는 것인데 memcpy와 printf((# C와 C++로
작성된 프로그램들에 말이죠 그리고 확장함에 따라 Python 같은 고급 언어에는 종종 통역이 C로 작성됩니다
네 간단히 말씀드리면 일반적인 Linux 디스트로에서 글립코 공유 개체를 메모리에 매핑하지 않는
프로세스를 찾기가 무척 어려울 겁니다
화면에 보이는 건 Ubuntu 18입니다 04 장기 지원 디스트로입니다 운영 체제의
GLIBC 공유 개체를 어디서 찾을 수 있는지와 그 공유 개체가 얼마나 중요한지 시연하기 위해
사용할 거예요
지금 단계에서는 따라 할 필요
없어요 곧 환경을 준비할 테니까요
ldd는, "list 동적 의존성"의 약자로 이진법이 의존하는 공유 개체를 나열합니다
ls를 대조해 보면 ls는 립슬린과 립프리드 같은 도서관을 많이 보유하고 있죠
이 중 libc라는 도서관이 있습니다 그래서 6번, 글리벡이
공유하는 객체입니다
글립코브의 줄임말은 libc와... part는 공유 객체를 의미합니다.
6개 파트는 소나메라고 알려진 Linux 라이브러리 ABI 버전 관리
규칙의 일부입니다 도서관 관리인이 도서관이 바뀔
때마다 소네임을 증가시켜요
libc가 맞아요 그래서 6은 libc-2와의 상징적인 연결 고리일 뿐이에요 27살요 libc-2
27살요 이건
실제 GLIBC 공유 개체예요 27은 글립코 버전인데 소나메와는
달라요
네 네 지원 기간에 대해 종종 바뀌지 않죠 안
바뀌어요
예를 들어 우분투 18을 봤죠 4번 장기 지원은 글리벡 버전 2를 사용합니다 27살요
이 버전으로 만들어졌고 지원 기간인 5년 동안 계속 사용될 겁니다
네 네 그들 버전의 글라이브를 업데이트하죠 , 네
실행해보면 네 독립된 위치 엘프 파일이라는 게 밝혀집니다 Windows
DLL이 PE 파일인 것처럼요
BuildID로 글리벡의 특정 빌드를 식별할 수 있어요
네 네 안 돼요
어떤 버전의 글리벡을 다루고 있는지 확실하지 않다면 공유 객체를 실행하는 것이 빠른
방법입니다.
네 du 두 libc 바이너리가 차지하는 공간이 2메가바이트라는 걸 보여줍니다
이 2메가바이트가 얼마나 중요한가요?
떼서 확인해 볼게요 이 명령으로 리브라를 삭제해요 그래서 symlink 6
ls나 who라미처럼 간단한 프로그램을 사용하려 하면
실행이 안 돼요
단말기 에뮬레이터를 닫으면 반응이 없어요
Firefox 같은 프로그램은 시작도 안 되고 OS는 종료조차 안 돼요
그게 현대 Linux 운영 체제의 온전함에 있어 글리벡이 그 정도로 중요한 겁니다
네 그래서 요약하자면 글리벡은 공유 객체이자 라이브러리로 운영 체제의 거의 모든 프로세스에
상용 코드를 제공합니다
아주 중요한 요소라서 가장 기본적인 기능에도 꼭 필요하죠
다음 영상에서는 글리벡과 관련된 많은 사람을 알아볼 거예요