УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

Скрипт инициализации и останова OpenSCADA как службы в Debian/Ubuntu


Автор Сообщение
Сообщение создано: 06. 10. 2011 [15:35]
almaz
Almaz Karimov
Contributor
Создатель темы
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
LC_ALL=ru_RU.UTF-8 понадобилось для редактирования и отображения в скаде вещественных чисел не с точкой, а с запятой.

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 05. 09. 2012 [13:49]
shkurkin
Роман Егошин
Зарегистрирован(а) с: 20.12.2011
Сообщения: 1
OpenScada скомпилена в окружении debian 6 armel c использованием scratchbox2 на x86. rootfs залита на девайс.

Непосредственно на устройстве:
[root@lexx666 ~] # locale

LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=


В скрипте openscada в init.d прописал:

export LANG=ru_RU.UTF-8
export LANGUAGE=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
echo "--------------------"
printenv LANG
printenv LANGUAGE
printenv LC_ALL
echo "--------------------"


Запускаем
[root@lexx666 ~]# /etc/init.d/openscada start
Starting openscada:--------------------
ru_RU.UTF-8
ru_RU.UTF-8
ru_RU.UTF-8
--------------------
Start into demon mode!
3|/EmptySt/ | Station 'EmptySt' is not present in the config-file. Use 'PLKStation' station configuration!
1|/PLKStation/ | Load!
[root@lexx666 ~]# 1|/PLKStation/sub_UI/mod_WebCfgD/ | Connect module!

Хм русским не пахнет. так то некритично, но локали то лежат русские :)

mc и коноль через ssh русские. пример apt-get.

[root@lexx666 ~]# apt-get update
В кэше http://ftp.ru.debian.org squeeze Release.gpg
Игн http://ftp.ru.debian.org/debian/ squeeze/contrib Translation-en
Игн http://ftp.ru.debian.org/debian/ squeeze/contrib Translation-ru
Игн http://ftp.ru.debian.org/debian/ squeeze/main Translation-en
Игн http://ftp.ru.debian.org/debian/ squeeze/main Translation-ru
В кэше http://ftp.ru.debian.org squeeze Release
В кэше http://ftp.ru.debian.org squeeze/main Sources
В кэше http://ftp.ru.debian.org squeeze/contrib Sources
В кэше http://ftp.ru.debian.org squeeze/main armel Packages
В кэше http://ftp.ru.debian.org squeeze/contrib armel Packages
Чтение списков пакетов... Готово


Сообщение создано: 05. 09. 2012 [15:29]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"shkurkin" wrote:


Start into demon mode!
3|/EmptySt/ | Station 'EmptySt' is not present in the config-file. Use 'PLKStation' station configuration!
1|/PLKStation/ | Load!
[root@lexx666 ~]# 1|/PLKStation/sub_UI/mod_WebCfgD/ | Connect module!

Хм русским не пахнет. так то некритично, но локали то лежат русские :)

OpenSCADA собрана без файлов интернационализации, они не установлены или размещены некорректно.

Learn, learn and learn better than work, work and work.
Сообщение создано: 06. 09. 2012 [10:33]
lexx666
Алексей Велесевич
Зарегистрирован(а) с: 05.09.2012
Сообщения: 7
Собрано всё отлично.

Из scratchbox2, если запускать openscada на x86, то получим русские ругательства:
[SB2 simple ARM] lexx@lexx666 bin $ ./openscada
4|/EmptySt/ | Ошибка конфигурационного файла '/etc/oscada.xml': No such file or directory
1|/EmptySt/ | Загрузка!
3|/EmptySt/ | Ошибка изменения рабочей директории в '': No such file or directory. Возможно текущая директория уже корректно установлена в '/home/scada/build/bin'.
qemu: Unsupported syscall: 257
4|/EmptySt/ | Ни одного модуля не загружено. Ваша конфигурация сломана!
3|/EmptySt/ | Ошибка изменения рабочей директории в '': No such file or directory. Возможно текущая директория уже корректно установлена в '/home/scada/build/bin'.

Scratchbox2 использует qemu-arm эмулятор.
При чём в этом случае я даже запускаю openscada без скрипта. Всё по русский.

А если запускать openscada уже используя chroot ARM то получаем английский язык.

lexx@lexx666:~$ sudo chroot /home/rootfs/
root@lexx666:/# /etc/init.d/openscada
Usage: /etc/init.d/openscada {start|stop|status|restart|force-reload}
root@lexx666:/# /etc/init.d/openscada start
Starting openscada:--------------------
ru_RU.UTF-8
ru_RU.UTF-8
ru_RU.UTF-8
--------------------
Start into demon mode!
qemu: Unsupported syscall: 242
3|/EmptySt/ | Station 'EmptySt' is not present in the config-file. Use 'PLKStation' station configuration!
1|/PLKStation/ | Load!

Поэтому разница может быть только в переменных окружения.

Локаль RU установлена:
locale -a
C
en_US.utf8
POSIX
ru_RU.utf8

Какие ещё переменные нужны openscad`е ?
Сообщение создано: 06. 09. 2012 [11:25]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"lexx666" wrote:

А если запускать openscada уже используя chroot ARM то получаем английский язык.

Переменные окружения, в том числе и локали, могут не переходить в chroot

"lexx666" wrote:

Локаль RU установлена:
locale -a
C
en_US.utf8
POSIX
ru_RU.utf8

Какие ещё переменные нужны openscad`е ?

Переменные нужны не OpenSCADA, а glibc и если у Вас проблемы с локализацией то решайте её в системном окружении.

Попробуйте поставить только переменную окружения:
LANG=ru_RU.utf8

Некоторые версии glibc или сборки локалей не имеют синонима локали ru_RU.UTF-8 на ru_RU.utf8.

Для разборок используйте "LANG=ru_RU.UTF-8 date".

Learn, learn and learn better than work, work and work.
Сообщение создано: 06. 09. 2012 [16:14]
lexx666
Алексей Велесевич
Зарегистрирован(а) с: 05.09.2012
Сообщения: 7
Спасибо разобрался! Дело было не в бобине, а в ryki.sys. Указывал prefix при конфигурации /home/scada/build. Собственно из этого каталога любые сборки на русском разговаривали. В любой rootfs и в ARM тоже. В каталог usr на x86 что- то не хотелось класть файлы от ARM`а...

Перекомпилировал непосредственно в chroot окружении, компилятором chroot`а ну и используя всё окружение ARM Долго ждал, но всё работает!
Теперь сижу не могу докумекать, как указать scratchbox2, чтобы использовался ARM компилятор внешний x86, а chroot ARM, чтобы не собирать компилятором из chroot... Он же через виртуалку работает, а это всё медленно... По идее окружение то он берет ARM, но файловая система то при этом вся доступна...

Ещё раз спасибо!



[Сообщение редактировалось 1 раз(а), в последний раз 06.09.2012 в 16:16.]



1737