Gentoo Logo

Предупреждение : Этот документ находится в разработке, и его пока не следует считать официальным.


Руководство по обновлению Gentoo до версии 1.4

Содержание:

1.  Прежде чем начать

Подготовка

Как и с любым глобальным обновлением базовой системы, есть вероятность того, что что-то может пойти не так. И именно потому было бы благоразумно создать копии всей важной для вас информации, перед тем как приступить к данному процессу. Если возможно, попытайтесь также уделить ему как можно больше времени, дабы без сбоев провести полную перекомпиляцию всего установленного на вашей машине программного обеспечения.

Другие способы

Это не единственный способ обновления вашей системы. К примеру, вы можете установить новую систему 1.4 на другой раздел диска, после чего постепенно добавлять туда свои старые конфигурационные файлы. Это хорошо ещё и тем, что позволяет в любой момент вернуться к своей старой системе, что-то вроде аварийного режима. Вы также можете вообще не обновлять свою систему, но уж если вы решили её обновить, тогда уж точно прочтите следующее.

Основное примечание

Всякий раз перед выполнением команды emerge было бы хорошо запустить её же с ключом -p или --pretend дабы знать, что именно она будет делать.

2.  Обновления на месте

Получить насколько это возможно, последний Portage

Иногда синтаксис текущих ebuild скриптов не читаем старой версией Portage. Попытайтесь обновить portage хотя бы до версии 2.0.44.

Листинг 2.1:

# emerge sync
# emerge -u portage

Примечание: Если у вас уж очень старая версия Portage, скорее всего вы получите сообщение об ошибке "unscriptable object". Прочтите следующие инструкции в файле /usr/portage/sys-apps/portage/files/README.RESCUE. Установленная вами версия Portage должна соответствовать текущей.

Подготовка GCC к обновлению

В процессе данного обновления вы должны будете установить свежую версию GCC. Версии более ранние чем 2.95.3-r8 не приспособлены для установки нескольких копий GCC на одном компьютере. Поэтому сначала вы должны обновить GCC хотя бы до версии 2.95.3-r8. Также будет полезно установить пакет gcc-config который позволяет переключаться между различными версиями GCC.

Листинг 2.2:

# emerge -u gcc

Теперь вы можете выяснить, работает ли gcc-config должным образом:

Листинг 2.3:

# gcc-config --get-current-profile

На большинстве x86 систем это должно вернуть строку i686-pc-linux-gnu-2.95.3. На более старых системах строка может быть такой: i586-pc-linux-gnu-2.95.3.

Установка GCC 3

Теперь вы можете установить новую версию GCC, не повредив текущий компилятор. В поисках новой версии GCC (по крайней мере не старше 3.2.1-r6) смотрите наличие ebuild скрипта в /usr/portage/sys-devel/gcc. Выберите последнюю стабильную (stable) версию для вашей архитектуры, посмотрев строку KEYWORDS в ebuild файле. При этом, если перед названием архитектуры не стоит знак ~, это означает, что версия принята как полностью стабильная. На данный момент наиболее стабильной является версия 3.2.2, которую и нужно установить следующей командой:

Листинг 2.4:

#emerge /usr/portage/sys-devel/gcc/gcc-3.2.2.ebuild

Изменение профилей

Теперь необходимо изменить два профиля: ваш gcc-config профиль и ваш же Portage профиль.

Листинг 2.5:

# cd /etc
# rm make.profile
# ln -s ../usr/portage/profiles/default-x86-1.4 make.profile (замените "x86" на нужную вам архитектуру)

Листинг 2.6:

# gcc-config --list-profiles (для выбора просто установленной версии, используйте следующие.)
# gcc-config i686-pc-linux-gnu-3.2.2 (замените версию на ту, которая есть у вас)

Перекомпиляция цепочки необходимых инструментов

Теперь необходимо новым компилятором перекомпилировать ряд нужных компонентов. Если вы находитесь в той же самой рабочей среде, выполните source /etc/profile, как вас проинструктировал gcc-config. После чего установится glibc и binutils, используя ваш новый компилятор:

Листинг 2.7:

# emerge glibc binutils

Предупреждение: Вероятно, что вы обновляете glibc со старых версий 2.2 до 2.3. Не возвращайтесь впоследствии к старой версии glibc. Любое программное обеспечение, скомпилированное с glibc 2.3, просто может перестать работать, что приведет вашу систему к полной непригодности.

Перекомпиляция новым компилятором всего программного обеспечения

Теперь можно пересобрать всё установленное программное обеспечение новым компилятором:

Листинг 2.8:

# emerge -e world

Примечание: Если на данном этапе команда выдаёт ошибку, запустите emerge --resume, чтобы продолжить с места обрыва. Для этого требуется Portage 2.0.47 и старше.



Для печати

Обновлено 20 мая 2003

Исходный документ обновлен 2 июля 2005

Аннотация: Способ обновления старых систем Gentoo до версии 1.4 «по месту».

Robert Coie
автор

Jon Portnoy
редактор копии

Иван Зенков
переводчик

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.