Блог:Точка Росы

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Rosa-point-logo2.png

Блог с постами технической направленности — чтобы похвалиться сделанной работой и поделиться результатами исследований, выполненных в текущей рутине.

Если вы умеете пользоваться агрегаторами RSS/Atom, подписывайтесь!. По любым вопросам можно писать сюда.

Весь контент данного блога распространяется на условиях Creative Commons Attribution-ShareAlike 3.0 License (CC-BY-SA)

Поиск драйверов

FindDrivers.jpg

Нередки случаи, когда в компьютере под Линуксом «из коробки» не работает пара устройств. Причиной этого может быть слишком новое железо, отсутствие драйверов под Linux от производителя устройств, устаревшее железо, несовместимость устройств или брак. По данным сайта Linux-Hardware.org, не менее 10% пользователей Linux сталкиваются с подобными проблемами. Согласно нашей статистике, наиболее проблемными устройствами являются:

  • Wi-Fi-карты
  • Bluetooth-карты
  • кардридеры
  • считыватели отпечатков
  • считыватели смарт-карт
  • принтеры
  • сканеры
  • модемы
  • графические карты
  • веб-камеры
  • DVB-карты
  • мультимедийные контроллеры

Если устройство не заработало сразу, это ещё не означает, что его нельзя заставить работать в принципе. Иногда можно найти более подходящее ядро или сторонний драйвер в интернете. Для поиска нужного ядра можно воспользоваться базой данных LKDDb, в которой проиндексированы поддерживаемые устройства для каждой версии ядра, или поискать решение на форумах и подобных ресурсах.

Сегодня мы запускаем новый способ поиска драйверов — с помощью создания пробы компьютера! Если для какого-то устройства в вашей пробе не был загружен драйвер, то для него будут предложены подходящая версия ядра или известные сторонние драйверы. Эта же информация представлена на странице каждого PCI/USB-устройства в базе.

Пробу можно создать следующей командой (для других дистрибутивов есть AppImage):

hw-probe -all -upload

Поиск драйвера осуществляется по базе LKDDb для ядер начиная с версии 2.6.24 и до самой новой 5.0. Также мы проиндексировали следующие сторонние драйверы:

  • nvidia — графика
  • wl — Wi-Fi-карты фирмы Broadcom
  • fglrx — графика AMD/ATI
  • hsfmodem — модемы
  • sane — сканеры
  • foomatic — принтеры
  • gutenprint — принтеры
  • и ещё около 100 драйверов с Github для Wi-Fi-карт и других устройств

Да, мы проиндексировали fglrx для старых графических карт AMD/ATI. В некоторых случаях производительность с ним может быть выше, чем при использовании свободного драйвера radeon, но для этого нужно будет поставить предыдущую версию ROSA — R8, так как в более новых версиях системы fglrx не поддерживается.

Это не единственный пример, когда требуется не обновление ядра, а откат на предыдущую версию. Для некоторых устройств драйвера устаревают, и их просто выкидывают из ядра. В таких случаях вам нужно подобрать одну из предыдущих версий вашего дистрибутива со старым ядром, обновив затем вручную необходимые программы (например, браузер).

Всем спасибо за внимание!

VK: https://vk.com/rosa_linux?w=wall-33847957_285897.

Compatibility.png

Обзоры работоспособности устройств

HardwareReview.jpg


Удалось настроить устройство, которое не заработало «из коробки»? Нашли нужный драйвер? Устройство не работает и не знаете, что делать? Напишите об этом прямо в своей пробе!

Регистрация не нужна — авторизация происходит при создании пробы. Просто создайте пробу и сразу откройте её в браузере. На странице вашей пробы будет большая зеленая кнопка REVIEW для создания обзора.

В обзоре можно скорректировать автоматически определенные статусы работоспособности устройств и написать комментарий для любого устройства на языке Markdown.

Статусы и комментарии приписываются к соответствующим устройствам в открытой базе данных. Другие пользователи смогут быстро перенять опыт, если у них будет такая же проблема, пробив свои компьютеры по базе данных при помощи своих проб.

Пробу можно создать командой:

   hw-probe -all -upload

Или с помощью приложения Проба оборудования в стартовом меню SimpleWelcome образов РОСЫ с KDE/Plasma. Также есть AppImage, Docker, Snap и Flatpak, чтобы взять с собой на любой другой дистрибутив.

