AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[glibc](unix)

Martin Hope
Rick
Asked: 2022-06-03 22:05:04 +0800 CST

为什么我的 /usr/lib/x86_64-linux-gnu 目录下有 libc.so.6?

  • 1

在阅读了 libc6-dev 和 libc6 之间的这个问题区别后,我启动了一个新的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/.

但让我好奇的是:

  1. 我也有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是从哪里来的?

  2. packge-rw-r--r-- 1 root root 298 Apr 7 09:24 libc.so安装的libc6-dev只有298字节,什么?为什么?

sudo apt list --installed输出:https
ll -h | grep libc ://pastebin.com/geDjY2z2输出:https ://pastebin.com/UHn5QVt1

ll -h | grep libc输出,左(删除libc6-dev):

文本

linux glibc
  • 1 个回答
  • 1513 Views
Martin Hope
hasanfirdaus79
Asked: 2022-04-30 05:28:55 +0800 CST

如何在 Musl LibC (Void Linux) 中运行 sublime 文本

  • 0

我如何在不使用 chroot 或 flatpak 的情况下使用 musl LibC(不是 glibc)在 Void Linux 中运行 sublime text?

linux glibc
  • 1 个回答
  • 123 Views
Martin Hope
Antonio Petricca
Asked: 2021-11-06 07:12:20 +0800 CST

在 Ubuntu 18.04 上安装内核 5.15.0

  • 1

我通过https://github.com/pimlie/ubuntu-mainline-kernel.sh在我的 Linux Mint 19.3 (Ubuntu 18.04) 上安装了较新的 5.15.0 内核。

一切正常,但不适用于内核头文件,由于预期的 LIBC 版本必须 >= 2.34,而不是 2.27 附带的 Ubuntu 18.04,导致安装错误。

是否可以在不影响系统稳定性的情况下解决此问题?

太感谢了!

kernel glibc
  • 2 个回答
  • 1858 Views
Martin Hope
mraron
Asked: 2021-10-14 12:54:30 +0800 CST

编译到标准输出时 g++ 的链接器错误

  • 1

假设我有一个名为 的 C++ 文件dummy.cpp,我需要用 g++ 编译它,使其来自标准输入,而 g++ 将编译后的二进制文件输出到标准输出。

如果只需要 stdin 部分,则以下命令可以解决问题:

$ g++ -x c++ -o dummy - < dummy.cpp

现在添加输出部分,据我所知,我们需要使用例如/dev/stdout(或/proc/self/fd/1)作为输出参数,但是它不会工作,因为它会因链接器错误而退出。

$ g++ -x c++ -o /dev/stdout - < dummy.cpp
/usr/bin/ld: final link failed: Illegal seek
collect2: error: ld returned 1 exit status

如果我通过它将它从终端重定向到一个文件g++ -x c++ -o /dev/stdout - < dummy.cpp > dummy,它将正常工作。我想问题是标准输出是不可搜索的,当它通过管道传输到文件中时,它会“变成”。但是为什么 ld 文件是可查找的,并且可以以某种方式规避它?

shell glibc
  • 1 个回答
  • 154 Views
Martin Hope
Hogfeldt
Asked: 2020-01-29 23:44:45 +0800 CST

LFS - 是否应该在 5.7 节中修补 Glibc?

  • 0

我目前正在阅读 Linux From Scratch (LFS) 这本书,但我对何时应用补丁有点困惑。

在第 5.7 节中,目标是构建glibc. 该部分有一个非常直接的构建说明,但我在前一章中注意到,我下载了补丁Glibc FHS Patch,但说明中没有提到这个补丁。

我应该glibc在本节中修补还是只按照说明进行?

注意!当前 LFS 稳定版本是 9.0

compiling glibc
  • 1 个回答
  • 141 Views
Martin Hope
Blub
Asked: 2019-03-13 04:58:29 +0800 CST

静态链接libc,可能与否,推荐与否?

  • 4

我在我的二进制文件中看到了这一行:

0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

