我听说我可以使用apt-get install libc6来完成它,但我需要在/etc/apt/sources.list中添加一些内容来接收最新的glibc版本.我该怎么办?
小智 87
我能够安装libc6 2.17在Debian Wheezy通过编辑建议PERROR的回答:
重要事项
您需要按CTRL- ALT- 退出显示管理器F1.然后,你可以停止X( slim)与sudo /etc/init.d/slim stop
(替换为苗条mdm或lightdm或其他)
将以下行添加到文件中/etc/apt/sources.list:
deb http://ftp.debian.org/debian实验主要
应改为:
deb http://ftp.debian.org/debian sid main
然后按照perror的其余帖子:
更新您的包数据库:
apt-get update
安装eglibc包:
apt-get -t sid install libc6-amd64 libc6-dev libc6-dbg
重要事项
完成更新后libc6,重新启动计算机,您应该注释掉或删除刚添加的sid源(deb http://ftp.debian.org/debian sid main),否则您可能会冒险将整个发行版升级为sid.
希望这可以帮助.我花了一段时间才弄明白.
per*_*ror 46
事实上,你现在不能轻易做到(在我写这条消息的时候).我会尽力解释原因.
首先,glibc已不复存在,它已被eglibc项目所包含.并且,Debian发行版切换到eglibc前一段时间(见这里和那里,甚至在glibc源码包页).所以,你应该考虑通过这种命令安装eglibc包:
apt-get install libc6-amd64 libc6-dev libc6-dbg
Run Code Online (Sandbox Code Playgroud)
替换amd64为您想要的架构类型(请查看此处的包列表).
不幸的是,eglibc包版本仅达2.13中unstable和testing.只有experimental提供此库的2.17版本.因此,如果您真的想要在2.15或更高版本中使用它,则需要从实验版本(不推荐)安装软件包.以下是以root身份实现的步骤:
将以下行添加到文件中/etc/apt/sources.list:
deb http://ftp.debian.org/debian experimental main
Run Code Online (Sandbox Code Playgroud)更新您的包数据库:
apt-get update
Run Code Online (Sandbox Code Playgroud)安装eglibc包:
apt-get -t experimental install libc6-amd64 libc6-dev libc6-dbg
Run Code Online (Sandbox Code Playgroud)祈祷...
嗯,这就是所有人.
小智 25
您的脚本也包含错误,例如,如果安装了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"
Run Code Online (Sandbox Code Playgroud)
此脚本已在3台计算机上测试过,没有错误.
如果您需要升级 glibc,最安全的解决方案可能是升级您的 Linux 发行版,因为大多数软件都依赖于 glibc。
\nldd --version\nRun Code Online (Sandbox Code Playgroud)\n看一下:tracker.debian.org/pkg/glibc
\n摘自\xe2\x80\x8b如何将 Debian 10 Buster 升级到 Debian 11 Bullseye
\nsudo apt-mark showholdsudo apt-mark unhold package_name或确保这些软件包不会干扰升级过程。sudo apt update\nsudo apt upgrade\nsudo apt full-upgrade\nsudo apt autoremove\nRun Code Online (Sandbox Code Playgroud)\n/etc/apt/sources.list:sudo nano /etc/apt/sources.listexport LC_ALL=Csudo apt update\nsudo apt upgrade\nsudo apt full-upgrade\nsudo apt autoremove\nsudo systemctl reboot\nRun Code Online (Sandbox Code Playgroud)\n