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

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

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

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

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

Проверка контрольных сумм образов ROSA Desktop с помощью Checkisomd5

CheckISOmd5-logo.png

Большинство пользователей для установки РОСЫ скачивает ISO-образ с наших сайтов и дальше либо производит установку непосредственно с этого образа, либо записывает его на флешку (или на DVD-диск — этот способ особенно актуален для сертифицированных версий). К сожалению, несмотря на всяческий рост распространения Интернета, его скорости и качества, иногда при закачке образов случаются-таки ошибки, скачанный файл оказывается «битым» и установка с него невозможна.

Для проверки целостности скачанных файлов традиционно применяется вычисление их контрольной суммы и сравнение её с заданным результатом. Обычно это отдельный файл с расширением .md5, .sha1 и так далее — смотря какой алгоритм используется. Для проверки целостности требуется скачать этот файл, запустить программу подсчета контрольной суммы, например md5sum ROSA.iso и сравнить результаты. Некоторые программы могут делать это автоматически и даже сравнить контрольную сумму с эталоном, если обнаружат рядом с образом md5-файл.

Как показывает практика, далеко не все пользователи знают, что помимо традиционного пути, контрольная сумма ISO-образа может быть встроена непосредственно в ISO-файл. Дело в том, что файлы формата ISO9660 содержат неиспользуемую секцию, размера которой вполне достаточно для помещения туда MD5-суммы. Осуществить такое встраивание MD5 в файл может утилита implantisomd5, входящая в набор программ isomd5sum, а проверить соответствие содержимого образа встроенной в него контрольной сумме поможет утилита checkisomd5 из того же пакета.
Делается это так, сначала утилита вычисляет MD5-сумму, затем внедряет её в образ-диска ROSA.iso + MD5. Далее на зеркало выкладываются файлы md5sum = ROSA.iso + MD5 и sha1sum = ROSA.iso + MD5 . У пользователя есть выбор, проверять контрольную сумму командой checkisomd5 или md5sum, sha1sum. Но имейте ввиду, checkisomd5 проверяет внедрённую MD5-сумму и она не равна md5sum, sha1sum, ибо они проверяют уже общую сумму ROSA.iso + MD5.

Уже довольно долгое время встраивание контрольной суммы с помощью implantisomd5 осуществляется во все образы ROSA Desktop Fresh, поэтому проверить их целостность вы можете одной простой командой:

[имя_юзера@rosa2021 ~/Загрузки]$ checkisomd5 ROSA.iso
Нажмите [Esc], чтобы прервать проверку.
Проверка носителя завершена, результат: PASS (ПРОЙДЕН).
Использовать этот носитель можно.

У команды есть опции: « --verbose », которая выводит полную информацию о ходе проверки на целостность образа, в том числе и его MD5-сумму, внедрённую в него, « --gauge », с индикацией процесса в виде цифр от 1 до 100, а также « --md5sumonly », покажет только MD5-сумму данного образа, не делая проверку на целостность.

Утилита checkisomd5 работает не только с ISO-образами, но и с блочными устройствами — например, если в ваш DVD-привод вставлен диск с РОСОЙ, то запустите команду checkisomd5 на /dev/dvdrw.

Для проверки с помощью md5sum, sha1sum потребуется скачать не только образ.iso, но и файл .md5sum, или .sha1sum в один каталог, например "Загрузки", команда запускается именно оттуда, для перехода в него cd ~/Загрузки, далее:

[имя_юзера@rosa2021 ~/Загрузки]$ md5sum -c ROSA.md5sum
ROSA.iso: ЦЕЛ

Из сравнения видно, что проверка образа командой checkisomd5 ROSA.iso проще и быстрее.

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

Подобная, но краткая статья: Проверка целостности ISO образа.

Установка системы управления виртуализацией Ovirt 3.5 в доменной среде IPA на базе RELS 6.6

Большая часть наших статей в «Точке Росы» была посвящена нашим десктопным системам. Однако в последнее время мы более активно стараемся развивать и серверное направление. В связи с чем в августе нами была обучена группа специалистов одного очень известного и уважаемого системного интегратора.

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

И мы были рады, когда один из наших слушателей, Черятников Виталий, написал цикл статей «Установка системы управления виртуализацией Ovirt 3.5 в доменной среде IPA на базе ROSA Enterprise Server 6.6» ([1], [2], [3], [4]).

C некоторыми правками, перепубликуем их и тут, одной статьей.

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


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

Об использовании URL в метаданных RPM-пакетов

Dead-link.gif

Как вы наверняка знаете, все программы в ROSA Linux распространяются в виде RPM-пакетов, включающих в себя архив с собственно файлами программы (скомпилированными исполнимыми файлами и библиотеками, данными и прочим добром), а также некоторые метаданные — имя пакета, его опиcание, зависимости и многое другое. В этой заметке мы остановимся на полях метаданных, содержащих ссылки на внешние ресурсы в сети Интернет.

В первую очередь это поле URL — ссылка на домашнюю страницу приложения, которую вы можете видеть при просмотре информации в менеджере пакетов. Кроме того, в spec-файлах (инструкциях для программы rpmbuild по сборке пакетов из исходного кода) большинства пакетов часто указывается ссылка на исходный код в апстриме, например:

Source0: http://my-app.org/downloads/my-app-1.0.tar.gz

Чем полезны ссылки в таких полях и почему бы просто не указать имя архива с исходным кодом? Исконная причина заключается скорее всего в том, чтобы предоставить разработчику удобный способ скачать архив с той или иной версией программы — ведь знать домашнюю страничку — это хорошо, но нередко на этой страничке надо покопаться, чтобы добраться до архивов с исходным кодом. Если же ссылка уже указана в spec-файле, то для скачивания новой версии программы достаточно поменять my-app-1.0.tar.gz на my-app-2.0.tar.gz и скормить ссылку менеджеру закачек. Когда-то давно это надо было делать вручную, сейчас же наш rpmbuild способен сам скачивать файлы из интернета — так что для сборки новой версии программы вам достаточно поменять значение версии в spec-файле и запустить rpmbuild, все остальное будет сделано для вас автоматически.

Еще один используемый в РОСЕ инструмент, использующий данные о ссылках на исходный код — это Updates Tracker. Именно на основе анализа ссылок в spec-файлах этот инструмент определяет, где надо искать новые версии тех или иных программ.

Таким образом, ссылки на внешние источники в spec-файлах полезны и активно используются. Однако как и любые интернет-ресурсы, эти источники иногда меняют свое местоположение, а то и вовсе исчезают. Мэйнтейнерам пакетов необходимо отлавливать такие метаморфозы и соответсвующим образом обновлять метаданные, иначе пользователи будут отсылаться на несуществующие домашние страницы приложений, а Updates Tracker искать новые версии там, где их ожидать уже не стоит.

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

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

Способ написания подобных инструментов нам тоже хорошо известен — в этом году мы вновь воспользовались возможностью привлечь студентов НИУ ВШЭ к выполнению полезных задач в рамках прохождения практики, в результате чего получили две утилиты — первая проверяет актуальность ссылок в заданном наборе spec-файлов, а вторая пробует угадать новую ссылку, если старая потеряла актуальность.

Первая утилита — find_dead_links — действует прямолинейно, извлекая из spec-файлов все ссылки на внешние источники и проверяя их доступность (просто пытаясь к ним достучаться). На выходе получается список нерабочих ссылок для каждого пакета.

Вторая программа — URLFixer — принимает на вход вывод find_dead_links и проводит его анализ, пытаясь определить — куда мог переехать тот или иной ресурс. Переезд домашних страниц на другие дислокации эта программа пока отловить неспособна (хотя с развитием поисковых систем эта задача не кажется такой уж нерешаемой), а вот с переездом архивов с исходным кодом вполне может справиться. Как показала практика, поломка ссылок на такие архивы часто вызвана довольно прозаическими причинами — например, разработчики могли удалить конкретную версию программы (заменив ее на более новую — в этом случае имеем явный сигнал мэйнтейнерам к обновлению пакета) или перепаковать архив в другой формат (в последнее время стало популярным переходить на использование xz). check_url проверяет, не произошел ли со сломавшейся ссылкой один из этих сценариев и пытается определить, на что следует заменить битую ссылку.

Казалось бы, в этих программах нет ничего сверхестественного (и их сложность вполне соответсвует двухнедельным усилиям пары студентов, практически не имевших опыта работы с Linux), но опыт их применения к репозиториям ROSA Desktop Fresh оказался впечатляющим — выяснилось, что некорректные ссылки содержались примерно в 500 пакетах (подавляющая часть которых находится в репозитори Contrib), а с помощью URLFixer удалось исправить около 80 % из них.

Наша база оборудования — самая большая в мире

У Росы меньше разработчиков, чем у международных конкурентов, поэтому нам приходится проявлять особую сообразительность и смекалку. Помимо роботов, которые автоматически производят тестирование пакетов и обновление пакетов прямо из апстрима, а также осуществляют установку, загрузку и тестирование новых образов, у нас еще есть и автоматически наполняемая сообществом база поддерживаемого оборудования. Конечно, на создание роботов, базы и других инструментов потребовалось немало времени и кропотливой работы, а их поддержка сейчас требует ежедневного внимания, но в целом разработка дистрибутива заметно ускорилась.

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

На 25 августа 2015 размер баз оборудования такой:

База Размер
РОСА 1515
Ubuntu 1105
openSUSE 946
h-node 533
Debian 226

Базу Росы составляют теперь 1515 компьютеров и она почти в полтора раза больше, чем у ближайшего конкурента — Ubuntu. Из них 768 — это мобильные компьютеры (ноутбуки и планшеты), 728 — настольные компьютеры и 18 — серверы. Самый старый протестированный компьютер с Росой на борту — Acer TravelMate 420 2002 года выпуска с процессором Pentium 4 (a8af42d6e7). Самый "большой" компьютер с Росой — HP Superdome2 с 15-ядерным процессором Xeon E7-2890 и 2ТБ оперативной памяти (9036136416). Протестировано в целом 1372 видеокарты, 332 WiFi карты и тысячи других устройств.

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