Всем спасибо за внимание и будущие пробы компьютеров!

VK: https://vk.com/rosa_linux?w=wall-33847957_284855.

Выбор дистрибутива Linux в базе оборудования

LinuxDistrHW.jpg

Всем доброго времени суток!

Новость для пользователей базы оборудования РОСЫ Linux-Hardware.org и всех интересующихся Linux-совместимостью и надежностью компьютеров.

Как известно, помимо проб РОСЫ, в базу можно загружать пробы с любого другого дистрибутива Linux. С сегодняшнего дня на главной странице сайта можно выбрать свой любимый дистрибутив и персонализировать базу данных. В этом режиме не будет видно данных, собранных с других дистрибутивов. Таким образом каждый дистрибутив получает по своей персональной базе оборудования!


База РОСЫ доступна по ссылке: https://linux-hardware.org/?d=ROSA

Если будут предложения по изменению цветовой схемы сайта для какого-нибудь из дистрибутивов, то пишите в комментариях к этому посту.

Если есть желание пополнить базу своим компьютером, то вы можете сделать это с помощью утилиты hw-probe (предустановлена в ROSA Fresh):

   hw-probe -all -upload

Всем спасибо!

Работоспособность устройств компьютера

HW Operability.jpg

Мы продолжаем постоянно улучшать базу данных оборудования, чтобы сделать ее еще более полезной. Сегодня хотелось бы представить долгожданную новую функциональность — автоматическое определение работоспособности устройств компьютера. Этого удалось добиться с помощью анализа логов, собираемых с компьютеров пользователей.

Автоматически определяется работоспособность следующих устройств:

  • Графические карты
  • Wi-Fi-карты
  • Ethernet-карты
  • Bluetooth-карты
  • Модемы
  • Жесткие диски (наличие критических ошибок)
  • Мониторы
  • Батареи (низкая емкость)
  • Контроллеры смарт-карт (требуется hw-probe из ветки master)

Для следующих классов устройств также определяется статус неработоспособности, если драйвер не найден, но пока не ясно, как проверить их работоспособность:

  • Звуковые карты
  • Кардридеры
  • Считыватели отпечатков пальцев
  • TV-карты
  • DVB-карты

Вы можете проверить свои предыдущие пробы — статусы устройств в них уже обновлены!

Или сделать новые пробы (обновление hw-probe не требуется, анализ произведет сервер):

   hw-probe -all -upload

Нерабочие устройства заносятся в репозиторий устройств с плохой Linux-совместимостью: https://github.com/linuxhw/HWInfo.

Ближайшим аналогом проекта является проект Checkbox (System testing) в Ubuntu, но там в каждом тесте требуется участие человека.

В Росе утилита hw-probe предустановлена во всех образах. Для установки на другие системы см. эту инструкцию.

Всем спасибо за внимание!

Репозиторий EDID

EDID repository.jpg

На основе собранных проб компьютеров в проекте Linux-Hardware.org создан самый большой в мире открытый репозиторий характеристик мониторов, включающий структуры EDID для около 9000 мониторов: https://github.com/linuxhw/EDID

EDID (Extended Display Identification Data) — стандарт формата данных VESA, который содержит базовую информацию о мониторе и его возможностях, включая информацию о производителе, максимальном размере изображения, цветовых характеристиках, заводских предустановленных таймингах и границах частотного диапазона.

Наиболее известным аналогом репозитория является сайт EDID.tv, на котором также собрано довольно много информации о мониторах.

Репозиторий пополняется автоматически на основе новых проб компьютеров. Чтобы участвовать в пополнении репозитория, пользователям Росы нужно выполнить одну простую команду в терминале:

   hw-probe -all -upload

Пользователям других систем надо установить утилиту hw-probe наиболее удобным способом из предложенных на этой странице (Deb-пакет, Docker-образ, LiveCD и др.): https://github.com/linuxhw/hw-probe

HW Probe 1.4

HW Probe 1.4.png

Друзья, хочу представить вашему вниманию новую версию hw-probe 1.4.

Наиболее важным изменением является деперсонализация проб на стороне клиента. Прежде пробы очищались от приватной информации (IP-адреса, MAC-адреса, серийные номера, имя компьютера и др.) на стороне сервера. Теперь такие данные не отправляются совсем, и можно не волноваться, что сервер будет их как-то обрабатывать или публиковать. Смело отправляйте пробы с любого компьютера!

Обновление уже доступно в репозиториях.

