+7 499 990-10-21

Установка на Ubuntu 12.04 Minimal с запуском демонов из rc.d

Установка на Ubuntu 12.04 Minimal с запуском демонов из rc.d

Сообщение vvshevelev » 21 апр 2012, 17:13

Установка ДК на Ubuntu 12.04 minimal cd
Качаем образ
http://archive.ubuntu.com/ubuntu/dists/ ... s/netboot/

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

Устанавливаем образ, при установке можно сразу установить POSTGRESQL

Создаем пользователя с именем kassir после установки попадаем в консольную UBUNTU без X

заходим как kassir
получаем рутовые права
$sudo -s
Вводим пароль

#usermod -a -G disk,dialout kassir
- Это чтобы потом не беспокоится о правах на устройства и диск

#apt-get update
Устанавливаем X icewm
#apt-get install nodm xinit icewm icewm-themes xserver-xorg-video-*
В файле /etc/default/nodm правим строки

Код: Выделить всё
............
NODM_ENABLED=true
# User to autologin for
NODM_USER=kassir
............


- Это чтобы автоматически входить под этим польхователем
#apt-get install zenity numlockx x11vnc qt3-config libqt3-mt postgresql-server
Это все нам понадобится для нормальной работы и установки ДК

Я еще устанавливаю эти пакеты
#apt-get install screen mc openvpn smbfs
- но это уже если нужно

Далее абсолютно стандартно устанавливаем ДК - viewtopic.php?f=25&t=230
Затем так же стандартно её обновляем - viewtopic.php?f=25&t=472

Особое внимание уделим запуску демонов выгрузки загрузки, и скрипта dnc_update
Для стабильной работы этого добра написал скрипт , помимо запуска сервисов, он еще делает симлинк с папки /var/log/dancy в /tmp/dancy - таким образом все логи теперь хранятся в папке /var/log/dancy, и что ВАЖНО не очищаются при перезагрузке.
Код: Выделить всё
#!/bin/sh
set -e

### BEGIN INIT INFO
# Provides:      dnc_daemons
# Required-Start:   $all
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:   5
# Default-Stop:      0 1 6
# Short-Description:   Runs dancy daemons (update, upload & unload daemons)
### END INIT INFO

start() {
       #chmod 777 /dev/ttyS*
       #chmod 777 /dev/ttyUSB*
       #chmod 777 /dev/ttyACM*
       chmod 644 `FindHardPath`
       /etc/init.d/postgresql status >> /tmp/dancy/startup
       sudo /usr/bin/dnc_update >> /tmp/dancy/dnc_update.log 2>&1
       sudo /usr/bin/upload > /tmp/dancy/upload_daemon.out &
       sudo /usr/bin/daemon_unload > /tmp/dancy/unload_daemon.out &
}
stop() {
       ps axu|grep "RMK"|grep -v "grep"|awk '{system("kill " $2)}'
       ps axu|grep "run_reshka"|grep -v "grep"|awk '{system("kill " $2)}'
       ps axu|grep "reshka"|grep -v "grep"|awk '{system("kill " $2)}'
       ps axu|grep "upload"|grep -v "grep"|awk '{system("kill " $2)}'
       ps axu|grep "daemon_unload"|grep -v "grep"|awk '{system("kill " $2)}'
       date >> /tmp/dancy/startup
       rm /tmp/dancy
}

case "$1" in
    start)
       start
        ;;
    stop)
       stop
        ;;
    restart)
       stop
       start
        ;;
    status)
    /etc/init.d/postgresql status
       ps axu|grep "upload"|grep -v "grep"
       ps axu|grep "daemon_unload"|grep -v "grep"
       ps axu|grep "run_reshka"|grep -v "grep"
       ps axu|grep "reshka"|grep -v "grep"
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac
exit 0


Этот скрипт гарантирует что демоны будут запускаться в самом конце 5 (те графического) уровня загрузки

Копируем этот скрипт в /etc/init.d
и выполняем
# update-rc.d dnc_daemons defaults
а в /etc/rc.local - все что добавил инсталятор ДК убираем.

-Теперь все стабильно запускается, архивируется ...