C днем сисадмина! Дарим видео с LVEE-2015

Поздравляем всех с Днем Сисадмина!

Опустим пафосную часть про важность и нужность этой профессии, ведь, думаю, не ошибёмся, что все, кто нас читает — причастны к хардкорному IT, это наш общий праздник, посторонних тут нет.

По всей стране сейчас идут разные слеты сисадминов на природе, в прошлом году мы даже ездили под Калугу развлекать сисадминов своими выступлениями, а в этом году мы ездили в глухие белорусские леса, чтобы порадовать всех хардкорных линуксоидов записями докладов с Linux Vacation Eastern Europe-2015.

О самом мероприятии можно почитать на хабре, ну, а три десятка докладов уже ждут зрителей!

Rosa-happy-sysadmin-days.png

Обогнать Ubuntu!

Своя база поддерживаемого оборудования есть у многих дистрибутивов Linux. Наличие такой базы помогает пользователям настраивать систему на своих компьютерах, а разработчикам позволяет быстрее исправлять ошибки связанные с оборудованием. Самые большие базы у Debian, Ubuntu, openSUSE и РОСА. Также представляет интерес и проект h-node — база оборудования, совместимого с полностью свободными ОС.

Подход к реализации базы у всех разный. У Debian и openSUSE — это наполняемый сообществом и разработчиками Wiki-портал. У Ubuntu и РОСА — это автоматически наполняемый сайт собственной разработки. При этом база данных РОСЫ — это полностью независимая разработка с уникальной архитектурой, основанной на понятии пробы оборудования. Проба оборудования — это снимок состояния оборудования компьютера, включающий помимо списка устройств и их статусов еще и набор системных журналов и результаты тестов работоспособности. Это позволяет зафиксировать состояние компьютера в момент возникновения проблемы и проанализировать причину ее возникновения по системным журналам. Также это позволяет проанализировать правильность работы найденных на компьютере устройств.

На 25 июля 2015 года размер этих баз оборудования следующий (по количеству компьютеров):

База Размер
Ubuntu 1087
openSUSE 945
РОСА 789
h-node 530
Debian 226

Как можно заметить, у Ubuntu на сегодняшний день самая большая база — 1087 компьютеров. Это не удивительно, так как пока это самая популярная международная система. У РОСЫ же — 789 компьютеров. Отрыв от лидера не такой уж и большой. Поэтому мы призываем всех пользователей РОСЫ сделать пробы своих компьютеров. Если каждый пользователь РОСЫ сделает пробу собственного компьютера, то база РОСЫ будет не только самой технологичной, но и самой большой базой в мире. В РОСА R6 пробу теперь можно сделать легко с помощью встроенного приложения "Проба оборудования".

Давайте общими усилиями станем лучшими в мире Linux!

Массовое тестирование МФУ

Недавно мы протестировали огромное количество различных МФУ, принтеров и сканеров в офисах HP и Xerox, которые любезно предоставили нам свое оборудование. Каждое устройство тщательно тестировалось под управлением нескольких версий операционной системы РОСА (DX32 Nickel 1.0, DX32 Nickel 2.0, DX64 Nickel 2.0, RED X2 и Desktop Fresh R5). Главным образом тестировалось качество печати на драйвере по умолчанию. Если на драйвере по умолчанию устройство не функционировало, то подбирался подходящий драйвер. Для некоторых устройств требовался проприетарный драйвер с сайта производителя.

Для записи результатов тестирования мы создали специальный подраздел нашей базы оборудования для периферийных устройств: hw.rosalinux.ru/mfp/. В записи для каждого устройства вы можете найти информацию о протестированном драйвере, версии системы, качестве печати и другие комментарии по настройке устройства. Теперь при покупке МФУ, принтера или сканера для использования под управлением ОС РОСА вы можете смело руководствоваться этой базой данных.

В будущем планируется также посещение офисов Epson, Brother, Samsung и Canon.


HW Probe 0.9.2: графический интерфейс и запуск без пароля

Мы выпустили новую версию 0.9.2 нашего инструмента HW Probe для сбора информации об оборудовании и системных журналов.

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

RaceHound 1.0 - ещё раз о «гонках» в ядре

Race Condition Everywhere.jpg

Недавно вышла версия 1.0 системы RaceHound для поиска «состояний гонки» при обращениях к данным в ядре Linux.

Если говорить простым языком, такие «состояния гонки» — это когда к данной области памяти разные потоки выполнения в программе (или, скажем, в ядре) могут обращаться одновременно, причём хотя бы один из потоков выполнения меняет содержимое этой области памяти. Такие ситуации могут приводить к очень неприятным последствиям, но выявить их бывает очень непросто.

В этом, например, может помочь инструмент KernelStrider. Он находит много потенциальных «гонок», но у него могут быть и ложные срабатывания, то есть бывает, что он сообщает о «гонке», которой нет.

