Сам лично уже давно использую разрабатываемый релиз Убунту. Мне, как вебмастеру, полезно использовать новинки из под пера разработчиков, чтобы быть в курсе одним из первых и на своей шкуре опробовать. И вот Мартин Вимпрес (Martin Wimpress), занимающий пост директора по разработке десктоп-систем в Canonical, подготовил shell-скрипт, который шутливо назвал как релиз RR (Rolling Rhino). Но дело в том, что его скрипт всего лишь грамотно меняет секции на devel, но главное не в этом! Вот поэтому хотелось бы дать советы в статье, кто захочет настоящее родео, настоящий хардкор!
Лесенка релизов, по которой идёт обычный пользователь.
Сам скрипт Мартина можете получить и проанализировать.
git clone https://github.com/wimpysworld/rolling-rhino.git
cd rolling-rhino
less ./rolling-rhino
Вы должны понять главное - скрипт Мартина или однострочник sudo sed -i -e "s/`lsb_release -c -s`/devel/g" /etc/apt/sources.list
просто меняют секцию на devel, но суть в другом! Обычно мы используем релиз N, пока разработчики создают N + 1.
Начать использовать Rolling Release - это переключить своё сознание на получение актуального софта сразу же после прохождения им вереницы автоматических тестов. Быть всегда N + 1.
Использовать RR (devel) - это быть первопроходцем, пионером, который первым из людей на своём оборудовании готов столкнуться с гипотетическими и реальными ошибками.
Начать использовать Rolling Release - это быть опытным линуксоидом, который готов исправить возможные ошибки и создать с помощью команды ubuntu-bug
отчёт с автоматической заливкой на Launchpad.
Поэтому настоятельно рекомендую прочесть Плюсы и минусы Ubuntu Rolling Release и при любых сомнениях лучше откажитесь использовать модель Rolling Release. Оставайтесь на обычном или лучше LTS релизе и получайте новые пакеты в рамках своего релиза, проверенные не только автоматическими тестами, но и людьми.
Кратко! RR лучше обновлять через dist-upgrade ВСЕГДА! Upgrade - это штатное обновление в рамках релиза, от понятия которого мы только что отказались. Dist-upgrade - интеллектуальное обновление при серьёзных изменениях в пакетах и их зависимостях, что и происходит постоянно в devel секции.
sudo apt update && sudo apt dist-upgrade
По своему опыту скажу, что ошибок обычно совсем немного, но они есть и поэтому со временем родился скрипт обновления системы ~/bin/upd.sh.
Вот он весь, а ниже дам комментарии.
#!/bin/bash sudo apt-btrfs-snapshot delete-older-than 3d sudo apt-btrfs-snapshot list sudo rm -f /var/crash/* echo "--- apt update ---" sudo apt update apt list --upgradable echo "--- apt full-upgrade ---" sudo apt -y -d full-upgrade sudo apt -y full-upgrade echo "--- apt clean ---" sudo apt clean echo "--- apt autoremove ---" sudo apt -y autoremove echo "--- snap refresh ---" sudo snap refresh echo "--- flatpak update ---" sudo flatpak update
В моей системе используется файловая система btrfs и поэтому страхуюсь снимками, которые автоматически создаются при работе утилит apt, dpkg и т.д. Удаляю снимки старше 3 дней. Эти строки не актуальны для ext4, так как она не Copy-On-Write (COW) и не умеет снимки.
sudo apt-btrfs-snapshot delete-older-than 3d
sudo apt-btrfs-snapshot list
Так как началось обновление, то уже не актуальны все отчёты о падениях программ, если они были. На практике редко бывают проблемы с софтом, но команда sudo rm -f /var/crash/*
удаляет все отчёты, так как свежий софт исправит проблему, если она была. В любом случае, нет смысла отправлять старые отчёты разработчикам, если вы обновляете систему и получаете свежий софт. Раз вы решились на использование RR, то настоятельно рекомендую использовать механизм создания отчётов Apport в файле /etc/default/apport параметром enabled=1. Пусть ваш опыт не пропадёт и разработчики получат сигнал о возникновении проблемы. Внесите свой вклад!
Так как качать свежий софт придётся постоянно, то разбиваю на 2 этапа:
sudo apt -y -d full-upgrade
sudo apt -y full-upgrade
Подчищаем лишнее после обновления sudo apt clean
и sudo apt -y autoremove
. Обновляем пакеты flatpak и snap - sudo snap refresh; sudo flatpak update
В принципе всё!
Могут быть проблемы? Возможно. Как показывает моя практика они не существенны. Вам помогут команды:
sudo grep -i -C2 -E "err|fail|bad|not|fault|denied" /var/log/syslog
sudo apt-get -o DPkg::options::=--force-confmiss --reinstall install ПАКЕТ_ПРОГРАММЫ
sudo updatedb; locate -i название_программы | grep `whoami`
sudo apt -f install; sudo apt -f dist-upgrade