+7 499 990-10-21

пакет для ДЭНСИ КАССА на ArchLinux

пакет для ДЭНСИ КАССА на ArchLinux

Сообщение oldbay » 10 апр 2012, 18:02

Добрый день.
На основе бинарных сборок с диска ftp://ftp.dnc.ru/DNC_KASSA_1.2.6.patch5.iso был сделан пакет для установки ДЭНСИ КАССА на ArchLinux.
Сценарий для сборки пакета расположен на AUR http://aur.archlinux.org/packages.php?ID=58361

Способы установки:

Самостоятельная сборка и установка
1)установить инструментарий для сборки пакетов из сценариев PKGBUILD:
Код: Выделить всё
# pacman -S fakeroot

2)Скачать и распаковать в произвольный каталог сценарий сборки и запустить сам процесс сборки:
Код: Выделить всё
$ wget -c http://aur.archlinux.org/packages/dn/dnc-kassa/dnc-kassa.tar.gz
$ cd dnc-kassa
$ makepkg

3)В результате сборки в каталоге dnc-kassa - должен собраться пакет dnc-kassa-1.2.6-5-i686.pkg.tar.xz, нужно установить его в систему:
Код: Выделить всё
# pacman -U dnc-kassa-1.2.6-5-i686.pkg.tar.xz


установка пакета напрямую из AUR при помощи yaourt-а
1) Установка настройка и работа yaourt хорошо описана здесь: https://wiki.archlinux.org/index.php/Yaourt_(Русский)
2) Установка пакета ДЭНСИ Касса
Код: Выделить всё
# yaourt -S dnc-kassa


offtop:
С установкой пакета есть одно неудобство - для того чтобы поставить последнюю сборку 1.2.6.patch6, для сборки пакета приходится качать весь большой образ диска в месте с мандривой 706 Мб(хотя весь устанавливаемый потом софт вести 7 Мб :)) - более легкие архивы свежей сборки я, к сожалению, не нашел :(


Пакет самодостаточный: - после установки пакетным менеджером - автоматически производятся следующие действия:
*создается пользователь kassir и заводится во все необходимые группы для работы с оборудованием:tty, lp, uucp, optical, floppy, storage, scanner
*поднимается демон PostgreSQL(ставится по зависимости), после чего в нем создается пользователь kassir и все необходимые БД(если пользователь и БД уже есть повторного создание не производится)

Для работы с программой нужно запустить демон кассы /etc/rc.d/dnc-server start либо прописать автозапуск dnc-server в /rtc/rc.conf в строчке DAEMONS=(), но обязательно только после запуска postgresql

Кроме того в пакет добавлен скрипт генерации пользователей и БД PostgreSQL для ДЭНСИ Кассы: dnc-createdb. В случае полного или частичного удаления базы данных, при помощи:
Код: Выделить всё
# dnc_createdb

можно заново установить пользователя БД и сами БД для программы(имеющиеся в наличии элементы будут скриптом проигнорированы)

Запуск POS можно производить либо из терминала(или включать в коммандные сценарии):
Код: Выделить всё
$ reshka

либо из меню пуск - во вкладки "прочие" должна появится десктопная ссылка "Densy-kassa"

В остальном работа не отличается от других дистрибутивов.

п.с(объяснительное):
Попробую пояснить зачем нужен был именно Arch :
Дело в том что мы уже более 3-х лет(с 2009 года) применяем сборки кассовых и диспетчерских станций на основе дистрибутива ArchLinux. Разработаны и постоянно совершенствуются и обновляются - 3 основных вида таких сборок: касса-справка, диспетчерская(в последнее время слилась с кассой), технолог. В основном сборка устанавливается с уже готового образа(разархивация + загрузчик) и универсальна по способу загрузки(дисковая станция, бездисковая станция, терминальный образ... способ загрузки и отображения насраивается в самом образе). Кроме того под каждый функционал есть метапакеты которые ставятся на свежеустановочный с диска или флешки ArchLinux превращая его в рабочую станцию с нужным функционалом(станция собирается зависимостями + устанавливаются скрипты автоматизации).
Данный дистрибутив по сути являясь конструкором имеет очень простую и удобную систему разработки и сборки пакетной базы(есть с чем сравнивать - имел опыт писания spec файлов :( ) + сама архитектура и система конфигурирования дистрибутива позволяет его очень гибко изменять под свои нужды.
Резюмирую:
Из явных плюсов:
*Удобство модификации и не перегруженность архитектуры дистрибутива
*Удобное и быстрое создание и модификация самосборных пакетов
*Огромный репозиторий сценариев сборки пакетов "AUR" (не на одном дистрибутиве такого не видел)
*быстрая настройка и сборка модифицированного проекта(у gentoo возможности модификации гораздо глубже - но сборка проекта долгая)
*rolling-release - не нужно глобально перестраивать инфраструктуру при смене релиза - пакетная база актуальна в любую единицу времени.

Из минусов могу отметить:
*только 2 официально поддерживаемые архитектуры (i686 и x86_64), правда есть еще проект для развития ARM пакетной базы.
*rolling-release не только полезен но иногда и вреден - поспешное обновление может навредить отлаженному образу рабочей станции. Поэтому эксплуатируем 2 варианта рабочий и находящийся в тестировании.

п.с.с(плановое):
Эта можно сказать проба пера в работе с ДЭНСИ Кассой. В данный момент гоняем тесты на наших фискалках Прим-08ТК, еще интересуют сканеры штрих-кода и взаимодействие с платежными системами(предприятие автовокзал) = тестов пока не производили, пока нет оборудования. Если с тестами все срастется, есть планы:
*модификация POS под наши нужды(продажа билетов отличается от работы классической торговой точки), пока собрать на арчах из исходников не удалось - очень дистроспецифичные скрипты сборки
*Создание системы интеграции с вокзальским АСУ
*Создание наших сборок и метопакетов с ДЭНСИ Касса(если сделаем - жилить не буду выложу ссылки ... на метапакеты то точно :) )

п.с.с.с(мажорное :)):
Уважаемые разработчики ДЭНСИ Касса - честно, давно знал о проекте, но не было времени и возможности его посмотреть(к тому же наши ПРИМ-ы стали поддерживаться относительно недавно :) ).
По хорошему удивлен(первое впечатление :) ) по количеству и возможностям настройки поддерживаемой торговой техники, да и качество самой POS весьма неплохое + есть толковая документация как для кассира, администратора, таки и для технолога-аникейщика.
Интересный продукт - так держать :)

