Как обновить glibc с версии 2.13 до 2.15 на Debian?

Я слышал, что могу это сделать, используя apt-get install libc6, но мне нужно добавить что-то в /etc/apt/sources.list, чтобы получить новейшую версию glibc. Что мне делать?

Ответ 1

Мне удалось установить libc6 2.17 в Debian Wheezy, отредактировав рекомендации в perror answer:

ВАЖНО
 Вам нужно выйти из диспетчера дисплеев, нажав CTRL - ALT - F1. Затем вы можете остановить x (slim) с помощью sudo /etc/init.d/slim stop

(замените slim на 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 установить libc6-amd64 libc6-dev libc6-dbg

ВАЖНО
После завершения обновления libc6 перезагрузите компьютер, и вы должны закомментировать или удалить источник sid, который вы только что добавили (deb http://ftp.debian.org/debian sid main), иначе вы рискуете обновить весь дистрибутив до sid.

Надеюсь, это поможет. Мне потребовалось некоторое время, чтобы понять.

Ответ 2

На самом деле вы не можете сделать это легко прямо сейчас (в то время, когда я пишу это сообщение). Я попытаюсь объяснить, почему.

Прежде всего, glibc больше не существует, он был включен в проект eglibc. И дистрибутив Debian переключился на eglibc некоторое время назад (см. здесь и там и даже на страница исходного пакета glibc). Таким образом, вы должны рассмотреть возможность установки eglibc пакета с помощью этой команды:

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

Замените amd64 на нужную вам архитектуру (см. список пакетов здесь).

К сожалению, версия пакета eglibc составляет только 2.13 в unstable и testing. Только experimental предоставляет версию этой версии 2.17. Итак, если вы действительно хотите получить его в 2.15 или более, вам нужно установить пакет из экспериментальной версии (что не рекомендуется). Вот шаги, которые нужно выполнить с правами root:

  • Добавьте в файл следующую строку /etc/apt/sources.list:

    deb http://ftp.debian.org/debian experimental main
    
  • Обновите свою базу данных пакетов:

    apt-get update
    
  • Установите пакет eglibc:

    apt-get -t experimental install libc6-amd64 libc6-dev libc6-dbg
    
  • Помолитесь...

Хорошо, что все люди.

Ответ 3

В вашем script также содержатся ошибки, например, если у вас есть dos2unix, установленная установка работает, но если вам не нравится, что я это сделал, она будет терпеть неудачу с проблемами зависимости.

Я случайно обнаружил это, когда создавал файл script, чтобы дать моему другу, который является новым для Linux, и потому, что я создал сценарии в окнах, я направил его, чтобы установить его, в то время, когда я не делал этого у меня есть dos2unix, поэтому я получил ошибки.

вот копия script, которую я сделал для вашего решения, но имеет 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"

этот script был протестирован на 3 машинах без ошибок.