Обновлял через год, но мне повезло наверное, всего несколько циклических зависимостей. Легко обходится. Лучше со стейбла на стейбл, за несколько десятков раз проблем вообще не было.
Примерно два года назад я обновлял генту, которая не обновлялась два года. По количеству граблей это было похоже на обновление убунты 10.04 до 12.04. В общем: повозиться немного пришлось =).
хз, я систему обновляю постоянно, 1 раз пробовал не обновляться больше полу года, потом разрулить сам не смог, сам батник может и сканает, но разрулить зависимости в любом случае придётся руками.
Сам я сторонник принципа «работает - не трогай». Компы родителей и жены не обновляются уже года 3 а то и больше. Полёт нормальный, даже отличный. Свой десктоп обновляются ежедневно. Gentoo.
В системе ничего не зафейлится, все будет работать.
Вероятность фейла тем больше, чем стрее система. Я бы сказал, что лет 5 без апдейтов - гарантия такого фейла при обновлении, при котором проще будет переустановить, чем восстанавливать.
Не, гента не сломается. Старые версии либ будут лежать в системе, пока не будет пересобран последний пакет, завязанный на эту либу.
Если зафейлится обновление какого-то пакета - его старая версия и все нужные либы никуда не денутся и все будет работать.
Если ты это собираешь запихнуть в файл дабы обновиться автоматически - нет.
0. sudo, sudo... Ты будешь вручную каждый раз пароль вводить? (Надеюсь что да, иначе sudo rm порождает некоторые вопросы...). Тогда какой смысл скрипта?
1. Нет обработки ошибок. Что будет если @system не соберется? Система должна далее обновлять @selected? Тогда какой смысл разбивать на @system/@selected/@world,
2. Если обновлять @system, то неплохо бы временно поотключать некоторые флаги, такие как X, kde, что-то там еще, иначе обновление @system будет мало чем отличаться от обновления @world. Обычно запускают с флагом -a или -v , и смотрят, какие флаги имеет смысл отключить.
3. Самое первое, что нужно заэмерджить - portage. Например, есть такая штукапосле долгого не-обновления - повышение EAPI и обновление .eclass . То есть ebuild'ы начинают содержать команды, которые текущий (старый) emerge не понимает. А далее нужно молиться, чтобы новый portage не потребовал новую версию чего-то, например python, который таже может быть в новом формате. Правда это бывает после чочень долгого не-обновления.
4. А автоматическом режиме как будешь разруливать проблемы вида:
- новый flash/skype/... может требовать прописать новую лицензию
- пакеты с ручными скачиванием: nvidia/ati-drivers, java, ...
- какой-то пакет все-таки захочет новую версию ядра или чуть другую его конфигурацию
- переименованные ebuild'ы или перемещенные в другую категорию
Было дело, не обновлялась система где-то полгода или немного больше. Проблем особых не возникало, часть решалась временным удалением некоторых пакетов.
Намного проблемнее тот же emul-linux выпилить чем обновить через полгода систему.
0. для моего юзера не требуется ввод пароля. да, дыра, я знаю. 1. не «не соберётся», а не обновится. смысл - получается как-то постепенно приоритет меняется. 2. system от world хорошо так отличается кол-вом пакетов. 3. долгого необновления так не будет, будет каждое утро как до этого было более полугода. 4. Принимаются все лицензии; таких пакетов нет; это вряд ли в моей конфигурации.
Хочу проверить как получится, иначе переустановлю.
Не, гента не сломается. Старые версии либ будут лежать в системе, пока не будет пересобран последний пакет, завязанный на эту либу. Если зафейлится обновление какого-то пакета - его старая версия и все нужные либы никуда не денутся и все будет работать.
Теоретичеси - да Но я хорошо помню как «дообновлялся» до такого, когда мне приходиось искать в сети нужный бинарник (!), подсовывать его системе, и только потом продолжнать обновление.
P. S. Наше л такой же опыт в сети: $ emerge portage That’s straight forward and usually goes pretty well. Sometimes you can get circular python dependencies that don’t allow you to update portage with emerge. The solution to this is to download a portage binary, fix python, then reemerge portage. Luckily mine just worked this time.
Ну подумаешь, какие-нибудь пакеты не смогут обновиться без ручного вмешательства. Ничего же не сломается.
Затем можно будет глянуть в логах чего не собралось и потыкать палочкой.
Я об этом в первом посте написал.