Обновление Gentoo Linux



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



Ссылка на оригинал: http://www.gentoo.org/doc/en/gentoo-upgrading.xml

С версии: 1.2

Перевод: vnp, Михаил Ярмиш, Алексей Чумаков, Батогов Е.В, a.k.a JohnBat26

Примечание: Из оригинала включён только самый актуальный материал !

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



Философия



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

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

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



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



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

Новый выпуск — это новые исправленные и дополненные установочные диски.

Новый выпуск несет обновленный набор пакетов GRP, так что пользователи, избирающие «быстрый способ» установки (stage3 + заранее скомпилированные пакеты), получают не устаревшую систему.

Наконец, в новых выпусках время от времени реализуются функции, несовместимые с предыдущими выпусками.

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



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



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

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

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



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



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



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

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



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

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

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

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

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

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



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

Вы можете увидеть список профилей на Вашей архитектуре, официально поддерживаемой Gentoo когда установите утилиту eselect (emerge eselect) и затем выполните следующую команду:

Листинг 2.1 Просмотр поддерживаемых профилей

# eselect profile list



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



Общие инструкции.

Важно: Удостоверьтесь в том, что Ваши портэжи обновлены перед выполнением любых изменений с профилями !



Первое, выполните emerge eselect. Утилита eselect позволяет Вам просматривать и выбирать профили без необходимости создания или удаления символических ссылок вручную.



Листинг 3.1: Выбор профиля с помощью утилиты eselect

(Просмотр доступных профилей)

# eselect profile list

(Выберите номер Вашего желаемого профиля из списка)

# eselect profile set <номер профиля>



Если Вы предпочитаете изменять профили вручную, тогда просто сделайте следующее:


Листинг 3.2  Изменение профилей вручную.
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<выбранный профиль> /etc/make.profile

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



Обновление до 2007.0 или 2006.1

Если Вы намереваетесь обновиться до уровня этих профилей, то Вам следовало бы знать, что они ожидают что по умолчанию в системе установлена локаль Unicode. Или более точно, должна быть определена строка UNICODE="yes" в файле /etc/rc.conf. Для этоо Вы должны создать Unicode локаль для Вашей системы. Пожалуйста, прочитайте UTF-8 guide чтобы узнать как создать правильную локаль.

Альтернативно, если Вы не желаете устанавливать локаль, тогда Вы можете определить UNICODE="no" в файле /etc/rc.conf. И переустановить (re-emerge) пакет baselayout (или ждите следующего обновления этого пакета) с USE флагом: -unicode. Вы можете установить -unicode только для baselayout или Вы можете установить его глобально для всех пакетов, добавив Вашу переменную USE в файл

/etc/make.conf.

Листинг 3.3 Опционально: удаление поддержки Unicode.

(Для удаления поддержки Unicode только для baselayout)

# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout

(Для удаления поддержки Unicode для всей системы)
# nano -w /etc/make.conf
USE="-unicode"
# emerge -a baselayout

Примечание: Если Вы обновляетесь до 2007.0 на архитектуре SPARC, тогда вы должны следовать GCC Upgrading Guide