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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 20:20, 11 мая 2011 (править)
NCdy (Обсуждение | вклад)
(coreutils)
← К предыдущему изменению
Версия 20:22, 11 мая 2011 (править) (отменить)
NCdy (Обсуждение | вклад)
(coreutils)
К следующему изменению →
Строка 8: Строка 8:
Лучше заранее добавить исключение в package.mask и не обновлять работающий coreutils. Лучше заранее добавить исключение в package.mask и не обновлять работающий coreutils.
-<code>>=sys-apps/coreutils-6.12</code>. Как и ядро, которому уже как 5 лет, не актуально, так и coreutils-6.12 уже нет в дереве portage. Вам необходимо собрать локальный overlay (костыли) и добавить туда вот этот [[http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/coreutils/coreutils-6.12.ebuild ebuild]].+<code>>=sys-apps/coreutils-6.12</code>. Coreutils-6.12 уже нет в дереве portage лет 5. Вам необходимо собрать локальный overlay и добавить туда вот этот [[http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/coreutils/coreutils-6.12.ebuild ebuild]].
Оба метода не идеальны, так как новые пакеты основаны на работе с coreutils 8+, busybox не является полноценной заменой. Оба метода не идеальны, так как новые пакеты основаны на работе с coreutils 8+, busybox не является полноценной заменой.

Версия 20:22, 11 мая 2011

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

coreutils

При обновлении coreutils-6.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. Coreutils-6.12 уже нет в дереве portage лет 5. Вам необходимо собрать локальный overlay и добавить туда вот этот [ebuild].

Оба метода не идеальны, так как новые пакеты основаны на работе с coreutils 8+, busybox не является полноценной заменой.

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