RaceHound же, наоборот, может многое «не заметить», но если он выявил «гонку» — та, действительно, происходит. Кстати, эти инструменты хорошо работают в паре: KernelStrider выявляет потенциальные «гонки», а RaceHound проверяет, действительно ли эти «гонки» происходят.

В частности, таким образом удалось недавно выявить интересную «гонку» в драйвере «uvcvideo» (работа с web-камерой) из ядра 4.1-rc5. Правда, разработчики этого драйвера уверяют, что ничего страшного из-за этой гонки произойти не может, но всё же.

Принцип работы RaceHound очень прост.

  • Ставим программную точку прерывания, ПТП, (наподобие того, как это делают отладчики) на те инструкции в коде, которые могут участвовать в «гонке».
  • Когда какая-то из ПТП срабатывает, выясняем, к каким данным в памяти соотв. инструкция собирается обратиться, то есть находим их адрес и размер.
  • Ставим аппаратные точки прерывания на эту область памяти.
  • Делаем небольшую задержку. Если в это время кто-то обратится к этой области памяти, аппаратные точки прерывания сработают — «гонка» выявлена.
  • Убираем аппаратные точки прерывания, затем даём возможность той инструкции, для которой выше сработала ПТП, выполняться дальше.

Разумеется, «дьявол — в деталях» и реализовать такой алгоритм на практике оказалось очень и очень непросто. Не зря работа над RaceHound ведётся с лета 2012 года.

По сравнению с предыдущими версиями (0.x), в версии 1.0 наши специалисты существенно переработали основные компоненты RaceHound. Раньше можно было использовать его только для одного выбранного модуля ядра. Теперь же — для произвольного кода как в самом ядре, так и в модулях, для любого участка кода, куда можно поставить программную точку прерывания.

Кстати, при подготовке этой версии была найдена и исправлена ошибка в механизме работы с точками прерывания (точнее, с т. н. Kprobes) в самом ядре. Исправление должно войти в версию ядра 4.1.

Фотографии устройств в базе оборудования

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

Теперь при создании пробы компьютера вы можете дополнительно передать его фотографию или фотографии отдельных устройств (видеокарты, материнские платы, принтеры и т.д.) и мы непременно добавим их в базу. Сделать это можно в специальной теме на нашем форуме или в социальной сети ВКонтакте. Загружайте только сделанные вами лично фотографии.

Фотография устройства будет отображаться только на странице этого устройства (пример: диск SanDisk SSD U110 16GB). Фотография же компьютера будет отображаться не только на странице этого компьютера, но и во всех его пробах (пример: ноутбук ASUS A3L).


HardwareDB Images.jpg

Массовое тестирование WiFi карт

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

Изначально тестирование было начато еще на старой платформе R3 и затем продолжено на R5. Большую часть карт составляли карты формфактора Mini PCI-E и Mini PCI-E Half-Size, но был и десяток старых Mini PCI. После классификации и выявления дубликатов был составлен каталог из 69 различных моделей карт. Производителями карт были: Atheros (30), Broadcom (21), Realtek (9), Intel (6) и Ralink (3). Тестирование производилось на двух наших тестовых стендах (1, 2) с помощью специальных переходников для таких карт на порты PCI-E и PCI соответственно.

Надо понимать, что 69 протестированных карт - это несколько сот (а может и тысяч) охваченных моделей ноутбуков, в которых эти карты используются, так как одна и та же карта может использоваться в нескольких десятках разных ноутбуков различных производителей.

В результате тестирования было выявлено и исправлено с десяток проблем. Все проблемные карты были отмечены в нашей базе данных оборудования. Большой вклад в тестирование WiFi карт внесли и наши пользователи, которые сделали пробы своих компьютеров. Ими было протестировано еще 165 различных моделей карт.

Самая популярный производитель WiFi карт на компьютерах наших пользователей — Atheros (AR9285 и AR9485). За ними идут, по убыванию популярности, Broadcom, Intel, Realtek и Ralink. Самые беспроблемные карты — Atheros и Intel. Больше всего проблем было выявлено с картами Broadcom. Для некоторых карт Realtek (например, RTL8723BE) нужно обновить ядро.

Найти нужную WiFi карту или любое другое интересующее вас устройство и посмотреть его статус поддержки можно с помощью поиска. Но лучше сделать пробу вашего компьютера и перейти на страницу карты из списка устройств в пробе. Так заодно можно проверить и другие устройства на компьютере.

Точка Росы №10



Пришло время для очередного дайджеста «Точки РОСЫ», ведь с момента предыдущего прошел уже год.

Да, в прошлом выпуске мы спрашивали, с какой периодичностью выпускать наш журнал-дайджест, и там лидировали варианты «еженедельно» и «ежемесячно». Но, понятное дело, это неразумно — ведь за неделю у нас может и вовсе не быть ни одной новости, хотя может и несколько — ну для этого у нас есть и этот блог, на который можно подписаться и классически — по RSS/Atom, или через социальные сети — VK, FB, недавно заведенная официальная страница компании в G+ и давно самозародившееся неофициальное сообщество в G+.

