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

Gregorio Guidi  автор
vnp  переводчик
Михаил Ярмиш  переводчик
Алексей Чумаков  переводчик

Обновлено 19 декабря 2005
Исходный документ обновлен 6 июля 2008

1.  Gentoo и обновления

Философия

Здесь, на земле Gentoo, обновление понимается совсем не так, как во всем остальном мире Linux. Вы, вероятно, уже знаете, что в наших дистрибутивах мы никогда не следовали «классическому» способу обновления программ: дождаться нового релиза, скачать его, прожечь, засунуть диск в дисковод и, наконец, следовать установочным инструкциям.

Вы знаете (вы же не зря выбрали Gentoo), как такой процесс раздражает опытного пользователя, стремящегося всегда быть на переднем крае. Учитывая популярность и распространенность инструментов типа apt или apt-rpm, облегчающих быстрые и частые обновления, мы полагаем, что и опытные пользователи других дистрибутивов испытывают те же чувства. Однако ни один дистрибутив не приспособлен для удовлетворения нужд требовательных пользователей лучше Gentoo, поскольку Gentoo с самого начала строился на идее быстрых последовательных обновлений.

В идеале, вы устанавливаете систему однажды, и более никогда не беспокоитесь о выпусках: просто следуйте инструкциям из введения в Portage в настольной книге Gentoo, где описывается, как поддерживать актуальность системы. Хотя обычно такого подхода достаточно, иногда в ядро системы вносятся изменения, требующее установки вручную.

Выпуски и профили

О процессе выпуска версий Gentoo постоянно задают вопрос: «Зачем нужно часто делать новые выпуски, если они не предназначены для обновления программ у пользователей?". Тому есть ряд причин:

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

Профиль — это набор конфигурационных файлов, хранимый в подкаталоге /usr/portage/profiles, описывающий сценарии ebuild системных пакетов, флаги использования (USE) по умолчанию, отображение виртуальных пакетов по умолчанию, а также архитектуру, на которой запускается система.

Используемый профиль определяется символьной ссылкой /etc/make.profile, которая указывает на подкаталог в /usr/portage/profiles, содержащий файлы профиля. К примеру, профиль x86 2005.1 по умолчанию находится в /usr/portage/profiles/default-linux/x86/2005.1. Файлы в родительских каталогах также входят в состав профиля (и, таким образом, совместно используются различными подпрофилями). Поэтому мы называем такие профили каскадными профилями.

Профили, устаревающие с появлением новых, хранятся в /usr/portage/profiles наравне с актуальными, но помечены как как нежелательные для использования. Для этого в каталог профиля помещается файл deprecated. Файл содержит имя профиля, на который рекомендуется обновиться. Portage использует эту информацию для автоматического предупреждения о необходимости перехода на новый профиль.

Существуют различные причины для создания нового профиля: выпуск новых несовместимых версий базовых пакетов (таких, как baselayout, gcc, или glibc), изменения в USE-флагах по умолчанию или отображении виртуальных пакетов, или, возможно, серьезные системные изменения.

2.  Гонка за новыми выпусками

Выпуски без изменений в профиле

Если объявлен новый выпуск Gentoo, в котором не появился новый профиль, то твердо можно притвориться, что вы его не заметили :).

Ваша система будет в точности соответствовать вновь установленной с нового выпуска, если вы обновите установленные пакеты согласно описанию из Настольной книги Gentoo.

Выпуски с изменениями в профиле

Если в выпуске появился новый профиль (как, например, в 2005.1 для x86), у вас есть возможность на него перейти.

Естественно, вы не обязаны это делать, и можете продолжать пользоваться старым профилем, просто обновляя свои пакеты, как описано в Настольной книге Gentoo.

Однако, Gentoo крайне рекомендует обновлять профиль, если он объявляется нежелательным для использования. Когда такое происходит, это означает, что разработчики больше не планируют его поддерживать. В приведенной ниже таблице можно быстро уточнить, какие профили поддерживаются в данный момент.

