이 질문을 읽은 후libc6-dev와 libc6의 차이점, 새 VPS를 시작 Ubuntu 20.04 LTS
하고 일부 Ubuntu 패키지에 어떤 파일이 포함되어 있는지 확인했습니다.
나는 확인했다 libc6-dev
(https://packages.ubuntu.com/focus/amd64/libc6-dev/filelist) 그리고 libc6
(https://packages.ubuntu.com/focus/amd64/libc6/filelist).
보시다시피 libc6-dev
이러한 공유 라이브러리는 아래에 있고 /usr/lib/x86_64-linux-gnu/
공유 libc6
라이브러리는 아래에 있습니다 /lib/x86_64-linux-gnu/
.
그러나 나를 궁금하게 만드는 것은 다음과 같습니다.
나도 ( ) 있어요
libc.so.6
. 삭제되지 않습니다. 이것은 어디에서 왔습니까?/usr/lib/x86_64-linux-gnu/
libc.so.6 -> libc-2.31.so*
apt install remove libc6-dev
libc.so.6
libc.so.6
Packge는 바이트 만
-rw-r--r-- 1 root root 298 Apr 7 09:24 libc.so
설치합니다 . 무엇을요? 왜?libc6-dev
298
sudo apt list --installed
산출:https://pastebin.com/geDjY2z2
ll -h | grep libc
산출:https://pastebin.com/UHn5QVt1
ll -h | grep libc
출력, 왼쪽(제거됨 libc6-dev
):
답변1
libc.so.6
패키지의 일부입니다 libc6
. 의 파일 목록에만 나타나는데 /lib/x86_64-linux-gnu
, /lib
심볼릭 링크이므로 /usr/lib
에도 나타납니다 /usr/lib/x86_64-linux-gnu
. libc.so.6
C 라이브러리를 사용하는 프로그램에서 참조하는 라이브러리입니다.
$ ldd /bin/true
linux-vdso.so.1 (0x00007ffc797a9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc865f4a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc86614b000)
libc.so
프로그램을 빌드할 때 사용되며,링커 스크립트입니다라이브러리 대신 해당 내용을 검사할 수 있습니다.
$ cat /lib/x86_64-linux-gnu/libc.so
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-gnu/libc_nonshared.a AS_NEEDED ( /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ) )