ROSAForum
Здравствуйте
Нельзя ли добавить побольше информации в приложение Обновление системы?
а то не понятно что она обновила конкретно
вот недавно запустил обновление 15 минут что то качала, хотелось бы видеть что именно
.. спасибо
Agg201022
VictorR2007 Сообщения: 7170 Зарегистрирован: 12 сен 2011, 13:00 Operating system: ROSA 2023.1 Откуда: Северодвинск
Про обновление системы — вопрос
Сообщение VictorR2007 » 14 апр 2022, 18:42
Нет, нельзя.
Если бы было можно, сразу бы так сделали.
Если нужна более подробная информация, то только через консоль.
Через команду
sudo dnf update --refresh
Так как на сегодня у дистрибутивов, основанных на rpm4, нет внятных обновлялок,
То наш товарищ Survolog смог сделать на сегодняшний день такой инструмент
обновления для уж совсем беспомощных в Linux.
Более подробно не могу сказать.
Если он зайдет на форум, может прояснит ситуацию.
VictorR2007
algri14 Сообщения: 235 Зарегистрирован: 24 янв 2020, 16:47 Operating system: Mageia 8x86_64-KDE:
ROSA.FRESH.PLASMA5.12.3.x86_64 Откуда: г.Воронеж
Про обновление системы — вопрос
Сообщение algri14 » 14 апр 2022, 18:56
14 апр 2022, 18:18
Нельзя ли добавить побольше информации в приложение Обновление системы?
а то не понятно что она обновила конкретно
вот недавно запустил обновление 15 минут что то качала, хотелось бы видеть что именно
Запускайте dnfdragora , выставляйте пункт «Можно обновить» и смотрите на здоровье.
algri14
Survolog Сообщения: 367 Зарегистрирован: 30 авг 2016, 22:30 Operating system: ROSA Fresh
Писать в Телеграм или ВК.
Про обновление системы — вопрос
Сообщение Survolog » 14 апр 2022, 21:19
14 апр 2022, 18:18
Здравствуйте
Нельзя ли добавить побольше информации в приложение Обновление системы?
а то не понятно что она обновила конкретно
вот недавно запустил обновление 15 минут что то качала, хотелось бы видеть что именно
.. спасибо
Конечно можно.
Информацию можно взять, например, тут:
dnf history
dnf history info
dnf history info номер
Скрипт сам прямо в проекте abf.io/import/dnfdragora лежит.
Пришлите, пожалуйста, правленый вариант на ваш вкус.
cat /usr/sbin/update-system
Спасибо.
Survolog
VictorR2007 Сообщения: 7170 Зарегистрирован: 12 сен 2011, 13:00 Operating system: ROSA 2023.1 Откуда: Северодвинск
Про обновление системы — вопрос
Сообщение VictorR2007 » 14 апр 2022, 22:46
Обновление пакетов в РОСЕ
Репозитории РОСЫ содержат тысячи различных пакетов, которые необходимо обновлять по мере выхода новых версий соответствующих программ. Несмотря на различные средства автоматизации, для обновления многих пакетов требуется участие человека.
Оценить «свежесть» пакетной базы разных дистрибутивов можно, например, на сайте https://repology.org. Там же можно для каждого пакета определить самую последнюю версию и попробовать собрать ее на ABF.
Самый простой сценарий обновления заданного пакета описан в блоге «Точка РОСЫ». Однако он рассчитан на людей, которые не знакомы даже с Git и только могут кликать различные иконки в веб-браузере. От студентов, проходящих у нас практику, мы ожидаем несколько большего и даем им более сложные пакеты, для обновления которых могут потребоваться более серьезные усилия.
Если обновление по приведенной выше инструкции не проходит, то необходимо склонировать себе проект в машину с РОСОЙ:
$ abf get / -b rosa2019.1
Переходим в директорию , кладем в нее архив с исходным кодом новой версии и изменяем внутри файла .spec значение тэга Version (если еще не сделали это в веб-интерфейсе).
Теперь получившийся пакет надо собрать. Для этого сначала надо установить пакеты, которые требуются для его сборки (прописаны в BuildRequires). Для этого внутри директории выполняем команду:
$ urpmi .spec
И запускаем саму сборку с помощью rpmbuild :
$ rpmbuild -bb .spec
если повезет и все соберется сразу, то в этой же директории даем команду отправить все на ABF:
$ abf put -m «Updated to a new version»
После чего идем в веб-интерфейс на страничку проекта в своем репозитории и делаем Pull Request в соответствующий проект группы import. Не забывайте выбирать ветку «rosa2019.1»!
Также не забываем проверять работоспособность результата — для этого необходимо установить собранные пакеты в систему и убедиться, что они работают. Если вы собрали библиотеку/модуль, вам нужно проверить приложение, его использующее. Определить список всех пакетов, использующих данный, можно с помощью команды
$ urpmq —whatrequires
Если есть сомнения в работоспособности пакета или непонятно, как его проверить, то все равно шлите Pull Request. Только отдельно сообщите нам, что функционал новой версии проверить не удалось.
Если в процессе сборки что-то пошло не так, то надо смотреть на ошибки — если идет ругань на то, что какие-то файлы не найдены (или наоборот, найдены неупакованные файлы), то надо править секцию %files в spec-файле. Могут быть жалобы на то, что не хватает каких-то программ для сборки; в этом случае надо постараться понять — каких именно, доустановить их в систему и прописать соответствующее поле BuildRequiers в spec-файле.
В целом, ошибки могут быть самые разные, и далеко не со всеми из них можно быстро разобраться. Поэтому если за разумное время пакет собрать не удалось, лучше сообщить о встреченной проблеме разработчикам РОСЫ и перейти к следующему пакету. В качестве результатов работы нам важны как Pull Request’ы на обновление пакетов, которые обновились успешно, так и перечень пакетов, которые собрать не удалось, с описанием ошибок сборки. В последнем случае можно просто прислать журнал сборки для каждого пакета либо попробовать собрать пакет в своем персональном репозитории на ABF и дать нам ссылку на сборку.
Поиск новых версий
Немаловажный аспект — определение того, какая версия программы является последней. Безусловно, можно просто обратиться к сайту разработчика, однако могут возникнуть нюансы:
- в пакете может быть указан неверный URL сайта разработчика (хоть мы и призываем поддерживать ссылки в актуальном состоянии, они все-таки иногда протухают
- самые свежие версии могут иметь проблемы со сборкой либо функционалом
В подобных случаях полезно посмотреть на версию этой же программы, собранной в других дистрибутивах. Для этого можно воспользоваться нашей утилитой mib-report (необходимо в РОСЕ установить соответствующий пакет и запустить утилиту) либо сервисами наподобие Pkgs.org или Repology.
ROSA Updates Builder — автоматическое обновление пакетов из апстрима (Денис Силаков, OSSDEVCONF-2013)

Разработчики многих современных дистрибутивов стремятся предоставить пользователям как можно более широкий выбор ПО и собирают для своих систем тысячи пакетов с различными программными компонентами. Но мало собрать пакет с той или иной программой: необходимо поддерживать его в актуальном состоянии — в частности, вовремя обновляться на новые версии из апстрима.
Помноженное на частые релизы в апстриме, большое количество пакетов в дистрибутиве делает эту задачу достаточно ресурсоемкой. Однако процесс обновления пакета во многих случаях тривиален и сводится к замене архива с исходным кодом. Поэтому представляется разумным автоматизиро- вать задачу мониторинга выхода новых версий в апстриме и их сборки в дистрибутив. Данный доклад посвящен инструменту Updates Builder, используемому для этих целей в РОСЕ.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Слайды
![]()
Количество пакетов в современном дистрибутиве общего назначения исчисляется тысячами. Но далеко не все из них монстры наподобие LibreOffice, сборка и обновление которых может потребовать серьезных усилий. Большинство пакетов — это небольшие программы, библиотеки, модули интерпретируемых языков и прочие компоненты, которые собираются в дистрибутив с минимумом патчей, буквально парой инструкций.
Например, ROSA Desktop Fresh R1 содержит около 1,500 пакетов с модулями texlive, более 2,000 модулей Perl, сотни дополнительных пакетов для R и так далее.
Минорные обновления многих подобных компонентов выходят достаточно часто. Как правило, обновление пакета при этом сводится к упаковке новой версии и базовой проверке того, что обновленный пакет устанавливается и им можно пользоваться. В случае одного пакета это недолго — скачать и запаковать новую версию можно за пять минут.
Однако на тысячу пакетов уйдет несколько рабочих дней. При этом простая перепаковка новых версий — занятие нудное и рутинное, и тратить на него силы людей не представляется рациональным.
К тому же появление новых версий в апстриме надо своевременно отслеживать, и делать это вручную — тоже не очень разумно.
Для облегчения жизни мэйнтейнеров, использующих среду сборки ABF (в настоящее время — прежде всего разработчиков ROSA и OpenMandriva), мы разработали автоматический cервис отслеживания и сборки новых версий ПО. Сервис состоит из двух компонентов — инструмента мониторинга апстрим-версий и инструмента автоматической сборки этих версий на ABF.
В роли первого инструмента выступает Upstream Tracker, который в настоящее время также развивается РОСОЙ. Для целей сервиса используется его часть, отслеживающая актуальность версий пакетов в РОСЕ и OpenMandriva — Updates Tracker, который осуществляет мониторинг апстрима и всегда располагает сведениями о свежих версиях ПО.
Второй инструмент — это утилита Updates Builder, берущая на вход имя пакета, запрашивающая Upstream Tracker на предмет наличия новой версии в апстриме и в случае наличия таковой, пытающаяся ее собрать на ABF. Перед сборкой в Git-репозитории соответствующего проекта на ABF создается отдельная ветка, с которой и работает Updates Builder.
В spec-файле в этой ветке обновляются версия пакета и версия архива с исходным кодом и сбрасывается релиз. Новый архив с исходным кодом помещается в файловое хранилище ABF (в отличие от многих систем сборки, ABF хранит бинарные файлы на отдельном файловом сервере, а в Git помещается только ссылка на нужный файл).
На основе данных из созданной ветки Git осуществляется попытка собрать обновленный пакет. Сборка производится в отдельный контейнер, без публикации пакета в какой-либо репозиторий. Мэйнтейнеру пакета отсылается уже письмо о результатах сборки. В случае успеха он может сразу переходить к проверке функциональности обновленной программы, и если его все устраивает, то перенести новую версию из вспомогательной ветки Git в ветку, соответствующую целевому репозиторию. В дополнение к этому, в случае успешной сборки Updates Builder автоматически формирует Pull Request на перенос обновлений в основную ветку Git — так что мэйнтейнеры могут быстро просмотреть предлагаемые изменения и согласиться с ними нажатием одной кнопки.
Updates Builder уже более полугода успешно используется в РОСЕ и OpenMandriva для отслеживания обновлений нескольких тысяч пакетов. Практика его использования показывает, что один человек вполне в состоянии обрабатывать до нескольких десятков пакетов за неделю, не сильно отвлекаясь от других занятий. Это позволяет повысить эффективность участия в поддержке дистрибутива людей, которые могут выделить на такое участие достаточно ограниченное количество времени.
Одним из опасений, высказываемых в отношении подобного сервиса, является соблазн полностью переложить процесс обновления пакетов на роботов, что может негативно сказаться на качестве системы — ведь ошибки будут выявляться уже после помещения пакетов в репозитории.
В РОСЕ с такой проблемой борются регламентными мерами — обновления пакетов в main-репозиторий уже выпущенных релизов, а также разрабатываемых релизов на стадии бета-тестирования, обя- заны проходить через команду QA. И в интересах мэйнтейнера перед отправкой обновления на проверку удостовериться в его корректности.
Кроме того, полностью автоматическое обновление с использованием Updates Builder возможно только в случае относительно небольших изменений, которые вряд ли нарушат совместимость с предыдущей версией. В случае серьезных изменений (например, нового soname у библиотеки), мэйнтейнерам все равно придется вмешаться. И в таких случаях все зависит от их добросовестности — ограничатся ли они простым изменением soname в spec-файле или честно изучат проблемы, которые может такое изменение привнести. В конце концов, сервис избавляет их от изрядной доли рутинной работы — так почему бы не потратить освободившееся время на более тщательную проверку новых версий?
Примечания и отзывы
- «0x1.tv»
- Денис Силаков
- OSSDEVCONF-2013
- Инструменты майнтейнеров
- ROSALab
- ROSA Linux
Обновление системы с ROSA 2011 до ROSA 2012 LTS Marathon
Если вы хотите получить гарантированно рабочую и надежную систему, то самый лучший способ получить ее — это установить систему с нуля, использовав официальный образ этой системы. Поскольку ROSA 2012 Marathon имеет статус релиза с длительным временем поддержки, мы рекомендуем произвести апгрейд дистрибутивов РОСА 2011 и Мандрива 2011 на эту систему.
Приведенное руководство описывает список действий, необходимых для обновления системы с предыдущего релиза, но НЕ может гарантировать его успешность в 100% случаев. Возможно, некоторые приложения, самостоятельно установленные вами в систему из неподдерживаемых репозиториев, будут несовместимы с тем релизом, апгрейд до которого вы производите. О наличии таких приложений вы узнаете перед обновлением.
Предварительные действия
Перед обновлением в обязательном порядке требуется прочесть официальные заметки по релизу, в которых приведена полезная информация о том, что изменилось в новом релизе и что нового там можно ждать. Внимательное и вдумчивое чтение Release Notes способно уберечь от множества возможных проблем.
Далее необходимо убедиться в наличии достаточного количества свободного места на жестком диске в папке /var/cache/urpmi:
df -h /var/cache/urpmi
Все пакеты в процессе миграции будут скачиваться этот каталог; общий объем скачиваемых пакетов зависит от количества установленного в вашей системе ПО. Обычно эта величина составляет от 4 до 7 Гб.
Если вы используете мобильный компьютер, убедитесь, что батарея заряжена, а лучше — подключите его к сети.
Обновление
Обновление системы между релизами рекомендуется делать посредством утилит командной строки. Для этого откройте терминал и открыть в нем консоль администратора системы (пользователя root). Сделать это можно или просто запустив Konsole (или ваш другой любимый эмулятор терминала) через меню KDE, либо выбрав пункт «Открыть консоль администратора/Open » в утилите «Настройка компьютера».
Первое, что нужно сделать, — удалить информацию о старых репозиториях. Делается это командой:
urpmi.removemedia -a
Затем добавляем в urpmi репозиторий того релиза, на который мы хотим обновиться (в примере приводится обновление с зеркала Yandex); также необходимо добавить репозиторий, содержащий пакет urpm-tools:
Для 32-х битных систем:
urpmi.addmedia --distrib http://mirror.yandex.ru/rosa/rosa2012lts/repository/i586/ urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/i586/main/release/
Для 64-х битных систем:
urpmi.addmedia --distrib http://mirror.yandex.ru/rosa/rosa2012lts/repository/x86_64 urpmi.addmedia akirilenko_personal http://abf.rosalinux.ru/downloads/akirilenko_personal/repository/rosa2012lts/x86_64/main/release/
Установите пакет urpm-tools:
urpmi urpm-tools
urpm-reposync
Прежде, чем начинать процедуру апдейта, urpm-reposync, в числе прочего, предоставит список пакетов, которые будут удалены из системы. В конце этого списка вы увидите установленные вами самостоятельно приложения, которые будут удалены из системы по причине несовместимости с новыми релизом. Свяжитесь с их поставщиком для помощи в установке.
После того, как вы согласитесь с продолжением процедуры апдейта, утилита urpm-reposync синхронизирует вашу пакетную базу с подключенными репозиториями — обновит версии пакетов, установит необходимые зависимости и так далее. Эта процедура займёт порядка двух часов.
По завершении установки пакетов нужно перезагрузить систему и, если все прошло успешно, в меню загрузчика вы увидите пункт ROSA Marathon 2012, выбрав который, вы сможете загрузиться в свою новую систему.
Предупреждение
Процесс перезагрузки после обновления может «зависнуть». Если это случилось, просто перезагрузите машину кнопкой Reset
Примечание
urpm-reposync оставит старое ядро, используемое в ROSA 2011, а также все другие ядра, установленные в вашей системе. Если вам не нужно какое-то ядро, удалите его с помощью менеджера пакетов
- Документация
- Руководства