Здесь, на земле 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-флагах по умолчанию или отображении виртуальных пакетов, или, возможно, серьезные системные изменения.
Выпуски без изменений в профиле
Если объявлен новый выпуск 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 укажите символьной ссылкой /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 в некоторые архитектуры было решено добавить дополнительные профили. Если вы решили перейти на какой-либо из таких профилей — не забудьте прежде прочитать его описание. Кроме того, теперь во многих архитектурах по умолчанию используется дерево ядра 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 особых изменений системы не произошло (подробности — ниже). Однако разработчики 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, смените путь, на который указывает символьная ссылка /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, смените путь, на который указывает символьная ссылка /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 более старых профилей
Инструкции для подобного обновления достаточно сложны, и находятся здесь.
Текст этого документа распространяется на условиях лицензии Creative Commons - Attribution / Share Alike.