А дайджесты и PDF-сборки статей интересны наверное тем, кто не сильно заинтересован в нашей работе, но изредка готов, без лишних переходов по гиперссылкам, возможно даже от отчаяния (интернета нет, но есть недочитанный PDF-файл), полистать его, чтобы ознакомится с нашей работой, и сложно сказать, с какой частотой их надо выпускать… но наверняка, о должен содержать не меньше десятка статей, с другой стороны, если больше ста страниц, то наверняка уже можно.

Исторически, именно PDF-файлами мы начинали публиковать «Точку Росы» на опеннете и ЛОРе, но с публикацией в там есть некоторые проблемы: почему-то начинается обсуждение, касающееся чего угодно — обложки, личного мнения о сотрудниках и нашей работе, о политике… обо всем, кроме собственно, содержания. Поэтому мы там точно не очень хотим там часто «светиться», чтобы не надоедать, и не раздражать собравшуюся публику.

Впрочем, наверно надо разделять вопрос о нужности PDF-дайджестов и публикации на ЛОР и opennet. Наверное, надо спросить именно об этом:

Нужно ли публиковать изредка (год/полгода) сборки «Точки РОСЫ» на LORe

Да, публикуйте на LORе.244
82%
Все равно38
13%
Нет, я не хочу видеть «Точку Росы» на LORe17
6%


Нужно ли публиковать изредка (год/полгода) сборки «Точки РОСЫ» на OpenNet-е.

Да, публикуйте на OpenNet.184
86%
Все равно23
11%
Нет, я не хочу видеть «Точку Росы» на OpenNet.8
4%

Итак, перейдем собственно к журналу. Как обычно, это будет и вебжурнал в формате «подборка статей с обложкой», так и так и в олдскульном PDF-файле c сотней страниц.

В любом случае — «многобукф», 250K знаков, почти две сотни страниц.

Итак, в десятом выпуске «Точки РОСЫ»:

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

Rex - управляем множеством машин с помощью SSH и Perl

Rex-logo.png

В статье про групповые политики для Chromium в Linux мы упомянули, что json-файлы с политиками Chromium можно распространить по большому количеству машин с помощью программ управления конфигурацией типа Puppet или CFEngine. Но многие сисадмины считают эти программы слишком монструозными для подобных задач и предпочитают раздачу файлов по старому доброму SSH. Однако чтобы раздать файл множеству машин, придется уже написать небольшой скрипт на Shell. А поскольку раздача файлов — явно не единственная задача, которую захочется выполнить таким образом, то со временем у вас накопится куча Shell-скриптов, которая имеет тенденцию превращаться в свалку.

К счастью, имеются инструменты для более изящного использования SSH при выполнении задач на всех подвластных машинах. Одно из таких средств — это Rex. Никаких агентов на клиентских машинах, никаких сложных настроек — просто скрипты, выполняющие задаче на множестве компьютеров. Скрипты пишутся на языке Perl, но знать этот язык для выполнения большинства операций не обязательно. Rex предоставляет богатую библиотеку функций для выполнения типичных задач (копирования файлов, получения информации о системе и так далее), так что обычно скрипты умещаются в десяток строчек.

В этом году Rex перевалил за версию 1.0 и считается теперь вполне стабильным и надежным. А начиная с релиза 0.55.0, Rex официально поддерживает РОСУ (не без нашей помощи — в свое время мы делали обзор Rex для журнала «Системный администратор», было бы странно при этом не добавить в Rex поддержку наших дистрибутивов).

В ROSA Desktop Fresh пакет Rex уже есть в репозиториях и можно его установить через urpmi:

# urpmi Rex

А самую свежую версию всегда можно установить с сайта разработчика в одну команду:

# curl -L get.rexify.org | perl - --sudo -n Rex

Для совсем простых задач можно даже не писать скрипты, а командовать Rex прямо из консоли. Например, вот так можно скопировать файл test_policy.json в директорию /etc/chromium/policies/managed на машинах с именами client0, client1, … client10:

# rex -H client[0..10] -e 'upload "test_policy.json", "/etc/chromium/policies/managed"'

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

Можно описывать задачи в скриптах. Например, создадим файл следующего содержания и назовем его Rexfile (Rex по умолчанию ищет файл с таким именем в текущей директории, так что можно его не указывать в параметрах вызова):

 user "your_user";
 password "your_password";
 
 task "get_os", "localhost", sub {
    say get_operating_system();
 };

Здесь мы определили задачу get_os, которая будет выполняться на нашей локальной машине («localhost») и будет печатать нам имя операционной системы. В начале файлы необходимо задать имя и пароль (либо ключ) для доступа к целевым машинам.

Теперь запустим Rex, приказав ему выполнить задачу get_os (и подавив вывод излишней информации с помощью опции -q):

$ rex -q get_os
RosaDesktopEnterprise

Как видим, в качестве имени ОС Rex извлек значение DISTRIB_ID из файла /etc/lsb-release (которое также можно получить, выполнив команду lsb_release -i).

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

ROSA Enterprise Desktop X2

Rosa-logo-rgb.png

Представляем ROSA Enterprise Desktop X2 — новую версию операционной системы для корпоративного сектора. В состав дистрибутива входит прикладное программное обеспечение, решающее большинство типовых задач: многофункциональный офисный пакет, интернет-браузер, программы для работы с электронной почтой, обмена мгновенными сообщениями, просмотра и редактирования аудио- и видеофайлов и многое другое.

Дистрибутив основан на ROSA Desktop Fresh KDE, но предоставляет дополнительные гарантии стабильности — обновления, не являющиеся исправлениями уязвимостей и критических ошибок, попадают в ROSA Enterprise Desktop X2 только после тщательного тестирования и «обкатки» в ROSA Desktop Fresh.

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

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

Приглашаем на ProfsoUX-2015 в Питере

ProfsoUX-logo.png

В ближайшую субботу в Питере пройдет ProfsoUX-2015 — динамичная конференция по юзабилити, UX (User eXperience), всем остальным смежным темам — проектной и продуктовой аналитике, тестированию и геймификации использования, крутым инструментам и эффективным процессам для всего этого.

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

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

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

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


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


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

Мы, команда «РОСы», традиционно выступаем информационным партнером, снимаем видео докладов и публикуем обзоры конференции, так что если вы почему-то не в курсе — немедленно читайте:

или сразу смотрите записи 2014 и 2013 годов.

Ну или хотя бы просмотрите пару-минутный ролик:

Видео в HD-качестве, смотрите в полноэкранном режиме.

HTML-код включения <iframe src="http://player.vimeo.com/video/90816889?byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>

Скачать → на странице видео на vimeo, кнопка «Download»


Что же касается нас, то от «НТЦ ИТ РОСА» будет несколько сотрудников UX Team, будет Стас Фомин — и нас тоже можно отловить нас можно отловить, и поговорить про развитие наших дистрибутивов и продуктов.

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

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


Update
Конференция прошла на ура, отличные доклады, дружелюбная атмосфера, wish you were here.

Мы уже обработали и опубликовали видео.

Вот обзорный ролик на пару минут:

Видео в HD-качестве, смотрите в полноэкранном режиме.

HTML-код включения <iframe src="http://player.vimeo.com/video/126241411?byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>

Скачать → на странице видео на vimeo, кнопка «Download»

А семь часов видеозаписей докладов — тут.

«НТЦ ИТ РОСА» 22 апреля на конференции «IT-fresh. Свежий взгляд на решение бизнес-задач»

На конференции «НТЦ ИТ РОСА» представит собственные программные решения для различных типов оборудования и продемонстрирует их работу в виртуальной среде.

IT-Fresh-2015-logo.jpg

IT-fresh — это яркое событие для ИТ-рынка Москвы, призванное познакомить Вас с российскими и зарубежными разработчиками программного обеспечения, чьи решения и технологии набирают популярность и станут стандартами уже в ближайшее время. Организатором мероприятия выступает компания «Аксофт».

Темы конференции:

  • Азиатский взгляд на российский рынок СУБД.
  • Роль и возможности свободного ПО в корпоративном сегменте.
  • Все о web-приложениях — от разработки и интеграции до защиты и администрирования.
  • Какие изменения и тенденции? Новые вендоры: готов ли рынок и игроки меняться в условиях кризиса?
  • Новые направления в ИТ и тенденции их развития в ближайшие несколько лет.

Участникам IT-fresh известный российский разработчик представит ROSA Enterprise Desktop (RED) и ROSA Enterprise Linux Server (RELS), предназначенные для оснащения рабочих мест и серверов без специальных требований по информационной безопасности. Доработка, обновление и поддержка этих продуктов ведется на территории РФ и не зависит от зарубежных поставщиков, позволяя использовать их для импортозамещения и обеспечения технологической независимости получаемых на их основе решений.

ROSA Enterprise Desktop (RED) — операционная система для рабочих станций. Дистрибутив основан на независимой кодовой базе, прошедшей сборку в среде полного цикла ROSA ABF. Система построена по принципу «одна задача» — «одно приложение» и рекомендуется к применению в корпоративной среде. Включает из коробки" полный набор приложений для того, чтобы начать работу сразу после установки: почтовый клиент, браузер, офисный пакет, клиент быстрого обмена сообщениями.

ROSA Enterprise Linux Server (RELS) — операционная система для построения серверных решений. RELS совместим с популярными свободными и коммерческими приложениями уровня предприятия, в том числе на бинарном уровне. В основу RELS положены исходные тексты Enterprise Linux и Mandriva, дополненные фирменными инструментами для развёртывания частных облаков, а также для централизованного управления сетевыми ресурсами, разработанными «НТЦ ИТ РОСА». Является полностью открытым программным обеспечением, включает поддержку серверных аппаратных платформ и систем хранения, защищен от внешних угроз. При создании решения разработчиками учитывался опыт многолетней эксплуатации аналогичных открытых решений в Европе.

