Обновления Gentoo Linux

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 20:45, 11 мая 2011 (править)
NCdy (Обсуждение | вклад)
(coreutils)
← К предыдущему изменению
Версия 05:38, 12 мая 2011 (править) (отменить)
83.242.245.41 (Обсуждение)
(coreutils)
К следующему изменению →
Строка 2: Строка 2:
== coreutils == == coreutils ==
-При обновлении coreutils-6.12 появляется баг с командой <code>touch</code> [[http://bugs.gentoo.org/233280 Bug 233280]] специфичный для устаревшего ядра Open VZ платформы.+При обновлении coreutils-6.12 (8.12) появляется баг с командой <code>touch</code> [[http://bugs.gentoo.org/233280 Bug 233280]] специфичный для устаревшего ядра Open VZ платформы.
В качестве решения можно использовать совет Антона Фёдорова, выполнить команды заменяющие touch на busybox. В качестве решения можно использовать совет Антона Фёдорова, выполнить команды заменяющие touch на busybox.
<code>rm /bin/touch && ln -s /bin/bb /bin/touch</code> <code>rm /bin/touch && ln -s /bin/bb /bin/touch</code>
-Лучше заранее добавить исключение в package.mask и не обновлять работающий coreutils.+Лучше заранее добавить исключение в package.mask и не обновлять работающий coreutils !
-<code>>=sys-apps/coreutils-6.12</code>. Coreutils-6.12 уже более 2х лет как мёртв в репозиториях пакетного менеджера. Вам необходимо собрать локальный overlay(создать свой репозиторий) и добавить туда вот этот [[http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/coreutils/coreutils-6.12.ebuild ebuild]], но, что бы его собрать подобным методом надо будет влить в систему несколько корневых пакетов 2008 года - xz-utils , lzma-utils.+<code>>=sys-apps/coreutils-6.12</code> или <code>>=sys-apps/coreutils-8.12</code> для 2011 профиля.
- +
-Оба метода не идеальны, так как новые пакеты основаны на работе с coreutils 8+, busybox не является полноценной заменой.+
== libtool == == libtool ==

Версия 05:38, 12 мая 2011

В этой статье описаны известные проблемы и их решения при обновление ПО в ОС Gentoo Linux.

coreutils

При обновлении coreutils-6.12 (8.12) появляется баг с командой touch [Bug 233280] специфичный для устаревшего ядра Open VZ платформы. В качестве решения можно использовать совет Антона Фёдорова, выполнить команды заменяющие touch на busybox.

rm /bin/touch && ln -s /bin/bb /bin/touch

Лучше заранее добавить исключение в package.mask и не обновлять работающий coreutils ! >=sys-apps/coreutils-6.12 или >=sys-apps/coreutils-8.12 для 2011 профиля.

libtool

Некоторые версии `libtool` блокируют сами себя. Например:

[blocks b ] =sys-devel/libtool-2*:1.5 ("=sys-devel/libtool-2*:1.5" is blocking sys-devel/libtool-2.2.10)

Для обновления в этом случае надо удалить и сразу же установить libtool.

emerge -C libtool
emerge -1 libtool

gcc >=4.3 и glibc >=2.8

Имеют циклическую зависимость. То есть glibc версии >=2.8 требует компилятор gcc версии >=4.3, а компилятор gcc версии >=4.3 требует glibc версии >=2.8.

В этом случае надо обновить сначала компилятор, затем при помощи gcc-config выбрать компилятор самой большой версии, потом установить glibc и переустановить опять компилятор.

Последовательность команд будет следующей:

emerge --nodeps gcc
gcc-config
emerge glibc
emerge gcc