Официальный форум СВД Встраиваемые Системы
30 Апрель, 2025, 05:52:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: xtall -- утилита установки и удаления ПО из архивов  (Прочитано 5654 раз)
Олег Большаков
Легенда

Сообщений: 3140



« : 15 Май, 2010, 21:31:11 »

Утилита установки и удаления ПО из архивов

Так получилось, что штатных менеджеров пакетов в QNX не существует... Это, конечно, не совсем так. Smiley Для QNX4 есть tarx пакеты и утилита install с помощью которой можно устанавливать как просто архивы tar, так и сжатые разными компрессорами (freeze, gzip). В тоже время, в QNX Neutrino существует менеджер пакетов QPR и система пакетов pkgsrc. Однако, все эти методы работы с пакетами имеют следующие недостатки:

1. Пакеты tarx имеют закрытый формат и могут быть созданы только сотрудниками фирмы QSS. Также отсутствует возможность установки таких пакетов из консоли.

2. Утилита /etc/install не поддерживает функцию удаления установленных пакетов, что иногда бывает неудобно.

3. Менеджер пакетов QPR программа qnxinstall не входит в стандартную поставку QNX6 начиная с версии 6.4.0. И также отсутствует возможность работы с пакетами в командной строке.

4. Система pkgsrc поддерживается современными версиями QNX6. Однако, подготовка пакета, который не входит в коллекцию исходных кодов pkgsr может быть затруднительна.

В тоже время, часто дистрибутивы для QNX6 (да и QNX4) представляют собой просто tar.gz или tar.bz2 архивы. Вполне может быть, это связано с тем, что существующие средства управления пакетами обладают недостатками.

В рамках объективной реальности и с учётом недостатков, существующих на данный момент систем управления пакетами, была разработана утилита установки и удаления пакетов xtall. Утилита представляет собой сценарий korn shell (ksh). Набор утилит, которые требуются для работы скрипта минимален, так что вероятность работы в QNX4, QNX6 и других *nix системах очень высока. Smiley

Первая версия утилиты xtall поддерживает следующие возможности:

 - Установка архивов в форматах tar, tar.gz, tar.bz2, tar.F.
 - Удаление файлов, ранее установленных при помощи утилиты.

В ближайшее время планируется добавить следующий функционал:

 - Удаление файлов, основываясь на содержимом архива.
 - Поддержка функционала утилиты install для QNX4 (вывод сообщения перед установкой, вызов установочного скрипта)
 - Реализация функции вызова скрипта после установки
 - Поддержка архива zip

Будем рады замечаниям и пожеланиям по работе скрипта.


Описание работы сценария xtall

Синтаксис вызова команды:

Код:
# xtall [опции] <имя_архива>

Опции:

 -f    отмена вывода некоторых предупреждений и принудительное выполнение операций
 -h    вывод справки по работе с программой и завершение работы
 -i     установка (install) архива в систему (действие по умолчанию)
 -r    удаление (remove) файлов из ранее установленного архива
 -V    вывод информации о версии программы и завершение работы

Программа проверяет текущий путь и выводит предупреждении, если установка производится не в корневой директории. Этого можно избежать, если задать ключ -f. При установке файлов из архива, список установленных файлов сохраняется в каталоге /var/cache/xtall (или в /usr/xtall). В дальнейшем, при удалении пакета, будет использоваться этот список. При удалении ранее установленных файлов достаточно указать только часть названия архива (начиная с первого символа). Если в системе было установлено несколько архивов, названия которых начинаются одинаково, то программа выведет список установленных архивов и завершится.

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

Примеры вызова программы:

1. Установка файлов из архива.
Код:
# xtall program.tar.gz

2. Удаление ранее установленных файлов.
Код:
# xtall progr


Скачать xtall

xtall_100A_20100518.tar.gz

Контрольная сумма:
Код:
$ cksum xtall_100A_20100518.tar.gz
2434977237 10240 xtall_100A_20100518.tar.gz
« Последнее редактирование: 18 Май, 2010, 20:06:40 от Олег Большаков » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 17 Апрель, 2025, 15:35:56