Еще доработки повышающие удобство работы
Файл /usr/bin/run_reshka - он запускает решку только 1 раз, и соответственноесли выбрать выйти из программы то мы увидим чистый экран, и чтобы запустить ДК, нужно либо мышь, либо горячие клавиши ...

Поэтому я делаю следующим образом - конец файла run_reshka
Приводим к виду

Код: Выделить всё
....
uname -a > $LOGNAME
while [ 1 ]; do
/usr/bin/reshka >> $LOGNAME
done


- теперь reshka запускается в цикле, - и на экране всегда какминимум открыто окно с авторизацией, для кассиров так намного понятнее, как показывает моя практика

Для удаленного доступа помимо ssh используем x11vnc запускается от из .icewm/startup а пароль устанавливаем командой
Код: Выделить всё
#x11vnc --storepasswd /home/.vnc/passwd
#chown -R root:root /home/.vnc
#chmod -R a+r /home/.vnc
#chmod a+x /home/.vnc

-Это чтобы чьи-нибудь шаловливые ручонки не напакастили

В /home/kassir/.icewm/startup
Добавляем следующее
Код: Выделить всё
numlockx on  # - Это чтобы NumLock был включен, это важно для корректной работы программируемых клавиатур
xset s 0             # - Это и след строка чтобы монитор не "тух"
xset -dpms      #
xrandr --output VGA1 --mode 800x600 # Устанавливаем нужно расширение экрана, здесь нужно указать правильное имя устройства вместо VGA1
#xrandr - просмотреть режимы ИДЕАЛЬНОЕ расширение для ДК 800x600
x11vnc -rfbport 5900 -rfbauth "/home/.vnc/passwd" -forever -bg -display :0 -o /var/log/x11vnc.log & # Это запускаем vnc чтобы удаленно потом могли подключаться
/usr/bin/gcalctool & # - Это калькулятор, он прописан в winoptions чтобы открывался на 2 workspace а чтобы кассир увидил его на клавиатуру добавляем клавишу переключения workspace. Калькулятор кассиры просят, мы нашли пока вот такое только решение
sleep 10&&/usr/bin/run_reshka & # Ну и собственно сама решка с небольшой задержкой на всяк случай

Все эти скрипты есть здесь http://narod.ru/disk/46784943001.06f0b5 ... r.bz2.html

Вообще было бы интересно услышать кто как решает проблему с КАЛЬКУЛЯТОРОМ, может быть есть более красиывае решения???

Из преимуществ такого подхода
1. Установлен необходимый минимум, поэтому дистрибутив очень легкий и быстрый
2. Образ Clonzill ы полученный таким образом, котрый мы используем для заливки касс весит около 700 метров, и заливается на новое РМК в течении 5 минут, те за 5 мин голый комп, с помощью 1 флэшки, и даже не очень продвинутого в ИТ человека (имея инструкцию с картинками - это сможет сделать практически любой человек котрый отличт калвиатуру от мыши), превращается в почти настроеное РМК, остается сеть, имя компа ..... причем все это тоже автоматизируется скриптами, если интересно могу выложить


* Из замеченных особенностей при версии DK < 1.2.6p6pre5 - в связке с ФР Fprint02k были замечены необъяснимые зависания процеса RMK это обсуждалось в этой ветке форума viewtopic.php?f=16&t=56 после обновления пока проблема не проявлялась.

Дополнения, критика, рекомендации приветствуются
vvshevelev
 
Постов: 30
Зарегистрирован: 13 фев 2012, 20:11

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение Rafta » 21 апр 2012, 18:30

vvshevelev писал(а):...имея инструкцию с картинками ... все это тоже автоматизируется скриптами, если интересно могу выложить

Огромное спасибо, конечно, выкладывайте скрипты, и если можно инструкцию с картинками.
Ubuntu 10.10 \ Дэнси-Касса 1.2.6.p.8\ 1С v7.7\ протокол обмена Атол\ Без ФР \ сканер Metrologic Orbit 7120
Аватара пользователя
Rafta
 