UPD:
Изменил версию пакета в AUR - теперь загрузка производится с https://github.com/oldbay/dnc_kassa около 20 Мб
Большая часть бинарников и библиотек собирается в родной среде из исходников.
Замечено некоторое повышение производительности - хотя и раньше программа совсем не тормозила :)
Последний раз редактировалось oldbay 17 май 2012, 19:07, всего редактировалось 4 раз(а).
oldbay
 
Постов: 28
Зарегистрирован: 10 апр 2012, 04:05

Re: пакет для ДЭНСИ КАССА на ArchLinux

Сообщение Alexander » 10 апр 2012, 18:47

Спасибо! :D
Очень интересная и полезная информация.
По поводу сборки пакета - чтобы не качать полный образ диска, его можно смонтировать прямо по FTP и скопировать с него только то, что нужно.
Плюс можно воспользоваться диском обновления той же сборки, т.к. он содержит бинарники и библиотеки всего проекта.

P.S. Если по результатам тестирования примете решение о внедрении, как минимум один бесплатный ключ активации Вам обеспечен ;)
Alexander
 
Постов: 4959
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: пакет для ДЭНСИ КАССА на ArchLinux

Сообщение oldbay » 10 апр 2012, 19:16

Alexander писал(а):По поводу сборки пакета - чтобы не качать полный образ диска, его можно смонтировать прямо по FTP и скопировать с него только то, что нужно.

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

Alexander писал(а):Плюс можно воспользоваться диском обновления той же сборки, т.к. он содержит бинарники и библиотеки всего проекта.

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

Alexander писал(а):P.S. Если по результатам тестирования примете решение о внедрении, как минимум один бесплатный ключ активации Вам обеспечен ;)

1000 руб для активации кассы - небольшая сумма для предприятия, думаю оно не обеднеет, а мне на благое дело тем более не жалко. :)
Ключ, в идеале, может понадобится для проверки самой процедуры активации - в любом случае и ее тоже проверить необходимо.
oldbay
 
Постов: 28
Зарегистрирован: 10 апр 2012, 04:05

Re: пакет для ДЭНСИ КАССА на ArchLinux

Сообщение oldbay » 12 апр 2012, 19:23

oldbay писал(а):
Alexander писал(а):Плюс можно воспользоваться диском обновления той же сборки, т.к. он содержит бинарники и библиотеки всего проекта.

Интересно - обязательно посмотрю диск обновления.

посмотрел - в принципе все есть. Отсутсвует:
*конфиги из ./etc/dancy/* и ./hwsrv/* устоновочного диска
*ceate_tables.sql и insert_dara.sql для БД LinCash и Transaction (для dnc_eds есть)

в принципе это можно доложить и в каталог сценария сборки, но есть и другие соображения:
В установочном диске есть исходники части проекта(которые всетаки собираюсь собрать) - нам все равно придется корректировать POS под наши нужды. Есть еще ряд "плюшек" и "пасхалок" в виде дополнительных драйверов, документации и конфигураций = многое из этого тоже планирую положить в пакет. Так что выбор остался изначальным - установочный диск(хотя и здоровый по размеру).

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

Пришли к другому решению.
Вместо стандартного обновления - использовать дистроспецифичное для арча. Потому дождусь новой версии установочного диска - и продумаю механизм обновления используя пакетный менеджер ArchLinux-а и модифицирую скрипт createdb не только для создания но и для обновления базы данных.
oldbay
 
Постов: 28
Зарегистрирован: 10 апр 2012, 04:05

Re: пакет для ДЭНСИ КАССА на ArchLinux

Сообщение oldbay » 02 май 2012, 18:23

Alexander писал(а):По поводу сборки пакета - чтобы не качать полный образ диска, его можно смонтировать прямо по FTP и скопировать с него только то, что нужно.


Вернулся к этому вопросу.
В принципе получилась следующая схема:
ftp ресурс монтируется через fuse файловую систему curlftpfs - что не требует прав суперпользователя(это необходимо для сборки пакета).
После чего из образа диска выложенного на ftp(и теперь примонтированного) - при помощи 7zip забирается каталог dnc_kassa в каталог сборки пакета.

преимущество метода:
меньше трафика и меньше времени на скачку(хотя все равно выгрузка и разпаковка каталога размером 44 Мб заняла около 30 минут - на канале 1 Мбит/сек)

недостаток метода:
если канал нестабилен - то поведение данной связки тоже будет весьма нестабильным(вообще не люблю монтировать что либо из интернета ... легко нарваться на "пляски с бубном" после таймаута на протоколе)
oldbay
 
Постов: 28
Зарегистрирован: 10 апр 2012, 04:05


Вернуться в Установка ДЭНСИ: КАССы на разные дистрибутивы Linux

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (180) здесь было 29 апр 2024, 13:15

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1