Gentoo Logo

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

Content:

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

Подготовка

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

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

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

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

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

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

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

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

Code Listing 2.1

# emerge sync
# emerge -u portage

Note: Если у вас уж очень старая версия 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.

Code Listing 2.2

# emerge -u gcc

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

Code Listing 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, которую и нужно установить следующей командой:

Code Listing 2.4

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

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

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

Code Listing 2.5

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

Code Listing 2.6

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

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

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

Code Listing 2.7

# emerge glibc binutils

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

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

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

Code Listing 2.8

# emerge -e world

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



Print

Updated 20 May 2003

Summary: Способ обновления устаревшей установки Gentoo, до версии 1.4

Robert Coie
Author

Jon Portnoy
Copy Editor

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

Donate to support our development efforts.

Tek Alchemy

Tek Alchemy offers dedicated servers and other hosting solutions running Gentoo Linux.

php|architect

php|architect is the monthly magazine for PHP professionals, available worldwide in print and electronic format. A percentage of all the sales will be donated back into the Gentoo project.

The Gentoo Linux Store
SevenL.net

Seven L Networks provides customizable Dedicated Servers for your customized Gentoo install. Colocation and other hosting services are also provided.

$99/mo dedicated servers

No BS Dedicated Gentoo Linux Servers from vr.org.

Copyright 2001-2005 Gentoo Foundation, Inc. Questions, Comments, Corrections? Email www@gentoo.org.