spam_test> Как это регулируется? вообще, как построена схема обновления софта?
Фундамент пакетного механизма Gentoo - портеж (portage). Основная идея была заимствована из FreeBSD, но заметно расширена и усовершенствована.
Суть такая. Все программы, которые могут устанавливаться штатными средствами Gentoo имеют в портеже небольшой файлик, ebuild, в котором описана вся процедура "добычи" файла (скачивание с зеркал, репозиториев и т.п.), его распаковки, накладывания патчей, если нужно, компиляции, настройки, установки.
Размер файла может быть от сотни байт и пары строчек, если установка уровня ./configure && make && make install, до десятков килобайт, если это очень сложная система с кучей зависимостей, десятками патчей и т.п.
Файл, в общем случае, может содержать условные операторы, позволяющие очень тонко настраивать процесс сборки и установки софта.
Например, платформа. Если у тебя x86, то сборка может идти одним путём, если amd64 - то другим.
USE-флаги. Набор отметок в стиле, "что нужно, что ненужно в моей системе". Скажем, нужно собирать всю систему без IPv6 - пишем в USE-флагах "-ipv6". Все пакеты, которые могут зависеть от этого параметра, при сборке будут настраиваться на выключение его поддержки. Эти флаги можно прописывать как на всю систему, так и на отдельные пакеты, вплоть до конкретной версии.
Управление выбором версий. Во-первых, все пакеты могут быть трёх основных типов. Это стабильные - обозначаются как "arch" - например, "x86", "amd64", "ppc"; не проверенные (название условно, это обычно просто свежие релизы софта, совместимость которых с другим может ещё быть не гарантирована) - обозначается как "~arch" - "~x86", "~amd64"; и - девелоперские, версии прямо "от репозитория разработчика" - "-*".
Ты волен настроить как класс версий на всю систему, так и на отдельный пакет. У меня традиционно система по умолчанию - arch, а конечный прикладной софт - ~arch. И только самые свежие разработки (XGL, compiz и т.п.) - "-*"
Можно также управлять выбором версий явно. Например, новая версия пакета тебя чем-то не удовлетворяет. Маскируешь её и пользуешься предыдущей версии. Обычно по каждой программе в репозитории лежит около пяти версий. Чаще всего - пара стабильных (отличаюющихся чем-то концептуально) и штуки три ~arch. -* пакеты в системе бывают редко.
Есть основной портеж - /usr/portage. Это, кажется, около 120 тыс. ebuild'ов (т.е. всех версий разных программ). Он поддерживается разработчиками Gentoo.
Есть ещё масса сторонних оверлеев. Это наборы ebuild'ов от сторонних разработчиков. У меня таковых бывало... до 25 штук! Сейчас - около десятка. Чаще всего - это поддержка редкого, или особо часто обновляющегося, или экспериментвльного софта, поддерживаемого энтузиастами. Скажем, XGL со всеми прибабахами у меня ставится из xgl coffee portage. С их SVN.
...
Ладно, пора на обед. После обеда напишу, как это всё выглядит не в теории, а на практике
![:) :)](http://s.wrk.ru/s/smile.gif)
(на практике оно сильно проще, чем в описании)