Обновления Gentoo Linux
Материал из 1GbWiki.
Версия 17:57, 25 декабря 2010 (править) Dmih (Обсуждение | вклад) м ← К предыдущему изменению |
Текущая версия (04:30, 16 мая 2011) (править) (отменить) 83.242.245.41 (Обсуждение) |
||
(12 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
В этой статье описаны известные проблемы и их решения при обновление ПО в ОС Gentoo Linux. | В этой статье описаны известные проблемы и их решения при обновление ПО в ОС Gentoo Linux. | ||
+ | |||
+ | Прежде всего : системные пакеты Gentoo не поддерживают текущее ядро (2.6.18), например последняя поддерживаемая версия linux-headers для 2.6.32, а с некорректными linux-headers не стоит собирать glibc. Вы производите обновление на свой страх и риск. | ||
== coreutils == | == coreutils == | ||
- | При обновлении | + | При обновлении coreutils-6.12 (8.7) появляется баг с командой <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> или <code>>=sys-apps/coreutils-8.7</code> для 2011 профиля. | ||
+ | |||
+ | == libtool == | ||
+ | Некоторые версии `libtool` блокируют сами себя. Например: | ||
+ | |||
+ | <code>[blocks b ] =sys-devel/libtool-2*:1.5 ("=sys-devel/libtool-2*:1.5" is blocking sys-devel/libtool-2.2.10)</code> | ||
+ | |||
+ | Для обновления в этом случае надо удалить и сразу же установить libtool. | ||
+ | |||
+ | <pre>emerge -C libtool | ||
+ | emerge -1 libtool</pre> | ||
+ | |||
+ | == gcc >=4.3 и glibc >=2.8 == | ||
+ | Имеют циклическую зависимость. То есть glibc версии >=2.8 требует компилятор gcc версии >=4.3, а компилятор gcc версии >=4.3 требует glibc версии >=2.8. | ||
+ | |||
+ | В этом случае надо обновить сначала компилятор, затем при помощи <code>gcc-config</code> выбрать компилятор самой большой версии, потом установить glibc и переустановить опять компилятор. | ||
+ | |||
+ | Последовательность команд будет следующей: | ||
+ | <pre>emerge --nodeps gcc | ||
+ | gcc-config | ||
+ | emerge glibc | ||
+ | emerge gcc</pre> | ||
[[Категория:Linux VDS]] | [[Категория:Linux VDS]] |
Текущая версия
В этой статье описаны известные проблемы и их решения при обновление ПО в ОС Gentoo Linux.
Прежде всего : системные пакеты Gentoo не поддерживают текущее ядро (2.6.18), например последняя поддерживаемая версия linux-headers для 2.6.32, а с некорректными linux-headers не стоит собирать glibc. Вы производите обновление на свой страх и риск.
[править] coreutils
При обновлении coreutils-6.12 (8.7) появляется баг с командой 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.7
для 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