在我阅读了libc6-dev 和 libc6 之间的问题 diff 后,我启动了一个新的Ubuntu 20.04 LTSVPS 并检查了一些 Ubuntu 软件包中包含哪些文件。
我检查了libc6-dev(https://packages.ubuntu.com/focal/amd64/libc6-dev/filelist)和libc6(https://packages.ubuntu.com/focal/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-devlibc.so.6libc.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):
libc.so.6是套餐的一部分libc6。它仅出现在 中的文件列表中/lib/x86_64-linux-gnu,但/lib它是 的符号链接,因此它也会/usr/lib显示在 中。是使用C库的程序引用的库:/usr/lib/x86_64-linux-gnulibc.so.6
$ 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)
Run Code Online (Sandbox Code Playgroud)
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 ) )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6844 次 |
| 最近记录: |