Другие изменения:

  • Проба создается до трех раз быстрее
  • Добавлен сбор SMART-информации с внешних USB-накопителей, подключенных к компьютеру
  • Добавлен сбор SMART-отчетов из MegaRAID
  • Улучшен анализ мониторов и жестких дисков
  • Добавлен сбор информации о MMC-контроллерах
  • Добавлен сбор логов mcelog и cpuid и др.

См. подробный список исправлений здесь: https://github.com/linuxhw/hw-probe/releases/tag/1.4.

Пробу, как и раньше, можно сделать через приложение Проба оборудования в SimpleWelcome или путем выполнения в консоли следующей команды:

hw-probe -all -upload

Всем спасибо за внимание и за новые пробы компьютеров!

Подсветка важных SMART-атрибутов в пробах

В SMART-отчетах для жестких дисков и SSD во всех пробах компьютеров подсвечены важные атрибуты, коррелирующие с реальными механическими неисправностями согласно исследованиям Google и Backblaze.

Зеленым подсвечивается нулевое значение важных атрибутов, красным — любое положительное значение. Вы можете проверить свои пробы уже сейчас!

Ссылки на исследования, а также полный список подсвечиваемых важных атрибутов можно посмотреть здесь: https://github.com/linuxhw/SMART

Пробу можно, как и раньше, сделать из приложения в SimpleWelcome или из консоли одной простой командой:

   hw-probe -all -upload

Всем спасибо за внимание и новые пробы компьютеров!

Highlighting important SMART attributes.png

Список устройств с плохой Linux-совместимостью

Devices poorly supported by Linux.jpg

Создан новый проект для определения списка устройств с плохой Linux-совместимостью на основе данных Linux-Hardware.org за 4 года: https://github.com/linuxhw/HWInfo

В новом репозитории собрано 26 тысяч обезличенных отчётов hwinfo из проб компьютеров в различных конфигурациях (разные ядра, ОС — в основном ROSA Fresh). Устройство попадает в список плохо поддерживаемых, если есть хотя бы одна проба, в которой драйвер для этого устройства не был найден. В таблице в колонке 'Missed' указан процент таких проб. Если процент небольшой, то это означает, что драйвер добавили в новых версиях ОС. Также показана минимальная версия ядра Linux, в которой драйвер присутствовал.

Устройства разбиты на категории. Для каждой вычисляется отношение количества плохо поддерживаемых устройств к общему количеству протестированных устройств в категории.

На данный момент исследование ограничено только для PCI и USB устройств. В будущем планируется включить остальные.

Просьба проверить наличие в таблице известных неподдерживаемых устройств. ID устройства можно взять из вывода команды 'lspci -vvnn' в квадратных скобках, например [10de:0dfc].

Открытый тест надежности жестких дисков и SSD

HDD SSD Reliability Test.jpg

Создан открытый проект по оценке надежности жестких дисков (HDD и SSD) на основе собранных SMART данных в базе оборудования https://linux-hardware.org. Исходные данные в обезличенном виде, методы анализа и результаты выложены в новый репозиторий на github: https://github.com/linuxhw/SMART. Это наш ответ Google и Backblaze по анализу надежности дисков, но только участвовать в исследовании может каждый Linux-пользователь из сообщества путем обычного создания проб с помощью hw-probe!

Целью проекта является выявление дисков с максимальным временем работы без ошибок. В качестве меры надежности выбрано время работы диска в годах деленое на количество ошибок плюс один: Power_On_Hours/(1 + Number_Of_Errors), т.е. среднее количество лет работы до возникновения первой ошибки (или время между ошибками).

Таблицей с результатами надо пользоваться аккуратно. Надо обращать внимание не только на рейтинг, но и на число проверенных экземпляров модели диска. Если рейтинг низкий, то смотрите на число дней работы этого диска и количество накопленных ошибок. Если диск новой модели, то он будет постепенно подниматься к вершине рейтинга, если отработает достаточное время без ошибок.

В этом проекте есть целое поле задач для исследований. Наиболее актуальными являются улучшение формулы для меры надежности, формулы для усреднения результатов для нескольких дисков одной модели и выявление типов ошибок, указывающих на реальные неисправности или их скорое возникновение.

Пробу компьютера можно, как и раньше, сделать из приложения в SimpleWelcome или из консоли одной простой командой:

   hw-probe -all -upload

Мобильная база оборудования