Постов: 263
Зарегистрирован: 29 апр 2011, 14:07

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение Rafta » 27 апр 2012, 20:15

Александр в теме http://dnc.ru/forum/viewtopic.php?f=25&t=492 писал
Кстати, в Ubuntu по умолчанию запускается какой-то сервис обнаружения модемов, который в COM и USB<->COM порты периодически шлет некоторую последовательность байт (вероятно, позволяющую обнаружить модем).
Но учитывая, что в Linux работа с файлами портов неблокирующая, эти байты могут попадать в разрыв реальной команды (хуже всего, если для ФР).

на Ubuntu 12.04 не заметили ничего подобного? Работает стабильно?
Ubuntu 10.10 \ Дэнси-Касса 1.2.6.p.8\ 1С v7.7\ протокол обмена Атол\ Без ФР \ сканер Metrologic Orbit 7120
Аватара пользователя
Rafta
 
Постов: 263
Зарегистрирован: 29 апр 2011, 14:07

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение Alexander » 27 апр 2012, 23:22

На бета-версии Ubuntu 12.04 замечен вылет драйвера COM-портов с ошибкой сегментирования памяти и паникой ядра насчет того, что некому стало обслуживать соответствующее прерывание.
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение sparks » 04 авг 2012, 15:37

Спасибо за мануал, отлично должен подойти для слабых машин
Сейчас устанавливаю, сразу есть поправочка:
Вот тут
#apt-get install zenity numlockx x11vnc qt3-config libqt3-mt postgresql-server
Это все нам понадобится для нормальной работы и установки ДК

у меня пришлось заменить qt3-config на qt3-qtconfig, и postgresql-server на postgresql
Иначе он этих пакетов не видит. postgresql устанавливается текущий - 9.1, надеюсь с ним касса будет работать.
sparks
 
Постов: 1
Зарегистрирован: 04 авг 2012, 15:29

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение graf_vadim » 29 авг 2012, 08:52

Спасибо за инструкцию! Установил с поправками sparks - вроде все запустилось, ошибок не видно (в работе пока не пробовал).
Версия 1.2.5 патч 8.

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

Команда dnc_update делает ситуацию еще хуже. :cry:
graf_vadim
 
Постов: 4
Зарегистрирован: 29 авг 2012, 08:42

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение Alexander » 29 авг 2012, 12:23

Надо выполнить принудительное обновление структуры БД.
Для этого есть утилита DBUpdate в каталоге /bin/DBUpdate/ на диске обновления. Запускать из окна терминала (текстовой консоли) с правами обычного пользователя.
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение Rafta » 29 авг 2012, 13:25

Alexander писал(а):Надо выполнить принудительное обновление структуры БД.
Для этого есть утилита DBUpdate в каталоге /bin/DBUpdate/ на диске обновления. Запускать из окна терминала (текстовой консоли) с правами обычного пользователя.
Если в базах создавались собственные представления (View), то их удалить, а после обновления структуры БД восстановить. Кажется, еще надо остановить демоны daemon_unload, upload, dnc_edsd
Последний раз редактировалось Rafta 30 авг 2012, 08:58, всего редактировалось 1 раз.
Ubuntu 10.10 \ Дэнси-Касса 1.2.6.p.8\ 1С v7.7\ протокол обмена Атол\ Без ФР \ сканер Metrologic Orbit 7120
Аватара пользователя
Rafta
 
Постов: 263
Зарегистрирован: 29 апр 2011, 14:07

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение graf_vadim » 29 авг 2012, 18:42

Спасибо!
вроде получилось...
graf_vadim
 
Постов: 4
Зарегистрирован: 29 авг 2012, 08:42

Re: Установка на Ubuntu 12.04 Minimal с запуском демонов из

Сообщение alkar » 11 фев 2013, 21:21

Подскажите пожалуйста!
а как сделать чтобы скрипт dnc_daemons запускался от пользователя kassir.
От root стартует, а от простого пользователя никак.
alkar
 
Постов: 53
Зарегистрирован: 11 фев 2013, 21:19


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

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

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


cron

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

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (170) здесь было 16 май 2020, 01:50

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