glibc
本文最后更新于 2022-07-02,文中内容可能已过时。 准备学堆了 不同版本的 glibc 对于堆的管理稍有不同 (比如高版本可能增加了一些补丁 使得某些漏洞无法利用). 由于需要本地调试 所以得先学一下怎么更换 glibc 版本. 首先得先下载对应版本的 glibc 吧. 这个工具非常方便. 可执行文件把链接器路径写死在 ELF 文件中了 所以当指定其他 glibc 版本时 连接器版本也需要指定 否则会发生错误. 有空写个脚本一键操作 (或者找师傅们要一个). github 上找到了两个 效果貌似都不怎么样.
更新后的 glibc 程序包修复了一个安全问题,现在可用于 Red Hat Enterprise Linux 5。 Red Hat 产品安全团队将此更新评级为具有严重安全影响。可从“参考”部分中的 CVE 链接获取通用漏洞评分系统 (CVSS) 基本分数,其给出了详细的严重性等级
glibc 2.23 增强了性能并提升 POSIX 兼容性,并向后兼容 Fedora 23。 GCC 6 提供更好的代码优化,且所有包都基于 GCC 6 重建立。 附加其他语言环境
《深入Linux内核架构与底层原理》刘京洋【扫描版_PDF电子书_下载】 本书主要描述Linux系统的总体框架和设计思想,包含很多可以直接操作的实例,目的是希望读者对Linux系统背后的逻辑有一个全面的了解。本书力求贴近实际的工作使用,在比较核心且常用的技术点有更加深入的解释,对实际使用Linux系统工作大有裨益。本书共13章,其中第1~3章是总览,第4~13章是分领域阐述
上图中有三台主机: x230i-vm 是位于一台 Fedora 主机上的 VirtualBox 虚拟机(Ubuntu 18.04.4 最小化安装),宿主机有四个 cpu 线程但我只分配给虚拟机3个,其余一个用于在宿主机上用于 icecc-scheduler 来分配编译任务,libreoffice 的源代码及 git 仓库均位于这台虚拟机上。在虚拟机上构建是因为 Fedora 宿主机上的 glibc 版本太高,若直接在宿主机上编译,得到的程序可能无法在其它系统中运行。这台虚拟机中启用 iceccd.service,虚拟机外的宿主机上启用 icecc-scheduler.service
Ubuntu 和其他一些 Linux 发行版已经在使用 systemd-resolved,不过 Ubuntu 虽然默认情况下已启用 systemd-resolved,但它并没有使用 nss-resolve。相反,Ubuntu 使用了 glibc 上游提供的传统 nss-dns。Fedora 的做法与 Ubuntu 有所不同,Fedora 希望遵循 systemd 关于域名解析功能的所有建议,因此它选择了上游的方案,改用 nss-resolve
GNU C库(glibc)是标准C库的GNU实现。glibc是GNU工具链的关键组件,用于和二进制工具和编译器一起使用,为目标架构生成用户空间应用程序。 当从源码进行构建时,一些Linux程序可能需要链接到某个特定版本的glibc