Mobile Hardware DB.jpg

Встречайте мобильный интерфейс к базе оборудования ОС РОСА. Просто зайдите на сайт https://linux-hardware.org со смартфона или планшета и откроется компактная версия сайта. Теперь пользоваться базой значительно удобнее вне дома или офиса.

Пополняйте базу, ищите Linux-совместимые модели компьютеров и устройств, изучайте внутреннее строение своего компьютера — все это легче вместе с базой https://linux-hardware.org!

HW Probe 1.3

Вышла новая версия утилиты для анализа аппаратных средств HW Probe 1.3.

→ продолжить чтение…

Docker-образ для ROSA Desktop Fresh R9

Нас часто спрашивают, где взять образ Docker для Росы. Такой образ полезен в ситуации, когда хочется быстро отладить сборку какого-то пакета, а установленной ОС ROSA под рукой нет. Разворачивать ради такой такой задачи виртуальную машину — излишество, а вот создать за пару секунд контейнер — самое то.

Для rosa2016.1 образы можно найти здесь:

Для платформы 2014.1 — здесь:

Образы rootfs, которые можно использовать для chroot или systemd-nspawn, с предустановленным ПО для сборки пакетов:

Запуск контейнера осуществляется стандартным образом:

# docker run -it --rm dsilakov/rosa

Docker rosa.png

Файлы и скрипты, которые можно использовать для сборки образов: https://abf.io/soft/docker-brew-rosa.

Желающие делать производные образы либо дорабатывать текущие — welcome.


Установка свежих версий приложений в виде контейнеров

Несмотря на слово Fresh в названии нашего открытого дистрибутива, мы вовсе не стремимся всеми силами поместить в него самые свежие версии всех приложений. Все основные программы (входящие в репозиторий main) проходят тщательную проверку нашего QA, и в случае обнаружения проблем (особенно регрессий) мы либо чиним их сами, либо ждем исправлений от апстрима.

Однако время от времени все-таки хочется попробовать новую версию какого-нибудь приложения, несмотря на ее ошибки не дожидаясь ее появления в официальных репозиториях. Нередко для этого можно использовать неофициальные сборки от разработчиков и членов сообщества (например, немало интересного можно найти в репозиториях https://rosa.pkgs.org/2016.1/stan8-x86_64/ от наших пользователей из Польши.

Но есть и альтернатива — приносить пакеты не в виде RPM, а в виде самодостаточных контейнеров. Подробнее о данных технологиях можно узнать, например, из этой статьи, а применительно к РОСЕ и десктопным приложениям можно сразу воспользоваться инструментарием flatpak, доступным в репозиториях ROSA Desktop Fresh начиная с релиза R9.

Для начала поставим сам flatpak:

$ urpmi flatpak

А теперь перейдем в каталог приложений, скачаем файл flatpakref для нужного приложения и передадим его инструменту:

$ flatpak install --from https://flathub.org/repo/appstream/com.skype.Client.flatpakref
$ flatpak run com.skype.Client

И вуаля — в два клика мы запустили новый Skype.

На данный момент приложений в каталоге не очень много. Но, с другой стороны, есть очень интересные и востребованные программы, свежие версии которых интересны многим пользователям — тот же Skype, LibreOffice, Spotify, Pitivi, Linphone и ряд других.

Skype flatpak.png


2017-06-20 Настройка двухфакторной аутентификации в ОС ROSA Desktop Fresh R9

2FA.png

Те, для кого информационная безопасность — не пустой звук, знают, что глупо просто увеличивать длину пароля в надежде повысить защищённость. Здесь целесообразно использовать многофакторную аутентификацию.

Тем более что почти все уже привыкли к так называемой 2FA, ибо даже покупки по карточке в интернете теперь требуют не только CVV2-код, но и одноразовый пароль из SMS от банка или другой дополнительный фактор аутентификации (привет отпечатку пальца).

Конечно, если у вас ноутбук, двухфакторная аутентификация не спасет вас от его кражи вместе с данными — тут нужно шифрование. Но от тех, кто подглядывает пароль через плечо, а потом втихую использует ваш компьютер, вполне поможет.

Да и выглядит это круто и профессионально, если вдруг нужно произвести впечатление на кого-нибудь.

Как же настроить двухфакторную аутентификацию в ОС ROSA?

Под катом — длинная инструкция для тех, кого не пугают трудности.

Настройка двухфакторной аутентификации в ОС ROSA Desktop Fresh R9

ABF: разблокируем Pull Request

За годы разработки РОСЫ мы получили тысячи Pull Request’ов от добровольных помощников из сообщества (в частности, запросы на обновление тех или иных программ). Жизненный путь большинства запросов очень прост — разработчик изучает предлагаемые изменения, и если все в порядке, то просто нажимает кнопку Смерджить, после чего нажатием еще одной кнопки отправляет новую версию программы на сборку. Итого — если изменения выглядят корректными, то от разработчика требуется всего два клика мышкой.

Чтобы подобный сценарий был осуществим, необходимо еще одно условие (помимо корректности изменений) — Git-сервер ABF должен быть в состоянии автоматически перенести ваши изменения в репозитории РОСЫ. Понять, так это или нет, очень просто — если сразу после создания запроса он находится в состоянии Готов к мерджу, то все хорошо. Если же он сразу оказался в состоянии Заблокирован, то что-то пошло не так и для принятия ваших изменений разработчикам придется приложить существенно больше усилий, чем пара кликов мышкой. Однако вы можете им помочь, изменив свой проект так, чтобы изменения все-таки можно было перенести автоматически.

Первым делом убедитесь, что вы сделали запрос на изменение в нужную ветку Git-репозитория (ветка соответствует имени платформы — rosa2014.1, rosa2016.1 и так далее).

Если с ветками все в порядке, то причиной блокировки вашего запроса является параллельное внесение изменений в проект другими участниками. Поясним это, рассмотрев типичный процесс подготовки изменений:

  1. пользователь создает «форк» проекта, который хочет изменить, в свой репозиторий;
  2. пользователь вносит необходимые изменения в свою копию проекта;
  3. пользователь создает запрос на изменение (Pull Request) в исходный проект.

Если за время, когда пользователь вносил изменения в свой проект, кто-то изменил исходный проект (например, принял Pull Request от другого пользователя), то с большой вероятностью ABF не сможет автоматически влить изменения. Именно в такой ситуации и получится заблокированный Pull Request. Строго говоря, если вы изменяли одни файлы, а разработчик — другие, то блокировки не будет. Однако специфика сборки rpm-пакетов такова, что при внесении любых изменений вам надо как минимум пересобрать пакет с поднятием версии или релиза, а для этого надо изменить spec-файл. Поэтому 99 % изменений в проекте изменяют и spec-файл, как следствие — почти всегда параллельные изменения приводят к невозможности автоматически их объединить.

Итак, что же делать в такой ситуации?

→ продолжить чтение…

Объединяем несколько коммитов Git в один

Нередко нам поступают Pull Request'ы типа такого: https://abf.io/import/flacon/pull_requests/3

Для разработчика здесь все хорошо, кроме истории Git-изменений:

  • комментарии типа "Updated flacon.spec" не очень информативны - по ним невозможно понять, что именно изменилось. Конечно, об этом написано в заголовке и описании Pull Request'а, однако это описание в Git никак не попадает
  • коммитов много, а хотелось бы объединить их все в один - который бы просто обновлял версию пакета.

Ниже мы покажем, как это можно сделать - объединить несколько коммитов в один и дать ему разумное имя. Делать это надо на локальной машине в клонированном репозитории; объединять коммиты рекомендуется до того, как делать "git push", но можно и после:)

Итак, склонируем проект drxank/flacon, ветку rosa2014.1:

$ abf get drxank/flacon -b rosa2014

Посмотрим на коммиты:

$ git log --pretty="%H - %s"
0daafc634cc589d1c873f6edae0fe21502d75594 - Updated flacon.spec
9e47bed614eacf1a1861936d7c18ab8e7f65bab4 - Updated flacon.spec
b1083c0c6f5c5e80260c5f1dfc3aea15fbb69ef6 - Updated flacon.spec
a800744f44b7cb10b3a03a2c97d0fe67c71a2992 - Updated flacon.spec
8d76a8f9322445f8a85b19d24ae6930bd14150c9 - Updated flacon.spec
7ace05fd871b5bde3aeefeac5bc4407ddfb9f04a - Updated flacon.spec
f4814908d3d8fb0e17cea6cce44c82d90d1d3124 - Updated flacon.spec
81e7d1c97ca58747e24855f5a41285a93699842b - Updated .abf.yml
e6f6db1e4eea0bd152a13845fb10afa75606a6d5 - Updated to 2.0.1
558e40eb6f548b63b8b4f029b5682a3aae67da02 - Updated to release 1.2.0 and added means to optionally build against QT5
c418829888ab1aa563a5453281147939451693ad - Updated to 1.0.1
6573986febf60d4cf5ff041bf83038178556c974 - MassBuild#464: Increase release tag
0de5f6058e14f49a971223401ddb0a59033609a8 - Log: Update to 0.9.4
4be631b55b44b1fa889e6fa41e1a9a8122f2b30c - Merge pull request #1 from symbianflo/flacon:rosa2012.1  Symbianflo
da1fa9f156b85a070d8597c2ad8fcf59c164474b - Log update to 0.9.2, spec clean, fix buildreq, suggested restricted stuff, instead of required
e7a176408a6f240549179d7f34dd193ffa6bed70 - Log update to 0.9.2, spec clean, fix buildreq
14cdfb66e339b5d07fc125ad008646881f44624c - Log update to 0.9.2, spec clean
3f703af118b51ae39e18b8a0c47bd1a3b0303905 - Updated to version 0.8.0
1d86128c11c086784734bcb2f04fa63e616bcef6 - Drop debug package
bd4679a420d825cbf1e14d3793ddddfb1ef683d2 - Fix wavpack req to work on 64bit system
dc8ccf7bf1ecaf5a0af076c4d86b46babe070a79 - Automatic import for version 0.6.1
79a243063006274f258c0e78932e9e0ca912c921 - Automatic import for version 0.6.0

Из это истории мы хотим объединить все коммиты вплоть до 81e7d1c97ca58747e24855f5a41285a93699842b - Updated .abf.yml.

Для этого делаем rebase на коммит перед "Updated .abf.yml" (это коммит e6f6db1e4eea0bd152a13845fb10afa75606a6d5 - Updated to 2.0.1)

$ git rebase -i e6f6db1e4eea0bd152a13845fb10afa75606a6d5 

-i включает интерактивный режим - перед вами откроется редактор, где вы увидите следующую информацию:

pick 81e7d1c Updated .abf.yml
pick f481490 Updated flacon.spec
pick 7ace05f Updated flacon.spec
pick 8d76a8f Updated flacon.spec
pick a800744 Updated flacon.spec
pick b1083c0 Updated flacon.spec
pick 9e47bed Updated flacon.spec
pick 0daafc6 Updated flacon.spec

Мы хотим слить все эти коммиты в один - в терминах Git это означает, что мы берем первый из них (хронологически) и "затаскиваем" ("squash") в него остальные. Для этого необходимо слово "pick" перед каждым "затаскиваемым" коммитом поменять на "s" (или на "squash", если не лень писать): Так что отредактируйте текст, чтобы он выглядел следующим образом:

pick 81e7d1c Updated .abf.yml
s f481490 Updated flacon.spec
s 7ace05f Updated flacon.spec
s 8d76a8f Updated flacon.spec
s a800744 Updated flacon.spec
s b1083c0 Updated flacon.spec
s 9e47bed Updated flacon.spec
s 0daafc6 Updated flacon.spec

После чего можно сохраняться и выходить.

Далее вам предложат отредактировать описание коммита - по умолчанию это будет объединение описаний всех коммитов:

# This is a combination of 9 commits.
# The first commit's message is:
Updated to 2.0.1
# This is the 2nd commit message:
Updated .abf.yml
# This is the 3rd commit message:
Updated flacon.spec
# This is the 4th commit message:
Updated flacon.spec
# This is the 5th commit message:
Updated flacon.spec
# This is the 6th commit message:
Updated flacon.spec
# This is the 7th commit message:
Updated flacon.spec
# This is the 8th commit message:
Updated flacon.spec
# This is the 9th commit message:
Updated flacon.spec


Все это смело удаляем и заменяем на одну фразу, отражающую суть:

Updated to 2.1.0

Сохраняемся и выходим.

Если вы уже сделали "git push" и изменения находятся на сервере, но необходимо проделать следующую операцию, чтобы закинуть на сервер объединенные коммиты:

$ git push origin +rosa2014.1


Сборка RPM — исправляем ошибки

После публикации заметки про обновление пакетов с помощью ABF к нам присоединилось немало добровольных помощников, регулярно присылающих pull request'ы на новые версии пакетов. Большинство pull request'ов очень просты и сводятся к обновлению версии приложения в spec-файле и заливке архива с новым исходным кодом на File Store. Однако часто сборка новой версии пакета завершается с ошибкой, которая не связана напрямую с кодом программы и может быть относительно легко исправлена без изучения ее кода.

Для тех, кто не желает ограничиваться обновлением версий программ и не хочет сдаваться при возникновении первой же ошибки, мы подготовили перечень часто встречающихся при сборке пакетов RPM ошибок, которые можно относительно быстро исправить. Этот перечень создан на основе опыта прохождения практики студентами НИУ ВШЭ, но мы надеемся, что он пригодится не только им.

Добавления и исправления в этот перечень всегда приветствуются!

Рулим Росой по сети

Большое обновление базы оборудования

Вот уже два года прошло с момента создания первой версии базы оборудования. За это время база активно использовалась сообществом, опередила Ubuntu по количеству компьютеров и получила простое и удобное приложение для KDE4 и Plasma5 для создания проб. При этом было выявлено много существенных недостатков. Все их удалось устранить в новой версии базы, которая доступна по адресу: https://linux-hardware.org

Из самых интересных доработок стоит отметить оптимизированный и переработанный web-интерфейс, передачу проб по шифрованному соединению HTTPS и получение пользователем дополнительной приватной ссылки для доступа ко всем данным пробы. Эта приватная ссылка в будущем будет использоваться для редактирования и комментирования статусов устройств в пробе.

Совместимость со старой базой полностью сохранена. Все пробы компьютеров из старой базы были перенесены в новую базу. Все будущие пробы в старой базе также будут раз в неделю копироваться в новую, так как остается ещё много установок РОСЫ со старым hw-probe.

С новой базой работают пакеты hw-probe и hw-probe-gui версии 1.1, которые должны уже скоро прийти в обновлениях на компьютеры пользователей после расширенного тестирования.

Помимо приложения, пробу можно создать, как и раньше, одной простой командой из консоли:

   hw-probe -all -upload

Теперь подробнее о наиболее интересных улучшениях:

  • Из-за большого количества проб и устройств в старом интерфейсе большинство страниц тормозило, а некоторые и вовсе перестали работать. В новом web-интерфейсе существенно переработаны SQL-запросы и все страницы открываются быстро.
  • Пробы теперь передаются по шифрованному соединению HTTPS.
  • Помимо обычного URL для просмотра пробы, пользователю возвращается еще один приватный URL для доступа ко всем данным пробы. В скором времени по этому URL можно будет изменять статусы работающих и неработающих устройств и писать комментарии к ним. Таким образом база будет коллективно редактируемой.
  • Используется XZ-компрессия проб, чтобы уменьшить трафик и увеличить емкость базы.
  • Емкость базы увеличена до 110.000 проб.
  • Упрощена система статусов устройств. Теперь статус (работает, не работает, и т.д.) закрепляется за системой, а не за драйвером. Если на каком-то драйвере не работает, то это описывается в комментариях.
  • Определяется версия дистрибутива (R1-R8), а не только платформа.
  • Если Mac-адрес был изменен, то будет определен настоящий.
  • Все созданные пробы сохраняются в каталоге /root/HW_PROBE/ на компьютере пользователя.
  • Оптимизированы алгоритмы хранения и доступа к пробам, что увеличило скорость открытия страницы самой пробы и ее логов.

Исследуйте различные конфигурации железа, обменивайтесь пробами, устраняйте проблемы и оптимизируйте работу Linux на компьютере. Все это теперь проще с новой базой оборудования!

«Сделай сам» — howto для желающих обновлять программы в Росе

Запросов от пользователей на обновление тех или иных программ в дистрибутивах ROSA Desktop Fresh мы получаем не много, а очень много. Приходится закрывать слишком разросшиеся темы на форуме, разбивая их на более мелкие.

К сожалению, выполнить абсолютно все пожелания разработчики РОСЫ не в состоянии. Однако помочь нам может каждый — вопреки распространенному мнению, для обновления какой-либо программы вовсе не обязательно быть программистом, разбираться в сборке пакетов и прочих премудростях. Во многих случаях вам хватит веб-браузера и желания сделать нечто полезное.

Итак, вы узнали о выходе новой версии вашей любимой программы и хотите обновить соответствующий пакет в РОСЕ. Для примера, возьмем набирающий популярность редактор Atom — у него недавно вышла версия 1.3.2, а в репозиториях РОСЫ на момент написания этой статьи — все еще версия 1.2.0. Давайте исправим это досадное недоразумение.

