65

我听说我可以使用apt-get install libc6来做到这一点,但是我需要在 /etc/apt/sources.list 中添加一些东西来接收最新的 glibc 版本。我应该怎么办?

4

3 回答 3

89

我可以通过编辑perror 答案libc6 2.17中的建议来安装:Debian Wheezy

重要
您需要按CTRL- ALT-退出显示管理器F1。然后你可以停止 x ( slim)sudo /etc/init.d/slim stop

(将 slim 替换为mdmorlightdm或其他)

将以下行添加到文件中/etc/apt/sources.list

deb http://ftp.debian.org/debian实验主要

应改为:

deb http://ftp.debian.org/debian sid main

然后按照 perror 帖子的其余部分:

更新您的包裹数据库:

apt-get 更新

安装glibc包:

apt-get -t sid install libc6-amd64 libc6-dev libc6-dbg

重要
更新完成后libc6,重新启动计算机,您应该注释掉或删除您刚刚添加的 sid 源 ( deb http://ftp.debian.org/debian sid main),否则您将面临将整个发行版升级到 sid 的风险。

希望这可以帮助。我花了一段时间才弄清楚。

于 2013-10-30T00:01:45.573 回答
50

事实上,你现在不能轻易做到(在我写这篇信息的时候)。我将尝试解释原因。

首先,glibc已不复存在,它已被eglibc 项目所包含。而且,Debian 发行版在不久前切换到 eglibc(参见此处此处,甚至在glibc 源包页面上)。所以,你应该考虑通过这种命令安装eglibc 包:

apt-get install libc6-amd64 libc6-dev libc6-dbg

替换amd64为您想要的架构类型(查看这里的包列表)。

不幸的是,eglibc 包版本在unstabletesting. 仅experimental提供此库的 2.17 版本。所以,如果你真的想在 2.15 或更高版本中拥有它,你需要从实验版本开始安装包(不推荐)。以下是以root身份实现的步骤:

  1. 将以下行添加到文件中/etc/apt/sources.list

    deb http://ftp.debian.org/debian experimental main
    
  2. 更新您的包裹数据库:

    apt-get update
    
  3. 安装 eglibc 包:

    apt-get -t experimental install libc6-amd64 libc6-dev libc6-dbg
    
  4. 祈祷...

嗯,这就是所有的人。

于 2013-04-02T14:28:11.757 回答
26

您的脚本也包含错误,例如,如果您安装了 dos2unix,您的安装工作但如果您不喜欢我这样做,那么它将因依赖问题而失败。

我偶然发现了这个,因为我正在制作一个脚本文件给我刚接触 Linux 的朋友,因为我在 windows 上制作了脚本,所以我指示他安装它,当时我没有安装 dos2unix,因此我有错误。

这是我为您的解决方案制作的脚本的副本,但安装了 dos2unix。

#!/bin/sh
echo "deb http://ftp.debian.org/debian sid main" >> /etc/apt/sources.list
apt-get update
apt-get -t sid install libc6 libc6-dev libc6-dbg
echo "Please remember to hash out sid main from your sources list. /etc/apt/sources.list"

这个脚本已经在 3 台机器上测试过,没有任何错误。

于 2014-01-21T09:53:24.603 回答