Алгоритм обновления системы

Надеюсь, я вам ещё не слишком надоел со своими тараканами :)

Хочу продолжить тему:
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

любопытно

я ему указал

emerge -puND system --exclude="gcc ..."

чтобы объяснить ему что не нужно обновлять:

[ebuild  U  ] sys-devel/gcc-10.2.0-r5 [10.2.0-r3] USE="... -vtv* ..." 24 KiB

а он начал тянуть пакеты:

[ebuild  N     ] sys-devel/clang-common-11.0.1 
[ebuild  N     ] sys-devel/clang-11.0.1
[ebuild  N     ] sys-devel/clang-runtime-11.0.1
[ebuild  N     ] sys-libs/compiler-rt-11.0.1
[ebuild  N     ] sys-libs/compiler-rt-sanitizers-11.0.1

видимо из-за флага vtv

В конце концов, действительно, пришлось заменить emerge -auND system --exclude="..." на emerge -av1 gcc.

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

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