Questions tagged «glibc»

glibc是GNU对Standard C库的实现。

2
为什么某些共享库是可执行文件,为什么以及如何运行?
在32位Linux系统上,调用此 $ /lib/libc.so.6 在64位系统上 $ /lib/x86_64-linux-gnu/libc.so.6 在外壳中,提供如下输出: GNU C Library stable release version 2.10.1, by Roland McGrath et al. Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. …

3
如何在CentOS 6.5中将glibc更新到2.14
我想在CentOS 6.5机器上安装Android NDK。但是当我运行该程序时,它说它需要glibc 2.14才能运行。我的CentOS 6.5仅安装了Glibc 2.12。所以我尝试通过以下方式更新glibc: $ sudo yum update glibc 但是之后,我发现glibc版本仍然是2.12,而不是2.14。 $ ldd --version ldd (GNU libc) 2.12 我认为glibc 2.14可能在CentOS资料库上不可用。那么如何在CentOS 6.5上将其更新到glibc 2.14?
47 centos  upgrade  glibc 

4
在Linux上使用“ >>”时,bash是否会在O_APPEND中打开文件?
如果使用,echo 1234 >> some-file则说明文档将附加输出。 我的猜测是,如果某些文件不存在,则O_CREAT将创建一个新文件。如果>已使用,则O_TRUNC将截断现有文件。 在以下情况下>>:是否将文件以O_WRONLY(或O_RDWR)打开并试图结束并模拟O_APPEND来完成写入操作?还是将文件以O_APPEND的形式打开,然后将其留在内核中以确保追加? 我之所以这样问是因为,当输出文件来自NFS挂载点时,conserver进程会覆盖通过echo插入的一些标记,并且NFS Documentation说服务器上不支持O_APPEND,因此客户端内核将不得不处理它。我猜服务器进程正在使用O_APPEND,但是不确定>>Linux上的bash ,因此在这里提出问题。
38 linux  files  nfs  glibc 

3
i686和x86_64软件包之间有什么区别?
我有一台同时装有glibc i686和x86_64的计算机,以及glibc的一个非常烦人的问题。 一台计算机上安装两个相同名称的库是否正常?我怎么知道执行哪个库? 直到最近,我还认为x86_64是i686。好吧,我一定弄错了,但是为什么呢? [root@machin ~]# yum info glibc Loaded plugins: rhnplugin, security This system is not registered with RHN. RHN support will be disabled. Excluding Packages in global exclude list Finished Installed Packages Name : glibc Arch : i686 Version : 2.5 Release : 42 Size : 12 M …

5
为什么几乎每个程序都抱怨我的语言环境?
我使用的是Arch Linux,并且已按照Wiki上有关设置语言环境的说明进行操作。 几乎每个运行的程序都抱怨语言环境-甚至locale。看起来像这样: % locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en-US LC_TIME=en-US LC_COLLATE="POSIX" LC_MONETARY=en-US LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT=en-US LC_IDENTIFICATION="POSIX" LC_ALL= 要么: % perl perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), …

1
解决此glibc问题的最佳方法是什么?
我管理一个Gentoo Hardened框,该框使用文件功能来消除对setuid-root二进制文件(例如/bin/ping具有CAP_NET_RAW等)的大多数需要。 实际上,我剩下的唯一二进制文件是: abraxas ~ # find / -xdev -type f -perm -u=s /usr/lib64/misc/glibc/pt_chown abraxas ~ # 如果我删除setuid位或重新挂载我的根文件系统nosuid,则sshd和GNU Screen停止工作,因为它们调用grantpt(3)了它们的主伪终端,并且glibc显然执行了该程序来对下的伪伪终端进行chown和chmod /dev/pts/,而GNU Screen会在何时关注此函数失败。 问题是,联机帮助页上grantpt(3)明确指出,在Linux下,devpts安装了文件系统后,不需要此类帮助程序二进制文件;内核会自动将从站的UID和GID设置为打开的进程的实际UID和GID /dev/ptmx(通过调用getpt(3))。 我编写了一个小示例程序来演示这一点: #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> int main(void) { int master; char slave[16]; struct stat slavestat; if ((master = getpt()) …

3
需要在Wheezy上安装glibc> = 2.14
我正在尝试使量角器能够执行e2e角度测试,但是量角器需要Selenium,而Selenium需要ChromeDriver,后者需要glibc2.14。我当前的开发盒正在运行glibc2.13 随附的Debian Wheezy 。我已经读到切换到Debian不稳定分支将提供对的访问glib-2.14,但是据我所知,不稳定是不稳定的。 有什么方法可以升级glibc到2.14或2.15,而又不会破坏所有内容?或者如果事情开始崩溃,是否可以从不稳定的Debian分支切换回去? 12:15:22.784 INFO - Executing: [new session: {browserName=chrome}] at URL: /session) 12:15:22.796 INFO - Creating a new session for Capabilities [{browserName=chrome}] /home/chris/projects/personal/woddy/client/selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /home/chris/projects/personal/woddy/client/selenium/chromedriver) /home/chris/projects/personal/woddy/client/selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/chris/projects/personal/woddy/client/selenium/chromedriver) 12:15:43.032 WARN - Exception thrown java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: …
22 debian  glibc 

3
如何在不更新GLIBC的情况下运行新软件?
我在旧的Red Hat Enterprise Linux AS版本4系统上安装了Mathematica 9。安装后,我尝试启动Mathematica,但出现以下消息: /home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica:/lib64/tls/libc.so.6:找不到版本“ GLIBC_2.4”(/必需主页/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/Libraries/Linux-x86-64/libML64i3.so) /home/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica:/lib64/tls/libc.so.6:找不到版本“ GLIBC_2.4”(/必需主页/wcbao/M/Wolfram/Mathematica/9.0/SystemFiles/Libraries/Linux-x86-64/libQtCore.so.4) 我不想更新系统glibc,因为它有风险,并且管理员不允许我这样做。 有人建议可以在其他地方安装新版本的glibc,然后以 LD_LIBRARY_PATH=/lib/new your_application 这不会影响系统。 所以我在这里问这种方法是否真的有效。如果可行,我想一步一步地去做(我现在在Linux上缺乏经验,想尽快在Linux上使用Mathematica)。 编辑: 我注意到有一个名为“ Ermine”的软件。看来它可以将软件部署为不依赖外部环境的独立程序包。不幸的是,它是一个共享软件。因此,我认为既然“ Ermine”可以做到,那么必须有一种在旧系统上使用新软件的方法。
20 rhel  glibc 

2
新glibc版本可以与旧内核一起使用吗?
显然,可以使用glibc进行编译--enable-kernel以支持较早的内核版本。但是,我无法找到有关特定glibc版本支持哪些内核版本的信息。理想情况下,我想查看每个glibc(2.x)和内核(2.6.x)版本的兼容性列表。是否存在? 如果它不存在,也许是因为每个glibc版本(最近5年左右)都支持2.6.0以来的所有内核? (Arch = x86-64,如果重要的话)

1
在debian / ubuntu中同时安装两个glibc
是否可以在同一台计算机上安装和使用两个不同的glibc版本。哪一个版本仅用于运行依赖于旧glibc二进制文件的旧版软件? 是否有可能借助程序包管理器(例如将“安装此程序包及其依赖项安装到”之类的东西/opt/old-glibc)来完成,而不是直接管理它

4
uname已损坏:如何确定当前正在运行的内核?
> uname -r FATAL: kernel too old > cat /proc/cmdline FATAL: kernel too old / boot中有3个* .vmlinuz-linux文件。如何确定当前正在运行的内核? 请注意,我在具有最小外壳的有限环境中运行。我也尝试过: > sh -c 'read l < /proc/version; echo $l' FATAL: kernel too old > dd if=/proc/version FATAL: kernel too old 有什么想法吗?
13 linux  glibc 