我不应该摆脱它吗?实际上更令人困惑的是,为什么它首先存在,我觉得 gcc 默认编译仅在主机上运行的东西有点疯狂。仅仅依赖一些随机的 libc 可能会或可能不会在我最终将复制粘贴此二进制文件的机器上,这不是非常危险吗?我不明白。在 Windows 上,我想我会得到某种“缺少运行时”错误,该错误被版本化为我编译它的确切运行时,所以如果我在 XP 上使用某个编译器编译,那么任何主机也必须安装该运行时. 但是在 Linux 上我从来没有听说过这样的情况,或者在某个地方是否有一个包含 50 个不同 libc.so 的目录,并且当我的应用程序尝试启动时,正确的目录会被链接?因为我有种感觉。

linux glibc
  • 1 个回答
  • 7153 Views
Martin Hope
cybernard
Asked: 2019-03-01 21:13:30 +0800 CST

glibc 需要操作系统有 2.29,我有 1 个应用程序需要 2.27 max 如何解决,所以两者都可以工作?

  • 2

Opensuse tumbleweed 带有 glibc2.29,因此系统中的其他所有内容都依赖于它。

但是,我有 CrashPlanDesktop,它最多需要 2.27。

我很容易找到了一个 2.27 的 opensuse repo。

但是,尝试安装它会导致:

rpm: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /usr/lib64/libpopt.so.0)

我该如何解决这个问题?

CrashPlanDesktop 必须与服务通信。

我可以使用 chroot 或其他东西吗?

我可以将 rpm 提取到包含可执行文件的文件夹中吗?

另外我收到了这条消息,但不知道它是什么意思

代码:d6 21 12 e3 c4 a7 81 1d 7a 48 5f 26 5f 37 b8 f1 ed f5 f8 7c 86 e8 25 4c a5 5a 29 b7 45 41 0c cc a7 76 95 b4 93 d9 d8 5e 4c b8 f4 95 11 c4 9f fc 6d a0 1d 3c 50 4a e0 5a 6b 48 18 f7 b9 ab

opensuse glibc
  • 2 个回答
  • 1498 Views
Martin Hope
Overv
Asked: 2019-01-09 13:10:37 +0800 CST

Docker 映像中的 glibc 如何在不同的容器主机内核中存活?

  • 6

Docker 容器共享主机的内核,但它们确实包含自己的应用程序和库。glibc 是这些库之一是否正确?

如果是这样,为什么 glibc 与实际容器主机运行的任何内核版本都不兼容?

docker glibc
  • 1 个回答
  • 2837 Views
Martin Hope
smolloy
Asked: 2018-12-28 07:04:36 +0800 CST

ld.so.cache 和 libc.so.6 为每个调用映射内存?

  • 7

玩strace,在我看来,ld.so.cache几乎libc.so.6每个进程都打开并映射到内存。至少我尝试过的那些过程。这不是意味着这些进程被多次映射到进程内存中吗?

当然,这些文件非常小,但是这不是有点浪费内存吗?

strace 输出显示这些正在使用MAP_PRIVATEset 进行映射,这使其成为写时复制,但似乎每个进程都有一个新映射。

我的问题:

  1. 我是否正确理解正在发生的事情?也就是说,是否真的有这些文件的新副本映射到每个需要它们的进程(似乎是每个进程)的内存中?
  2. 是否正在进行某种类型的内存共享?也就是说,由于映射是写时复制,是否有很多进程在查看相同的物理内存位置?
strace glibc
  • 1 个回答
  • 756 Views
Martin Hope
CodeSandwich
Asked: 2018-12-14 07:04:33 +0800 CST

为什么操作系统需要明确支持 musl?

  • 0

内核具有基于中断和幻数的 API。这个 API 太低级,对程序员不友好,所以发明了 libcs​​。它们暴露了函数,这些函数很方便并且直接调用内核 API。

事实 1:Linux 内核 API 非常稳定,因此静态链接到旧 musl 的应用程序可以预期旧内核 API 行为仍然有效。

事实 2:将 musl 静态链接到应用程序使整个应用程序直接调用内核 API。

事实 3:使用静态链接 musl 编译的应用程序将仅使用裸内核 API 在当前和未来版本的 Linux 上运行。

那么为什么有些发行版有明确的 musl 支持呢?拥有符合 Linux 的内核 API 还不够吗?

我的一些“事实”一定是无效的,因为我无法回答自己的问题。

linux-kernel glibc
  • 1 个回答
  • 602 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve