'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №6 (87) том 2
  4. Научная статья № 207

Просмотры  56 просмотров

Брагина Е.А., Рунова В.В.

  


СБОРКА RPM-ПАКЕТА ДЛЯ АВТОМАТИЗАЦИИ СМЕНЫ РАСКЛАДКИ ТЕКСТА: ОТ ПОЛЬЗОВАТЕЛЬСКОГО СКРИПТА К СИСТЕМНОЙ УТИЛИТЕ *

  


Аннотация:
статья описывает процесс упаковки bash-скрипта для смены раскладки текста в RPM-пакет для ALT Linux. Рассматриваются этапы подготовки среды, создания spec-файла и сборки пакета.   

Ключевые слова:
скрипт, автоматизация, смена раскладки   


На сегодняшний день одной из ключевых задач в пользовательских и административных сценариях использования GNU/Linux является автоматизация взаимодействия с текстом. Несмотря на постоянное развитие систем управления вводом, проблема автоматической смены раскладки уже набранного текста не теряет свою актуальность. А именно, при ошибке выбора раскладки при наборе текста пользователям приходится удалять введённые фрагменты и вводить их повторно, что является плацдармом для поиска решений по автоматизации.В других операционных системах, таких как, Microsoft Windows и macOS, аналогичная задача решается с помощью специализированного программного обеспечения, широко известного Punto Switcher, который способен автоматически определять язык введённого текста и изменять раскладку без прямого участия пользователя. Благодаря удобству и простоте использования данное решение получило широкое распространение среди пользователей.Для GNU/Linux подобного специализированного программного обеспечения не имеется, однако похожие решения существуют в виде пользовательских скриптов, не упакованных в стандартные форматы распространения программного обеспечения. Это делает процессы установки, обновления и удаления более сложными, снижая доступность таких утилит для менее опытных пользователей. Создание RPM-пакета для скрипта смены раскладки позволяет устранить подобные ограничения и обеспечить интеграцию с системным менеджером пакетов, автоматическое разрешение зависимостей и единообразие установки.Особенно актуально это для дистрибутивов на базе ALT Linux, где сборка и распространение пакетов требует соблюдения конкретных стандартов и правил, описанных в официальном руководстве по платформе ALT [1].Таким образом, задача упаковки пользовательского скрипта для смены раскладки уже набранного текста в RPM-пакет остаётся научно и практически значимой. Данное исследование предлагает систематизировать процесс сборки и распространения подобного инструмента, повысив его доступность и воспроизводимость в GNU/Linux.RPM (Red Hat Package Manager) — формат и утилита для управления программным обеспечением, используемая в ALT Linux, Fedora, openSUSE и других дистрибутивах. RPM представляет собой формат пакетов, содержащих архив с файлами и метаинформацией: названием, версией и зависимостями. Существует два основных типа RPM-пакетов: исходный пакет (SRPM), используемый для сборки двоичных пакетов, и двоичный пакет, содержащий скомпилированные файлы и устанавливаемый непосредственно в систему [1].Spec-файл выполняет основную роль в процессе сборки, так как именно он определяет инструкции для подготовки, компиляции и установки пакета. Он содержит секции %prep, %build, %install, %files и %changelog, каждая из которых отвечает за определённый этап сборки.Для упрощения и стандартизации процесса сборки существуют специализированные инструменты Hasher и Gear. С их помощью обеспечивается изолированная среда для сборки пакетов, устанавливаются только необходимые зависимости, указанные в поле BuildRequires spec-файла, происходит интеграция с системой контроля версий Git, благодаря чему исходный код и spec-файлы хранятся в одном репозитории.Для установки необходимых инструментов можно использовать команду на bash: apt-get install rpm-build hasher gear. С помощью нее установятся все необходимые компоненты для сборки пакетов в ALT Linux.Тип исследования: прикладное инженерное исследование.Выборка: RPM-дистрибутив ALT Linux (VirtualBox-среда, пользовательский профиль).Сбор данных: создание каталожной структуры, написание spec-файла, тестирование сборки.Процесс сборки RPM-пакета включает следующие этапы:Подготовка исходного кода: Скачивание и распаковка исходного кода программы, которую предстоит упаковать в RPM-пакет [3].Установка необходимых инструментов.Для работы с RPM-пакетами в системе была произведена установка базовых утилит: rpm-build, rpmdevtools и зависимостей для сборки. Это позволило подготовить среду для создания и тестирования пакетов.Создание структуры каталогов для сборки RPM.С помощью утилиты rpmdev-setuptree была автоматически создана базовая директория ~/RPM со следующими подпапками:BUILD — для промежуточных файлов сборки,RPMS — для готовых бинарных RPM-пакетов,SOURCES — для исходных файлов (включая скрипты),SPECS — для файлов спецификации,SRPMS — для исходных RPM-пакетов.Размещение скрипта в директории SOURCES.Пользовательский bash-скрипт layout-switcher.sh, реализующий смену раскладки выделенного текста, был скопирован в каталог /home/user/RPM/SOURCES для последующего включения в пакет.Создание spec-файла.В каталоге /home/user/RPM/SPECS был создан файл layout-switcher.spec со следующими ключевыми параметрами:Рисунок 1. Файл спецификации RPM-пакета.Name — имя пакета,Version и Release — версия и номер релиза,Summary и Description — краткое и подробное описание назначения,Group — категория пакета,License — лицензия (MIT),URL — ссылка на исходный проект,Source0 — путь к скрипту,BuildArch — архитектура (noarch — пакет независим от архитектуры),Requires — зависимости (xsel, xdotool).Разделы %prep и %build оставлены пустыми, так как сборка не требуется. В разделе %install скрипт устанавливается в /usr/bin с правами на выполнение. В разделе %files указано содержимое пакета.Пример содержимого spec-файла был составлен согласно официальной документации и стандартам RPM [2].Сборка RPM-пакета.Командой rpmbuild -bb --define "_topdir /home/user/RPM" /home/user/RPM/SPECS/layout-switcher.spec была инициирована сборка пакета с использованием созданной структуры и spec-файла. В процессе сборки были учтены особенности работы с окружением и зависимостями.Проверка и установка пакета.После успешной сборки пакет был проверен с помощью команды: rpm -qlp /home/user/RPM/RPMS/noarch/layout-switcher-0.5.1-1.noarch.rpm.для подтверждения содержимого. Далее пакет был установлен в систему командой: sudo rpm -i /home/user/RPM/RPMS/noarch/layout-switcher-0.5.1-1.noarch.rpm.После установки утилита была интегрирована в пользовательское окружение, что подтвердило успешность процесса. Основой для сборки RPM-пакета послужил bash-скрипт версии 0.5.1, созданный для автоматической смены раскладки уже набранного и выделенного текста. Исходный код скрипта доступен на GitHub [3].Скрипт помещался в директорию SOURCES RPM-структуры и включался в пакет как исполняемый файл /usr/bin/layout-switcher. Для обеспечения корректной работы пакета в среде ALT Linux использовались рекомендации из официального руководства по платформе ALT Linux [1].В ходе исследования был успешно собран и протестирован RPM-пакет, содержащий пользовательский скрипт для смены раскладки текста. В состав установочного RPM-файла вошёл основной скрипт layout-switcher.Рисунок 2. Собранный RPM-пакет.Общие сведения о пакете:Имя пакета: layout-switcher,Версия: 0.5.1,Релиз: 1.Архитектура: noarch (Поскольку пакет содержит только скрипт, не требующий компиляции, он не зависит от архитектуры и может быть установлен на любых системах, поддерживающих RPM.)Лицензия: MIT (Открытая лицензия, позволяющая свободное распространение и модификацию пакета.)Назначение: реализация смены раскладки уже набранного текста, например, из латиницы в кириллицу, путём трансформации символов, согласно конкретной таблице соответствий.Таким образом, сборка RPM-пакета прошла успешно, так как пакет соответствует стандартам RPM и пригоден для установки на любой RPM-совместимой системе, скрипт, вошедший в RPM-пакет, выполняет поставленную задачу по преобразованию текста, а использование архитектуры noarch и MIT-лицензии делает пакет универсальным и пригодным для распространения.   


Полная версия статьи PDF

Номер журнала Вестник науки №6 (87) том 2

  


Ссылка для цитирования:

Брагина Е.А., Рунова В.В. СБОРКА RPM-ПАКЕТА ДЛЯ АВТОМАТИЗАЦИИ СМЕНЫ РАСКЛАДКИ ТЕКСТА: ОТ ПОЛЬЗОВАТЕЛЬСКОГО СКРИПТА К СИСТЕМНОЙ УТИЛИТЕ // Вестник науки №6 (87) том 2. С. 1611 - 1618. 2025 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/24083 (дата обращения: 08.07.2025 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/24083



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки © 2025.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.