1
如何解决“跳过不兼容的/usr/lib/libc.a”
当我尝试在64位Fedora 16(Verne)上构建嵌入式Linux目标时,出现以下错误: make[3]: Entering directory `/export/home/git/minerva-5.x/third_party/multifiles' mips-linux-gnu-gcc -EL -O -D_GNU_SOURCE -Wall -isystem /export/home/git/minerva-5.x/cs_rootfs_1.2.15/cross_rootfs/include -c -o md5.o md5.c mips-linux-gnu-gcc -EL -O -D_GNU_SOURCE -Wall -isystem /export/home/git/minerva-5.x/cs_rootfs_1.2.15/cross_rootfs/include -c -o bitmapfs.o bitmapfs.c mips-linux-gnu-gcc -EL -O -D_GNU_SOURCE -Wall -isystem /export/home/git/minerva-5.x/cs_rootfs_1.2.15/cross_rootfs/include -c -o mfcln.o mfcln.c mips-linux-gnu-gcc -EL -Wl,-rpath /export/home/git/minerva-5.x/cs_rootfs_1.2.15/cross_rootfs/lib -L/export/home/git/minerva-5.x/cs_rootfs_1.2.15/cross_rootfs/lib -o mfcln md5.o bitmapfs.o mfcln.o mulfiles.h …
13 fedora  make  glibc 

1
幽灵漏洞-CVE-2015-0235
Ghost漏洞是否需要访问(如作为登录用户一样)受影响的受影响的OS?有人可以澄清“能够发起应用程序调用的远程攻击者”吗?我似乎只发现可以直接在本地系统上运行的测试,而不能从远程主机上运行。 到目前为止,我已经从多个来源收集到的有关“ 幽灵漏洞”的所有信息(这些来源的积分),我在下面发布了一个答案,以防其他人感到好奇。 编辑,我找到了答案: 在一次代码审核中,Qualys研究人员在glibc的__nss_hostname_digits_dots()函数中发现了缓冲区溢出。可以通过所有gethostbyname *()函数在本地和远程触发此错误。应用程序主要通过gethostbyname *()函数集访问DNS解析器。这些功能将主机名转换为IP地址。

1
有没有简单的方法来安装glibc的二进制版本?
我一次又一次地看到这样的问题: Centos 6上的GLIBCXX 3.4.15 CentOS 4.8和glibc 2.5 这些是我们通常要推动的解决方案类型: 如何在不更新GLIBC的情况下运行新软件? 在debian / ubuntu中同时安装两个glibc Centos 6上的GLIBCXX 3.4.15 这真的是我们能做到的最好的吗?难道没有GLIBC的二进制版本,我们可以简单地将其解压缩到诸如之类的目录中/opt/myglibc,并设置$LD_LIBRARY_PATH或(任意)内容并运行我们想要的任何应用程序,而不会出现问题? 似乎需要GLIBC 2.14的应用程序,例如较新版本的Chrome(28+)? 注意:该线程标题为:Google Chrome 29已发布–在tecmint.com 上的RHEL / CentOS 6和Fedora 19/15上安装是最终使我想到这一点的原因。 参考文献 GNU C库(glibc)
13 libraries  glibc 

1
为我的ARM SoC交叉编译GLIBC
我看到在chroot版本的Debian armel环境中确实有些奇怪。 但是首先,要有一些背景知识……虽然很长,但是问题很复杂,任何潜在的帮助都取决于了解全文。 我有一个运行Linux的嵌入式ARM SoC,更具体地说,armel是2.6.17内核上的Debian Lenny。Debian发行版本身可以很容易地升级到更高版本(sudo apt-get dist-upgrade),因此可以加快速度,达到甚至的armel版本 。squeezewheezy 问题在于内核是自定义内核...有问题的ARM SoC并不是主线内核的一部分,因此在2.6.17时已被废弃。 如果您知道Linux和GLIBC是如何工作的,那么您已经可以看到问题-使用最低支持的内核版本来编译GLIBC版本...已经超过2.6.17。因此,如果我们尝试将chroot压缩为Debian ... $ # From inside the little ARM machine running Debian Lenny $ sudo debootstrap --arch armel squeeze /squeeze \ http://ftp.whateverCountry.debian.org/debian $ sudo -i # mount -t proc none /squeeze/proc # mount -t sysfs none /squeeze/sys # mount …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.