Переход на новый профиль придется осуществлять вручную. Необходимые действия могут сильно отличаться от выпуска к выпуску, в зависимости от глубины изменений, привносимых в новом профиле.

В простейшем случае, вам просто потребуется изменить символьную ссылку /etc/make.profile, а в худшем — придется перекомпилировать всю систему, тем временем изображая танец вуду. Процесс перехода обычно описывается в замечаниях к выпуску. Кроме того, есть инструкции в конце данного руководства.

Поддерживаемые профили

Следующие профили официально поддерживаются разработчиками Gentoo:

Архитектура Свежайшие профили Прочие поддерживаемые профили
alpha 2005.0, 2005.0/2.4
arm 2004.3
amd64 2005.1, 2005.1/no-multilib 2005.0, 2005.0/no-multilib, 2004.3
hppa 2005.0, 2005.0/2.4 2004.3, 2004.2
ia64 2005.0 2004.3
ppc 2005.1 2005.0, 2004.3, 2004.0
mips 2005.0 2004.2
s390 2004.3
sparc 2005.1 2005.0
x86 2005.1, 2005.1/2.4 2005.0, 2005.0/2.4

3.  Инструкции по обновлению профиля

Переход на 2005.1

Для переключения на профиль 2005.1 укажите символьной ссылкой /etc/make.profile на новое место. Перед изменением профиля убедитесь, что Portage обновлена.

Листинг 3.1: Переход на профиль 2005.1

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile

Все архитектуры — в этом профиле нет фундаментальных изменений. Конкретных действий не требуется.

ppc — в выпуске 2005.1 профили ppc и ppc64 объединены, и созданы различные подпрофили для конкретных архитектур. При переходе на профиль 2005.1 убедитесь, что вы выбираете для своей системы верный подпрофиль.

Переход на 2005.0

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

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

Профиль Описание Специфическое руководство по обновлению
default-linux/alpha/2005.0 Профиль Alpha 2005.0 по умолчанию для ядер 2.6
default-linux/alpha/2005.0/2.4 Профиль Alpha 2005.0 для ядер 2.4
default-linux/amd64/2005.0 Профиль AMD64 2005.0 по умолчанию для ядер 2.6 Обновление на 2005.0 (англ.)
default-linux/amd64/2005.0/no-multilib Профиль AMD64 2005.0 для системы без многорежимных библиотек Обновление на 2005.0 (англ.)
default-linux/arm/2005.0 Профиль ARM 2005.0 по умолчанию для ядер 2.6
default-linux/hppa/2005.0 Профиль HPPA 2005.0 по умолчанию для ядер 2.6
default-linux/hppa/2005.0/2.4 Профиль HPPA 2005.0 для ядер 2.4
default-linux/mips/2005.0 Профиль MIPS 2005.0 по умолчанию
default-linux/mips/cobalt/2005.0 Профиль MIPS 2005.0 для Cobalt
default-linux/mips/mips64/n32/2005.0 Профиль 2005.0 для MIPS-платформ с поддержкой n32
default-linux/mips/mips64/ip28/2005.0 64-битный профиль 2005.0 для Indigo2 Impact
default-linux/mips/mips64/2005.0 64-битный профиль MIPS 2005.0
default-linux/ppc/2005.0 Профиль PPC 2005.0 по умолчанию для ядер 2.6
default-linux/ppc64/2005.0 Профиль PPC64 2005.0 по умолчанию для ядер 2.6
default-linux/s390/2005.0 Профиль S390 2005.0 по умолчанию
default-linux/sparc/sparc32/2005.0 32-битный профиль Sparc 2005.0 по умолчанию
default-linux/sparc/sparc64/2005.0 64-битный профиль Sparc 2005.0 по умолчанию
default-linux/x86/2005.0 Профиль x86 2005.0 по умолчанию для ядер 2.6
default-linux/x86/2005.0/2.4 Профиль x86 2005.0 для ядер 2.4

