openSUSE Tumbleweed — rolling-дистрибутив, который обновляется непрерывно, но не превращает систему в лотерею. Каждая сборка дистрибутива проходит автоматическое тестирование openQA, а корневой раздел по умолчанию живёт на Btrfs со снимками Snapper. Это даёт редкое сочетание: свежие ядро, Mesa и рабочий стол плюс возможность откатиться к состоянию до обновления. Ниже — практика: обновления, репозитории, снимки и обслуживание.

Чем Tumbleweed отличается от Leap

Leap фиксирует версии на годы, Tumbleweed движется вместе с upstream. Пакеты приходят через несколько дней после релиза, ядро обновляется каждые несколько недель. Взамен — более короткий цикл поддержки старой ветки и необходимость обновляться регулярно: если пропустить несколько месяцев, конфликтов станет заметно больше.

Второе отличие — ставка на транзакционность. Корень на Btrfs, снимки создаются перед изменениями пакетов и после них, а в меню GRUB появляются пункты загрузки в снимок. Это не полная замена резервному копированию, но от неудачного обновления спасает.

Первое обновление

Для Tumbleweed правильная команда — zypper dup, а не zypper update. dup выполняет распределённое обновление и корректно обрабатывает смену версий пакетов и vendor.

sudo zypper refresh
sudo zypper dup
sudo zypper ps -s
sudo snapper list

zypper ps -s показывает процессы, которые используют удалённые файлы: их нужно перезапустить или перезагрузиться. Обновление ядра и системных библиотек всё равно требует перезагрузки, и откладывать её не стоит.

Репозитории и приоритеты

Список репозиториев удобно проверять с приоритетами: меньшее число означает более высокий приоритет. Основные репозитории Tumbleweed обычно подключены пакетом openSUSE-repos-Tumbleweed, который хранит определения в /etc/zypp/repos.d.

zypper repos -d
sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
sudo zypper dup --from packman --allow-vendor-change
zypper packages --orphaned

Packman нужен для мультимедийных кодеков, которых нет в основных репозиториях по лицензионным причинам. Смена vendor — ожидаемая операция, но следите, чтобы пакеты не переключались между репозиториями при каждом обновлении: приоритет 90 решает это в пользу Packman.

Снимки и откат

Snapper создаёт снимки автоматически по таймеру и вокруг операций zypper. Посмотреть их и создать ручной снимок перед рискованным изменением:

sudo snapper -c root create -d "before upgrade"
sudo snapper list
sudo snapper rollback 42
sudo btrfs filesystem usage /

Номер снимка берите из списка. Откат корректно делать так: перезагрузитесь, выберите в GRUB пункт загрузки в нужный снимок (он монтируется только для чтения), затем выполните sudo snapper rollback и перезагрузитесь ещё раз. Прямой вызов из работающей системы без загрузки в снимок может оставить несогласованное состояние.

Обслуживание Btrfs

Снимки занимают место и не удаляются сами, если включено хранение по времени с большим сроком. Следите за заполнением и чистите старые вручную.

sudo btrfs scrub start -B /
sudo btrfs filesystem usage /
sudo snapper delete 40-45
sudo systemctl status snapper-timeline.timer

scrub проверяет контрольные суммы и исправляет повреждения при наличии копии; запускайте его раз в месяц. snapper delete принимает диапазон, но не удаляет снимок, в который вы загружены. Если место кончилось, сначала удалите старые снимки, а не запускайте balance: на почти полном разделе он может усугубить ситуацию.

Пакеты на каждый день

zypper ищет и показывает информацию без отдельных утилит. Привычка проверять, откуда пришёл пакет, экономит время при конфликтах: поле Repository в выводе сразу показывает репозиторий и приоритет.

zypper search --installed-only
zypper info firefox
zypper install --recommends vlc
zypper remove --clean-deps vlc

--recommends тянет рекомендованные пакеты, --clean-deps удаляет зависимости, которые больше никому не нужны. Для поиска осиротевших пакетов используйте zypper packages --orphaned, а для очистки кэша — sudo zypper clean --all.

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

Snapper хранит параметры в /etc/snapper/configs/root: сколько снимков держать по времени, сколько перед обновлениями и сколько после. Разумный минимум — 10–20 снимков и чистка раз в неделю; при маленьком разделе значения уменьшают.

sudo cat /etc/snapper/configs/root
sudo snapper -c root set-config TIMELINE_LIMIT_HOURLY=5
sudo snapper -c root set-config TIMELINE_LIMIT_DAILY=7
sudo systemctl list-timers 'snapper*'

После изменения конфигурации таймеры подхватывают значения автоматически. Если снимки не создаются, проверьте systemctl status snapper-timeline.timer и свободное место: при заполнении раздела Btrfs сначала перестаёт создавать снимки, а затем начинаются ошибки записи.

Диагностика обновлений

Конфликты при dup чаще всего связаны со сменой vendor или несовместимыми зависимостями. Не отключайте проверки без понимания причины.

sudo zypper dup --force-resolution
sudo zypper verify
rpm -qa --last | head -20
journalctl -u snapper-timeline -n 50 --no-pager

--force-resolution позволяет zypper выбрать решение самостоятельно; это быстрее, но менее предсказуемо, чем ручной выбор. zypper verify проверяет целостность зависимостей, а список последних пакетов помогает вспомнить, что именно обновилось перед появлением проблемы.

Если обновление сломалось

Симптомы бывают разные: не стартует графика, отваливается Wi-Fi, приложение падает с ошибкой библиотеки. Сначала загрузитесь в снимок до обновления и проверьте, что проблема именно в нём. Если да — выполните snapper rollback и сообщите о сбое в багтрекер openSUSE, приложив вывод zypper history и journalctl. Не удаляйте снимки сразу: они пригодятся для сравнения.

Когда обновляться

  • Раз в одну-две недели, не реже: так проще разбирать конфликты.
  • Перед важной работой не обновляйтесь, если нужен стабильный результат сегодня.
  • После обновления перезагружайтесь, если менялись ядро, драйверы или systemd.

Tumbleweed не требует ежедневного внимания, но и не прощает месяцев простоя. Регулярность важнее скорости: полчаса в неделю дешевле, чем вечер восстановления.

Итог

Tumbleweed даёт свежее ПО и встроенную страховку в виде снимков Btrfs. Работа с ним сводится к трём привычкам: обновляться через zypper dup, проверять zypper ps и держать запас снимков. Если добавить к этому понимание приоритетов репозиториев и аккуратность с местом на диске, rolling release перестаёт быть рискованным экспериментом.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте