====== Обновление Gentoo ====== Решил скопировать (и правильно сделал, потому-что [[http://serveradministrator.ru/vps/gentoo-update/|источник уже недоступен]]) на память инструкцию по обновлению. Большинство хостеров предлагают для 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