Первым делом идем и регистрируемся в нашей среде сборки ABF, если вы этого до сих пор не сделали — на http://abf.io кликаем в правом верхнем углу на «Регистрацию», вводим логин/пароль и успешно заходим в систему (регистрация абсолютно свободна, происходит мгновенно и не требует никаких подтверждений).

Теперь находим с помощью поиска интересующий нас пакет atom, находящийся в группе import (обязательно используйте эту группу, именно из нее собираются пакеты в официальные репозитории!).

.png

Переходите в этот проект и жмите кнопку «Клонировать» («Fork»).

.png

В появившемся окне выберите опцию «Клонировать в <ваш_логин>/atom» («Fork to <your_login>/atom»). Этим действием вы склонируете проект в ваш персональный репозиторий, где вы сможете с ним играться в свое удовольствие. Клонирование происходит достаточно быстро, и вы сразу будете перенаправлены на страницу склонированного проекта. Если вы видите сообщение о том, что репозиторий пуст — просто обновите страницу.

.png

Следующим пунктом необходимо изменить используемую ветку Git-репозитория на rosa2014.1. Если эта фраза вам ни о чем не говорит, не пугайтесь — достаточно в выпадающем списке в правом верхнем углу выбрать значение «rosa2014.1» (мы используем эту ветку, начиная с релиза ROSA Desktop Fresh R4 и точно продолжим использовать в R7).

.png

Теперь вам необходимо в списке файлов проекта найти файл с расширением «spec» («atom.spec» в нашем случае) и кликнуть на него и затем кликнуть на «Edit» для его редактирования.

.png

Все, что вам надо изменить в этом файле — это значение тэга Version, который обычно находится где-то вверху файла. Как мы видим, сейчас здесь указана версия 1.2.0, и мы ее заменим на 1.3.2. После этого в окне «Commit message» оставьте некоторое разумное описание произведенных изменений — например, «Updated to version 1.3.2». На этом все — теперь файл можно сохранить соответствующей кнопкой внизу экрана.

.png

Далее, необходимо скачать архив с новым исходным кодом (указанный в теге Source) и загрузить его на http://file-store.rosalinux.ru/. Для аутентификации необходимо использовать те же логин и пароль, что и на ABF. Для каждого файла File Store сгенерирует хэш, который необходимо прописать в гите в файле .abf.yml, например как в https://abf.io/import/texlive-accents/blob/rosa2019.1/.abf.yml

Если кто-то подумал, что этим мы и обновили программу в дистибутиве — спешим огорчить, мы всего лишь подготовились к попытке собрать новую версию, и теперь пора эту попытку произвести. Для этого кликаем на кнопку «New Build», и в появившемся окне выполняем два действия:

  • на всякий случай, отключите ваш персональный репозиторий — вдруг там уже есть что-то, что помешает чистоте сборки
  • если вы собираете пакет для репозитория Contrib (или просто не уверены, в какой репозиторий вы его собираете), то обязательно отметьте в левой колонке позицию «contrib» в секции «rosa2014.1»
.png

После этого можно нажать на кнопку «Start Build» и ждать результата. Если сборка завершится с ошибкой — что ж, «нахаляву» обновить пакет не получилось, надо либо разбираться с ошибками либо бежать за помощью к более осведомленным людям. Если же сборка завершилась успешно, то на страничке сборки вы сможет получить rpm-пакеты с новой версией программы, которые вы можете скачать, установить и попробовать в деле.

Если новая программ работает как положено, то надо поделиться своими достижениями с остальными членами сообщества (ведь вы помните, что до сих пор мы все действия производили в вашем персональном репозитории?), послав запрос на обновление в основной проект, находящийся в группе import. Делается это посредством нажатием на кнопку «Pull Request» на страничке вашего проекта.

.png

В появившемся окне убедитесь, что для исходного и целевого проектов выбрана ветка rosa2014.1, при необходимости нажмите кнопку «Update commits», оставьте некоторое вразумительное сообщение в поле Description и отправьте запрос, нажав на кнопку «Send Pull Request».

.png

Разработчики получат уведомление о предлагаемых вами изменениях, рассмотрят их, внесут в основной проект в группе import и соберут новую версию пакета в официальные репозитории.

→ продолжить чтение…