Установил я Gentoo... А дальше что?

Обновление системы состоит из четырёх основных этапов.

Первый этап: обновление собственно дерева portage (и/или используемых дополнительных оверлеев).
Осуществляется командой emerge --sync
В зависимости от способа подключения к Сети и предпочтений по стратегии обновления могут потребоваться (или пригодиться) утилиты emerge-webrsync и/или emerge-delta-webrsync (app-portage/emerge-delta-webrsync).

К части стратегии стоит отметить, что не смотря на наличие инструментов, делающих это не обязательным, наименьшее количество проблем наблюдается в ситуации, когда используемое ПО соответствует срезу portage.

Второй этап: собственно обновление.
Сначала установленных программ:
emerge -pvuND --with-bdeps=y world
Почитать вывод. При необходимости устранить блокировки (дополнить/проправить список USE-флагов в /etc/make.conf и /etc/portage/package.use).
Согласиться с предлагаемой последовательностью действий (или исправить её в соответствии со своими представлениями о здравом смысле).
После чего собственно:
emerge -uND world

Также, иногда, полезна опция --with-bdeps=y которая заставляет обновиться пакеты требующиеся только во время сборки пакета, даже в том случае когда пакету который их вытянул обновление не требуется.

Обновление конфигурационных файлов:
etc-update (или dispatch-conf или ...)

Третий этап: Зачистка системы:
1. Проверка и пересборка битых зависимостей в исходном положении: revdep-rebuild
В случае обновления python'а --- python-updater.
2. Удаление ставших ненужными пакетов:
emerge -pv --depclean
смотреть что цепляет лишнего (если цепляет --- установить его явно, через --no-replace), если удаляет что-то из существенного (gcc, python, возможно xorg) --- реконфигурировать систему в соответствии с руководствами с gentoo.org.
И собственно удалить:
emerge --depclean
3. Ещё раз проверить на предмет сломанных зависимостей (revdep-rebuild.
4. Удалить неиспользуемые исходники:
eclean-dist

Четвёртый этап: обновление ядра.
Ядро --- особый пакет. И отношения к себе заслуживает особого.
portage удаляет только те файлы, который сам клал.
Поэтому после обновления в /usr/src остаёся каталог kernel-$VERSION, содержащий оставшиеся после сборки ядра временные файлы.
Его (как и /lib/modules/$VERSION) можно удалить ручками (но только когда они совсем не нужны, до получения подтверждения полной работоспособности нового ядра категорически рекомендуется оставить возможность загрузки с старым ядром!).
Если нет желания каждый раз конфигурировать ядро с нуля, то можно взять за основу существующий конфиг. Обычно (в большинстве виденных мной конфигураций) его можно взять из /proc/config.gz.
В предположении, что символьная ссылка /usr/src/linux указывает на каталог, содержащий исходники ядра, которое предполагается собирать рекомендуемая последовательность команд следующая:

# cd /usr/src/linux
# gzcat /proc/config.gz > .config
# make oldconfig
# make menuconfig
# make && make modules_install
# mount /boot
# cp arch/$ARCH/boot/bzImage /boot/linux-$VERSION
fix lilo config
# /sbin/lilo

P.S. Если что не так. Какой соломки и куда стелить.
Рекомендую почитать man portage на предмет FEATURES.
В качестве минимального набора рекомендую FEATURES="collision-protect buildsyspkg" (прописывать в /etc/make.conf, по первой предупреждение: portage не всегда корректно удаляет за собой символьные ссылки).

В случае обновления Perl'а

В случае обновления Perl'а предусмотрен инструмент для автоматизации пересборки использующих оный приложений (аналогичный python-updater'у) --- perl-cleaner.

:wq
--
Live free or die

System.map

Добавь пожалуйста

cp /usr/src/linux /boot/System.map-$VERSION
mv /boot/System.map /boot/System.map.old
ln -s /boot/System.map-$VERSION System.map

В случае установки новых компонентов в компьютер - этот момент может быть критичным.

make install в директории с

make install в директории с исходными кодами скопирует vmlinuz-X.Y.Z config-X.Y.Z и System.map-X.Y.Z. в директория /boot, если /boot вынесен на отдельный раздел удостоверьтесь, что он примонтирован перед выполнением этой команды.

Интересный тезис

Видится мне, суть порождение практики использования genkernel'а.

Ибо в моём случае (вариант #1: x86, /boot на отдельном разделе, в качестве загрузчика lilo) для актуального ядра (установлено по kernel-upgrade.xml) имею:

# ls -l /boot/ | grep "Янв 31"
drwxr-xr-x  3 root root    2048 Янв 31 11:19 ./
-rw-r--r--  1 root root 1970976 Янв 31 11:17 kernel-3.1.10-gentoo-r1
-rw-------  1 root root   73216 Янв 31 11:19 .map

:wq
--
Live free or die

System.map

При ручной сборке ядра собирается и System.map
подробности про System.map на Wikipedia

честно говоря я не уверен насчет правильности /boot/.map
хотя если в lilo.conf прописано map=/boot/.map
то должно работать

.map <> System.map !!!

честно говоря я не уверен насчет правильности /boot/.map
хотя если в lilo.conf прописано map=/boot/.map
то должно работать

Есть мнение, что это _сильно_ разные файлы (согласно странице руководства на современном железе директива map lilo.conf избыточна).
Дело не в типе "сборки", а в используемой процедуре (make install скопирует тебе и System.map).

ЗЫ: http://www.dirac.org/linux/system.map/ зеркало http://rlworkman.net/system.map/

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".