• 2024-06-23[本科项目实训] Node.js、npm、pnpm配置及GLIBC_2.28缺失解决方案
    问题描述Node.js是一个基于Google的V8引擎的事件驱动I/O服务端JavaScript环境。以下主要解决在Ubuntu环境中的Node配置问题。解决方案使用node-v可以查看当前的node版本,如果未安装node和npm可以尝试以下指令:aptupdateaptupgradeapt-getinstallnodejsapt-get
  • 2024-06-21glibc库的交叉编译及使用
    1.环境准备宿主系统:ubuntu10.04交叉编译工具:arm-fsl-linux-gnueabi版本4.4.4下载glibc的源码包:ftp://ftp.gnu.org/gnu/glibc/glibc-2.11.1.tar.gz下载glibc-ports的源码包:ftp://ftp.gnu.org/gnu/glibc/glibc-ports-2.11.tar.gz2.分别解压缩文件:把glibc-ports-2.11文件夹
  • 2024-06-11glibc函数malloc的工作原理
    glibc提供了malloc函数来动态分配内存,我们只知道调用malloc会返回给我们一个指针,指向一块内存空间或NULL,那么malloc的工作原理是什么呢?概述:1.小于128kB的空间,使用内存池(在堆上)或brk或sbrk系统调用在堆上分配2.大于128kB的空间,使用mmap在文件映射区分配+----------------
  • 2024-06-10linux:centos7升级glibc到2.36
    #安装依赖的东东yuminstall-ygccgcc-c++glibc-developenssl-developenssl-staticzlib-devellzmatk-develxz-develbisonbzip2bzip2-develncurses-develgdbm-develreadline-develsqlite-devellibffi-develtexinfolibmpc-devel#安装makecd/chz/ins
  • 2024-06-09glibc中的localtime方法源码分析
    localtime方法会加锁,当TZ环境变量为空或者变更时,还会读取文件,还有个问题就是这个方法返回的指针是一个全局变量,可以使用redis无锁的localtime方法来优化这个性能。localtime方法调用链:localtime->__localtime64->__tz_convert(加锁、调用tzset_internal方法解释TZ环境变量,如果
  • 2024-06-0201.Alpine编译glibc
    概要本文档采用glibc2.28版本作为示例,模拟内网环境无法访问github等开源社区为精简docker容器镜像,采用Alpine镜像,需要手动编译glibc源代码制作编译好的glibc二进制文件获取glibc二进制文件构建工具#内网环境可下载该工具包手动上传到服务器gitpullhttps://github.com/s
  • 2024-06-02高版本glibc堆fd指针加密绕过
    高版本glibc堆fd指针加密绕过参考资料:[原创]glibc高版本堆题攻击之safeunlink-Pwn-看雪-安全社区|安全招聘|kanxue.com堆指针加密是在2.32版本引进的,作用在tcache和fastbin。主要是对fd指针进行异或操作来使得不好利用UAF等需要fd指针的手法。从一个例子了解这个保护机制bin
  • 2024-06-01[转帖]一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问
     https://segmentfault.com/a/1190000044152595 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存
  • 2024-05-27Centos升级glibc2.28遇到的问题
    升级glibc查询glibc版本:strings/lib64/libc.so.6|grepGLIBC升级glibc2.28wgethttps://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gztar-xzvfglibc-2.28.tar.gzcdglibc-2.28创建临时文件mkdirbuild&&cdbuild../configure--prefix=/usr--disable-profile--ena
  • 2024-05-22CentOS7.9安装mysql-8.0.36踩坑小记
    前言:最近想在一台测试服务器上,安装下最新的MySQL8.0版本数据库,想着挺简单的一件事,之前也手搓过8.0安装,这不手到擒来,没想到马失前蹄,遇到了一个小坑,耗费了不少时间,简单写篇文档记录下吧。1.排错记录执行./mysqld--initialize初始化命令后,提示报错,如下图所示看报错应该是
  • 2024-05-20GLIBC_2.28 not found CentOS7不兼容Node高版本(18以上)
    CentOS7中默认不支持高版本nodejs(18以上)报错如下node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.28'notfound
  • 2024-05-18Linux/Golang/glibC系统调用
    Linux/Golang/glibC系统调用本文主要通过分析Linux环境下Golang的系统调用,以此阐明整个流程有时候涉略过多,反而遭到质疑~,写点文章证明自己实力也好Golang系统调用找个函数来分析https://pkg.go.dev/os/exec#Cmd.Wait源码文件在src/os目录下的:exec.go->exec_unix.go->
  • 2024-05-01简单解决version 'GLIBC_2.34' not found,version 'GLIBC_2.25' not found
    简单解决version'GLIBC_2.34'notfound,version'GLIBC_2.25'notfound无需手动下载安装包编译前言很多博客都是要手动下载安装包进行编译升级,但这样很容易导致系统崩溃,本博文提供一个简单的方法,参考自博客1,博客2.检查版本strings/usr/lib64/libc.so.6|grepGLIBC_或者
  • 2024-04-26node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案
    问题centos7服务器使用nvm或n安装的16以后的高版本node,均会出现以下问题解决1.升级gcc与make#升级GCC(默认为4升级为8)yuminstall-ycentos-release-sclyuminstall-ydevtoolset-8-gcc*ln-s/opt/rh/devtoolset-8/root/bin/gcc/usr/bin/gccln-s/opt/rh/devtool
  • 2024-04-18ubuntu解决/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found的问题
    运行进程时报错./main:/lib/x86_64-linux-gnu/libc.so.6:version`GLIBC_2.38'notfound(requiredby./main)./main:/lib/x86_64-linux-gnu/libc.so.6:version`GLIBC_2.33'notfound(requiredby./main)./main:/lib/x86_64-linux-gnu/libc.so.6:version`G
  • 2024-04-18运行MongoDB 报错GLIBC_2.14 not found
    Linux环境下安装完mongodb,运行./mongod报错如下#./mongod./mongod:/lib64/libc.so.6:version`GLIBC_2.14'notfound(requiredby./mongod)使用rpm-qa|grep glibc查看系统当前的glibc版本为2.12使用如下命令查看系统glibc最高支持的版本为2.12#strings/lib64/libc.s
  • 2024-04-13升级 glibc 版本的问题
    升级glibc版本的问题一般情况下,也不要升级glibc版本,升级后有可能会导致已安装的应用无法启动;开发环境上将glibc从2.17升级到2.28之后,遇到达梦数据库无法启动,从前台启动时报“段错误”,在/var/log/messages​中看到错误信息:kernel:dmserver[3506]:segfaultat0ip
  • 2024-04-10解决OpenEuler上无法使用varlgrind
    一般来说,欧拉操作系统都没有安装glibc-debuginfo,所以需要排查注入内存泄漏问题,需要使用valgrind时,它会报错,提示需要暗转glibc-debuginfo。错误信息一般张这样。valgrind:Fatalerroratstartup:afunctionredirectionvalgrind:whichismandatoryforthisplatform-tool
  • 2024-04-10消息中间件RabbitMQ_RabbitMQ的安装和配置2
    RabbitMQ官方地址:http://www.rabbitmq.com/安装文档:资料/软件/安装RabbitMQ.md注意:请使用资料里提供的CentOS-7-x86_64-DVD-1810.iso安装虚拟机. 一、安装依赖环境在线安装依赖环境:yuminstallbuild-essentialopensslopenssl-develunixODBCunixODBC-develmake
  • 2024-03-19解决glibc的问题
    转自:https://wenku.csdn.net/answer/1bc7a1849f6607425da7992aa93c5972linux安装glibc回答1:要在Linux上安装glibc,您可以按照以下步骤操作:打开终端并使用root权限登录。使用以下命令安装glibc:yuminstallglibc或者apt-getinstallglibc等待安装完成后,您可以使用以
  • 2024-03-13glibc 2.23 源码分析
    1.基础知识1.1Linux进程内存布局Linux系统在装载elf格式的程序文件时,会调用loader把可执行文件中的各个段依次载入到从某一地址开始的空间中(载入地址取决于linkeditor(ld)和机器地址位数,在32位机器上是0x8048000,即128M处)。以32位机器为例,首先被载入的是.text
  • 2024-03-11node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案
    场景centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题。npm-vnode:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so.6:ver
  • 2024-03-05centos 安装nodejs 18版本时,需要 glibc > 2.28
    前置条件1.make版本号4.32.gcc版本号12.2.0进行glibc-2.28配置时:../configure--prefix=/usr/local/glibc-2.28--disable-profile--enable-add-ons--with-headers=/usr/include--with-binutils=/usr/bin 遇到的错误:inux-gnu/12.2.0/include-fixed-isystem/
  • 2024-03-02Liunx GLIBC版本修改时libc.so.6 被误删修复
    Liunx应用编译,需要降低GLIBC版本编译运行,但libc.so.6出现异常,shell命令均不支持;/bin/ls:errorwhileloadingsharedlibraries:libc.so.6:cannotopensharedobjectfile:Nosuchfileordirectory但这时shell未断开连接仍可进入,只是命令不支持;幸好之前修改时,有备份
  • 2024-03-01centos7安装node18.16.1
    centos7安装node18.16.1参考文档https://www.cnblogs.com/dingshaohua/p/17103654.html详细文档[root@172~]#npm-vnode:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requ