Обновление Gentoo
Решил скопировать (и правильно сделал, потому-что источник уже недоступен) на память инструкцию по обновлению.
Большинство хостеров предлагают для VPS несколько устаревшие шаблоны Gentoo Linux, в основном, из-за специфики самого дистрибутива. Такое положение вещей чревато серьезными проблемами при обновлении системы до актуального состояния. Если шаблону gentoo на момент заказа vps "исполнилось" несколько месяцев, у вас наверняка возникнут проблемы после обновления дерева портежей командой:
$ emerge --sync
Проблемы могут возникнуть из-за невозможности удовлетворить зависимости между уже установленными пакетами и свежим деревом портежей. Поэтому я предлагаю поэтапное обновление системы путем последовательной установки дерева портежей на определенную дату, следующую за релизом дистрибутива. Например, это могут быть портежи с месячным интервалом. Этот способ не лишен недостатков. Бывает такая ситуация, когда во всемирной сети уже больше нет файла, требуемого для сборки того или иного пакета. В этом случае приходится опять варьировать деревом портежей.
Предварительно перед обновлением системы нужно выбрать профиль для сервера и настроить make.conf.
Сначала обновляем пакеты, входящие в toolchain, в первую очередь компилятор gcc:
$ emerge gcc
После сборки компилятора переходим на него:
$ gcc-config -l $ gcc-config 2
Команды для пересборки сетов @system и @world:
$ emerge --update --newuse --deep --with-bdeps=y @system -vp $ emerge --update --newuse --deep --with-bdeps=y @world -vp
Сокращенно:
$ emerge -uDN system -vp $ emerge -uDN world -vp
Выполняем очистку системы командой:
$ emerge --depclean -vp #смотрим выдачу, думаем и только тогда чистим
В Portage существует возможность удаления остаточных зависимостей. Со временем меняется доступность программного обеспечения и зависимости, полученные путем модификации USE-флагов.
Выполняем очистку системы, чтобы удалить остаточные зависимости:
$ emerge --depclean -vp #смотрим выдачу, думаем и только тогда чистим
Далее выполняем команду revdep-rebuild из пакета gentoolkit, котрый должен быть предварительно установлен:
$ revdep-rebuild
Если некоторые покеты будут собираться с ошибкой, возможно, потребуется команда:
$ eselect python set python2.7 $ python-updater
Обсуждение