Для перехода на выбранный профиль необходимо сменить путь, на который указывает символьная ссылка /etc/make.profile, указав на новое место. Но перед этим не забудьте обновить Portage.

Листинг 3.2: Переход на профиль 2005.0

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<selected profile> /etc/make.profile

Если у вас система с ядром 2.4, но вы хотите перейти на ядро 2.6 — не забудьте прочитать Руководство по переходу на Gentoo Linux 2.6 (англ.).

Переход на 2004.3

С появлением профилей 2004.3 особых изменений системы не произошло (подробности — ниже). Однако разработчики Gentoo все же решили выпустить его, прекратив поддержку некоторых старых, для ускорения принятия каскадных профилей, то есть профилей, следующих новой структуре каталога /usr/portage/profiles, например, /usr/portage/profiles/default-linux/x86/2004.3 (поддерживается Portage начиная с версии 2.0.51).

Для перехода на профиль 2004.3, укажите на новое место символьной ссылкой /etc/make.profile:

Предупреждение: Не забудьте обновить Portage перед сменой профиля!!!

Листинг 3.3: Обновление символьной ссылки /etc/make.profile

замените <arch> на свою архитектуру
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/make.profile

Все архитектуры — Как сказанно выше, в этом профиле не введены серьезные изменения. Однако, следует отметить, что sys-apps/slocate и net-misc/dhcpcd перестали считаться системными пакетами. Это значит, что при запуске emerge --depclean Portage попытается удалить их из системы. Если же вам они нужны, после смены профиля добавьте их в /var/lib/portage/world, или установите вручную.

ppc — теперь на новые системы по умолчанию устанавливается sys-fs/udev вместо sys-fs/devfs. При этом в ранее установленных ничего не меняется.

Обновление Portage для поддержки каскадных профилей

Хотя этот раздел не слишком вписывается в такое руководство по обновлению, он достаточно важен. Для каждого профиля, упомянутого выше, требуется версия Portage, поддерживающая каскадные профили. Однако, некоторые устаревшие профили не позволяют обновить Portage, и при использовании профиля, который больше не доступен, любая попытка обновления Portage приведет к неудаче.

Чтобы обойти эту проблему, можно установить временную символьную ссылку на устаревший профиль, позволяющую обновить Portage, после чего можно продолжать процедуру перехода, изложенную в этом руководстве. Пожалуйста, вместо <arch> указывайте название своей архитектуры:

Листинг 3.4: Обновление Portage при устаревшем профиле

# rm /etc/make.profile
# cd /etc
# ln -sf ../usr/portage/profiles/obsolete/<arch> make.profile
# emerge -n '>=sys-apps/portage-2.0.51'

Переход на 2004.2

Для переключения на профиль 2004.2, смените путь, на который указывает символьная ссылка /etc/make.profile, на новый:

Предупреждение: Не забудьте обновить Portage перед сменой профиля!!!

Листинг 3.5: Обновление символьной ссылки /etc/make.profile

замените <arch> на свою архитектуру
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile

x86 — В этом профиле реализация X11 по умолчанию изменяется с x11-base/xfree на x11-base/xorg-x11. Это влияет только на значение по умолчанию, и касается только тех, кто еще не установил X сервер. Если в системе он уже установлен, это вас вообще не затронет; как и раньше, по желанию, вы можете сменять один на другой.

amd64 — фундаментальные изменения отсутствуют, и конкретных действий не требуется.

Переход на 2004.0

Для переключения на профиль 2004.0, смените путь, на который указывает символьная ссылка /etc/make.profile, на новый:

Листинг 3.6: Обновление символьной ссылки /etc/make.profile

замените <arch> на свою архитектуру
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-<arch>-2004.0 /etc/make.profile

Все архитектуры — — фундаментальные изменения отсутствуют, и конкретных действий не требуется.

Переход на 1.4 c более старых профилей

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