Этот вопрос, вероятно, лучше задать на форумах Antergos, но я могу поделиться личным опытом работы с Arch:
Как правило, лучше обновлять часто, чем редко. Вы поймаете любые проблемы по мере их появления и будете решать их по очереди, а не позволять им накапливаться.
Обновляйте по своему усмотрению. Нет особых причин придерживаться какого-то определенного графика обновлений; все зависит от вашей системы и ваших потребностей. Например, я обнаружил, что системы Arch с меньшим количеством установленных пакетов, как правило, не нуждаются в частом обновлении. На 4 системах Arch, которые я использую регулярно, я обновляюсь каждый раз при входе в систему (до одного раза в день), что, кажется, работает довольно хорошо.
Придерживайтесь последних обновлений из последних репозиториев. В целом, это позволит вам получить последние обновления безопасности, получить пакеты, которые имеют больше шансов работать с другими программами, установленными в вашей системе, и поддерживать все в рабочем состоянии.
Лично мне лишь изредка приходится откатываться назад из кэша. Когда возникают проблемы с обновлением, это обычно связано с тем, что сопровождающие не смогли правильно собрать или протестировать свои пакеты, а не с тем, что я слишком усердно обновляюсь.
Проблема, возникшая у вас с Cinnamon, скорее всего, связана с плохой работой по упаковке со стороны сопровождающих пакетов, а не со сбоем в Arch-стиле кровоточащих, скользящих обновлений. Лично у меня были некоторые проблемы с Cinnamon на Arch, и он никогда не работал так хорошо, как другие DE (я использовал Gnome, MATE и i3 с гораздо меньшими проблемами).
И последнее, чем я хотел бы поделиться: если вы знаете, что у вас есть проблемные пакеты, которые ломаются при обновлении, вы можете добавить их в директиву IgnorePkg
в /etc/pacman.conf
. Мне приходится делать это редко, и почти всегда это игнорируемый пакет AUR (мне нравится использовать помощник AUR). Однажды мне пришлось внести ядро в черный список в IgnorePkg
на ноутбуке, потому что проприетарный драйвер для подсветки не работал на последних версиях ядра (к счастью, это было исправлено в конечном итоге, и я смог вернуться к получению обновлений ядра). Я бы не рекомендовал использовать этот подход, если нет крайней необходимости.
Если вы хотите сопоставить что-то, чему не предшествует, вам нужен отрицательный ретроспективный анализ. sed
не поддерживает просмотр вперед и назад, но Perl поддерживает.
echo 'Hello _{world \} \}} _{foo bar}' | perl -npe 's/_\{(.+?)(?<!\\)}/*\1*/g'
Будет выведено:
Hello * world \} \} * * foo bar *
Если обратная косая черта означает «избежать следующего символа» (будь то фигурная скобка, еще одна обратная косая черта или что-то еще, кроме конца строки), тогда вы можете «пропустить» следующий символ следующим образом:
sed -r 's/_\{((\\.|[^}\\])+)\}/*\1*/g
Если обратная косая черта имеет только особое значение перед фигурной скобкой, вам необходимо " пропускать "первый символ без обратной косой черты после каждого выполнения 1 или более обратных косых черт:
sed -r 's/_\{((\\+[^\]|[^}\\])+)\}/*\1*/g'