Алгоритм обновления системы
Надеюсь, я вам ещё не слишком надоел со своими тараканами :)
Хочу продолжить тему:
http://www.gentoo.ru/node/29798
Текущая последовательность шагов такая:
1 emerge --sync; layman -S
2 list_full = получить список пакетов с помощью
emerge -pvuND @system (v - потому что скорее всего пригодится информация о слотах)
3 Разделить list_full на:
- list_UD = пакеты, которые начинаются с "[ebuild UD" (например, с помощью grep -E "UD") (просто не люблю уменьшать версию, если пакет не замаскирован)
- list_rest_packages = остальные пакеты, с сохранением информации о версиях
4 list_new_packages = выбрать из list_rest_packages пакеты, которые обновлялись недавно(например в этом году). Например с помощью qlop
5 list_new_packages_filtered = из list_new_packages исключить пакеты, у которых красивые(округлённые) версии и которые хочется обновить
6 emerge -avuND @system --exclude="list_UD list_new_packages_filtered"
7 вернуться к 1 и проделать тоже самое для @world, но при этом пакеты из overlay-ев можно не обновлять
Возможно, вы быстрее меня придумаете, как лучше реализовать пункты 2 и 3. То есть нужно пройтись по списку пакетов и складывая каждый элемент списка в один из двух списков.
Ну или возможно ещё что-нибудь полезное подскажите.
Оставлю тут ссылку на руководство:
https://wiki.gentoo.org/wiki/Upgrading_GCC/ru
Чтобы всё было в одном месте.
- Для комментирования войдите или зарегистрируйтесь
Неправильно!
Сначала в безусловном порядке надо обновлять сам портаж, потом тулчейн (для его компонентов есть своя специфическая последовательность и процедура), потом утилиты портажа, и только после этого можно применять твой "метод". :)
K твоему сведению:
K твоему сведению:
emerge --sync
- это не обновление портажа! :Dлюбопытно
я ему указал
чтобы объяснить ему что не нужно обновлять:
а он начал тянуть пакеты:
видимо из-за флага vtv
В конце концов, действительно, пришлось заменить
emerge -auND system --exclude="..."
наemerge -av1 gcc
.