ROSA Enterprise Desktop (RED) и ROSA Enterprise Linux Server (RELS) технологически совместимы с сертифицированными продуктами производства ООО «НТЦ ИТ РОСА», что позволяет при необходимости повышать уровень защищенности путем легкой миграции на сертифицированные решения, а также строить инфраструктуру с разными контурами безопасности.

Подробнее о мероприятии

Приглашаем на ROSS 2015 — Russian Open Source Summit

ROSS-2014.jpg

Приглашаем посетить экспозицию «НТЦ ИТ РОСА» в рамках ROSS 2015.

Организатором Саммита традиционно выступает ведущий ИТ-еженедельник PC Week/RE. Ожидается, что в работе ROSS 2015 примут участие порядка 400 руководителей и специалистов из коммерческих компаний разных отраслей и госорганизаций.

ROSS 2015 призван осветить качественно новую роль Open Source как основного движителя развития современных информационных технологий в эпоху облаков, мобильности и социальных сетей.

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

В качестве ярких примеров здесь можно привести Open Source проекты облачной операционной платформы OpenStack, программно-определяемых сетей (SDN), контейнерных технологий автоматизации развёртывания и управления приложениями в среде виртуализации (Docker, Rocket и др.).

Другим фокусом конференции станет анализ ситуации в области Open Source в России. Будут представлены новые отечественные открытые проекты, показана роль отечественных разработчиков в международных Open Source проектах.

«НТЦ ИТ РОСА» поделится опытом внедрения СПО в российских организациях.

Одной из ключевых тем станет обсуждение роли Open Source как механизма эффективного импортозамещения информационных технологий в условиях западных санкций и оптимизации корпоративного ИТ-бюджета.

В программе форума — доклады экспертов «НТЦ ИТ РОСА», консультирование и демонстрация защищенных программных продуктов российского производства.

На пленарном заседании представители органов государственной власти, ответственные за информатизацию, представят свои оценки состояния дел и перспектив государственной подержки Open Source. Ассоциация РАСПО представит новое коллективное видение сообщества отечественных компаний, занимающихся разработкой Open Source решений и их внедрением, путей развития Open Source в России.

Президент и генеральный конструктор «НТЦ ИТ РОСА» выступит с докладом на тему: «Технологическая независимость и международная кооперация: совместить нельзя изолироваться». В докладе будут раскрыты примеры организации крупных международных проектов разработки ПО по открытой модели «разделяемые затраты, общий результат» с анализом преимуществ и рисков, которые получают участники с различных точек зрения — технологической, финансовой, ресурсной, политической и др. В качестве основного вопроса будет рассмотрена возможность одновременного совмещения технологической независимости страны с международной кооперацией - как в рамках открытых проектов, так и с компаниями-производителями закрытых западных продуктов. Отдельно будет представлена на обсуждение идея Минсвязи по созданию «Российского фонда развития программного обеспечения» со схожей предполагаемой моделью работы.

ROSS 2015 состоится в Event-холле «ИнфоПространство» по адресу: г. Москва, 1-й Зачатьевский пер., д. 4, м. Кропоткинская, м. Парк Культуры. (См. схему проезда).

Начало регистрации — 9:30, начало конференции — 10:00, окончание — 18:00.

Для специалистов участие бесплатное при условии подтверждения от Оргкомитета. Регистрация на мероприятие: http://www.pcweek.ru/foss/conference/registration/


Если вы никогда раньше не были на ROSS, предлагаем вам наши обзоры прошлогодних ROSSов: 2013, 2014 и видеозаписи в нашей медиатеке: ROSS-2013, ROSS-2014.

Наш Pkgdiff используется на fossies.org

Недавно в популярном проекте Fossies.org начали использовать наш инструмент Pkgdiff для массового анализа изменений в исходных кодах тысяч (!) пакетов. На главной странице теперь есть раздел Fossies Diffs. Список проанализированных пакетов можно найти по ссылке.

Инструмент Pkgdiff был разработан в 2011 году для классификации и контроля изменений в пакетах при разработке дистрибутивов РОСЫ. В 2012 году после продолжительного внутреннего тестирования исходный код был открыт для сообщества и приобрел заметную популярность. Ранее среди известных проектов, использовавших этот инструмент, были Glibc и Stellarium.org.

В РОСЕ инструмент используется не только мэйнтейнерами пакетов, но и в нашем популярном сервисе Linux Upstream Tracker для визуального просмотра изменений в пакетах некоторых библиотек (например, OpenSSL).


Fossies-1.1.png


На странице каждого пакета теперь есть ссылка на отчеты Pkgdiff ("Diffs report") рядом с отчетами Doxygen:

Fossies-9.1.png


Список отчетов, к примеру, пакета mesa:

Fossies-4.png


Отчеты pkgdiff для mesa, классификация файлов пакета:

Fossies-7.png


Списки файлов в разных классах и коэффициенты изменений:

Fossies-6.png


Визуализация изменений (с помощью wdiff, rfcdiff):

Fossies-10.png

Новая версия HW Probe Tool 0.9

Мы выпустили новую версию 0.9 инструмента HW Probe Tool (пакет hw-probe) для сбора логов и характеристик компьютеров пользователей. С помощью этого инструмента пополняется база данных оборудования РОСЫ.

Новый пакет уже доступен в репозиториях и может быть обновлен командой:

   sudo urpmi.update -a
   sudo urpmi hw-probe

В инструменте произошло 3 главных изменения.

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

Аналог групповых политик для Chromium в Linux

Традиционно большинство приложений в Linux имеют два уровня настроек — системный и пользовательский. Системные настройки обычно размещаются в директории /etc; они задаются администратором на подконтрольных ему машинах либо приходят вместе с пакетами дистрибутива. Если пользователю эти настройки не подходят, он их изменяет (обычно с помощью самого приложения). Измененные настройки сохраняются в его домашний каталог, не влияя на других пользователей машины. При этом пользовательские настройки обладают более высоким приоритетом, чем системные — исходя из того, что пользователю лучше знать, что ему нужно, а Linux — дружелюбная пользователю ОС (старается ей быть, по крайней мере).

Однако бывают ситуации, когда пользователю надо «дать по рукам» и запретить менять некоторые настройки. Такие ситуации могут возникнуть и на домашней машине (например, если дети добрались до компьютера), а уж в корпоративном секторе — это дело обычное. Причем корпоративным регламентом могут быть охвачены вполне безобидные, на первый взгляд, параметры — домашняя страница браузера или используемая им по умолчанию поисковая система.

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

По большому счету, это и не нужно для низкоуровневых системных настроек, которые может изменять только администратор — например, набора подключенных репозиториев дистрибутива, используемых DNS-серверов и тому подобного. Но что делать с приложениями, системные настройки которых пользователь может переопределить своими собственными? Есть и здесь свет в конце тоннеля. По крайней мере, для отдельных программ, разработчики которых в курсе потребностей корпоративного сектора и знают, что там используются ОС не только от MS. И хороший пример здесь — браузер Chromium. Пример выше с настройками веб-браузера приведен не зря — в случае с Chromium, параметры такого рода можно намертво зафиксировать на уровне системы так, что пользователи не смогут их перебить.

Реализована такая возможность в Chromium очень просто — здесь предусмотрен системный файл настроек, данные из которго имеют приоритет выше, чем настройки пользователя. По сложившейся терминологии, такие настройки называют «политиками». Политики Chromium описываются файлами формата json, находящимися в директории /etc/chromium/policies. Политики делятся на обязательные (лежат в папке /etc/chromium/policies/managed) и рекомендуемые (/etc/chromium/policies/recommended соответсвенно). Рекомендуемые политики — это практически обычные системные настройки, которые пользователь может переопределять. А вот обязательные политики — это то, что нам нужно.

Для примера давайте зададим что-нибудь — например, список сайтов, которые Chromium должен блокировать. Все действия нужно производить с правами root; также не забывайте следить, чтобы у обычных пользователей не было прав на запись в создаваемые файлы.

Для начала, создадим нужную папку, если ее еще нет:

# mkdir -p /etc/chromium/policies/managed

А внутри нее создадим файл test_policy.json со следующим содержимым:

{
  "URLBlacklist": ["example.com", "enemy-site.com"],
}

А теперь закройте Chromium, если он уже работает, запустите его снова и попробуйте перейти на сайт example.com.

Chrome block.png

Всего через политики можно задать почти три сотни различных настроек, полный список которых можно найти на сайте Chromium. Также Google предоставляет архив с шаблонами политик, куда входит и json-файл для Linux с аннотированными именами политик и их возможными значениеями.

Список политик, используемых в данный момент броузером, можно получить по ссылке chrome://policy.

Как и прочие файлы конфигурации, json-файлы с политиками Chromium можно распространить по папкам /etc/chromium/policies целого парка машин с помощью Puppet, CFEngine и подобных программ управления конфигурацией.


Chromium — не единственный пример приложения, поддерживающий системные настройки, которые не могут быть переопределены пользователем. Например, OpenOffice уже много лет поддерживает такой функционал. Правда, там разработчики пошли немного другим путем и добавили возможность для каждой опции в системном конфигурационном файле указать атрибут finalized, который и означает, что значение «окончательное и переопределению не подлежит». В случае OOo такой подход вполне логичен — файлы конфигурации Open/LibreOffice (с расширением «.xcu») имеют формат XML, где каждое свойство задается отдельным элементом. Наличие дополнительного атрибута элемента в такую архитектуру хорошо вписывается. Правда, редактировать XML-файлы вручную — то еще удовольствие. На FOSDEM 2014 разработчики из Collabora демонстрировали на слайдах графическую программу для редактирования файла настроек LibreOffice, а заодно и инструмент RemoteRoot для удаленного управления множеством машин (в частности, для доставки на них пакетов и конфигураций LO) — еще одно приложение из серии Puppet & co. Однако пока что многие из представленных там возможностей можно посмотреть только в рамках слайдов. Так, на сайте «remoteroot.org» в разделе «Downloads» уже второй год красуется сообщение «Very soon, please be patient!».