Не отдаётся переменная из /etc/environment при использовании с Ansible
Добрый день.
Использую образ AstraLinux 1.7 и ставлю на него средствами Ansible пакет Liberica JDK.
После установки прописываю также удалённо с помощью Ansible переменную MY_JAVA_HOME в /etc/environment и пытаюсь её вызвать при установке другого приложения.
Она не находится приложением, потому что в ansible_env попадают все переменные из bash_rc и др. , а MY_JAVA_HOME из /etc/environment не подтягивается, хотя она там реально есть.
В ОС сам не захожу, все действия неинтерактивные.
На RedHat/OEL всё в порядке.
Подскажите, пожалуйста, в чём может быть дело.
[09:49:16][Step 4/5] TASK [Debug env variable] ****************************************************** [09:49:16][Step 4/5] ok: [app.tf2] => < [09:48:50][Step 4/5] "ansible_env": < [09:48:50][Step 4/5] "HOME": "/root", [09:48:50][Step 4/5] "LANG": "C.UTF-8", [09:48:50][Step 4/5] "LC_ADDRESS": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_ALL": "C.UTF-8", [09:48:50][Step 4/5] "LC_COLLATE": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_CTYPE": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_IDENTIFICATION": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_MEASUREMENT": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_MESSAGES": "C.UTF-8", [09:48:50][Step 4/5] "LC_MONETARY": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_NAME": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_NUMERIC": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_PAPER": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_TELEPHONE": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LC_TIME": "ru_RU.UTF-8", [09:48:50][Step 4/5] "LOGNAME": "root", [09:48:50][Step 4/5] "MAIL": "/var/mail/root", [09:48:50][Step 4/5] "PATH": "/usr/lib/parsec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", [09:48:50][Step 4/5] "PWD": "/home/other-user", [09:48:50][Step 4/5] "SHELL": "/bin/bash", [09:48:50][Step 4/5] "SHLVL": "1", [09:48:50][Step 4/5] "SUDO_COMMAND": "/bin/sh -c echo BECOME-SUCCESS-gggonoorrxhgqvnzbsxutubqricnkhrn ; /usr/bin/python3.7", [09:48:50][Step 4/5] "SUDO_GID": "1000", [09:48:50][Step 4/5] "SUDO_UID": "1000", [09:48:50][Step 4/5] "SUDO_USER": "other-user", [09:48:50][Step 4/5] "TERM": "unknown", [09:48:50][Step 4/5] "USER": "root", [09:48:50][Step 4/5] "_": "/usr/bin/python3.7" [09:48:50][Step 4/5] >[09:48:50][Step 4/5] >
[09:49:16][Step 4/5] TASK [Debug env variable] ****************************************************** [09:49:16][Step 4/5] ok: [app.tf3] => < [09:49:16][Step 4/5] "ansible_env": < [09:49:16][Step 4/5] "HOME": "/root", [09:49:16][Step 4/5] "LANG": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_ADDRESS": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_ALL": "en_US.UTF-8", [09:49:16][Step 4/5] "LC_COLLATE": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_CTYPE": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_IDENTIFICATION": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_MEASUREMENT": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_MESSAGES": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_MONETARY": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_NAME": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_NUMERIC": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_PAPER": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_TELEPHONE": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LC_TIME": "ru_RU.UTF-8", [09:49:16][Step 4/5] "LOGNAME": "root", [09:49:16][Step 4/5] "MAIL": "/var/mail/root", [09:49:16][Step 4/5] "MY_JAVA_HOME": "/opt/jdk/jdk-11.0.14.1+1", #[09:49:16][Step 4/5] >
Astra linux environment variables
Программа позволяет в графическом режиме редактировать значения переменных окружения (изменять значение и описание переменных, удалять и объявлять переменные). Значения переменных окружения обновляются не сразу после сохранения, а только при следующем сеансе.
Главное окно программы (рис. 1) содержит меню (Меню), панель инструментов (Панель инструментов), рабочую панель (Рабочая панель) и строку состояния (Строка состояния).
Меню
- Меню программы содержит следующие пункты:
- «Файл»:
- «Сохранить» — измененные данные прописываются в конфигурационные файлы;
- «Сбросить» — открывается окно «Внимание!» с запросом на подтверждение или отмену сброса изменений данных. После подтверждения или отмены, соответственно, происходит или не происходит сброс изменения данных, и окно закрывается;
- «Выход» — если установленные настройки были сохранены, то работа программы завершается. В противном случае открывается окно с запросом на подтверждение, не подтверждение сохранения установленных настроек в файле настроек программы или отмену завершения работы. После подтверждения или не подтверждения сохранения настройки, соответственно, сохраняются или не сохраняются, окно закрывается, и работа программы завершается, а в случае отмены выхода — окно закрывается;
- «Правка»:
- «Добавить. » — открывается окно «Создание новой переменной» (рис. 2):
- «Переменная» — строка ввода имени новой переменной: цепочка алфавитно-цифровых (латиница) символов, включая знаки «-» и «_»;
- «Значение» — поле ввода значения переменной;
- «Описание» — поле ввода описания новой переменной;
- флаг «Важная системная переменная» — блокирует поле ввода «Значение». Служит для дополнительной защиты от случайного ввода и напоминает о том, что редактируется важная системная переменная;
- флаг «Сохранить в /etc/» — в режиме суперпользователя устанавливает сохранение переменной в глобальных настойках. Это отражается на окружении каждого пользователя системы;
- [Да] — создать новую переменную;
- [Отмена] — отменить создание новой переменной;
- «Удалить» — открывается окно с запросом на подтверждение или отмену удаления переменной (выделенной строки в таблице). После подтверждения или отмены переменная, соответственно, удаляется или не удаляется, и окно закрывается;
- «Редактировать. » — открывается окно «Редактирование переменной» такое же, как окно «Создание новой переменной» (см. рис. 2), но в котором строка ввода «Переменная» блокирована, а в других позициях установки параметров содержатся их значения для переменной из выделенной строки таблицы;
- «Настройки. » — открывается окно «Настройки» (рис. 3):
- поле «Системные конфигурационные файлы» — отображается список имен системных конфигурационных файлов, в которых происходит поиск переменных окружения, а также кнопки для перемещения по списку вверх и вниз и кнопки со знаком «+» и «-» для, соответственно, включения в список или удаления из списка имени файла (доступны в режиме суперпользователя);
- поле «Пользовательские конфигурационные файлы (bash)» — отображается список имен пользовательских конфигурационных файлов оболочки, в которых происходит поиск переменных окружения, а также кнопки для перемещения по списку вверх и вниз и кнопки со знаком «+» и «-» для, соответственно, включения в список или удаления из списка имени файла;
- [Да] — окно «Настройки» закрывается, и открывается окно «Применить изменения сейчас?» с запросом на применение изменений данных. После подтверждения или отмены переменные окружения устанавливаются в соответствии с их значениями в файлах, отображаемых в списках, и окно «Применить изменения сейчас?» закрывается;
- [Отмена] — значения переменных окружения не изменяются, окно «Настройки» закрывается;
- [Применить] — применяются значения переменных окружения, установленные в файлах, отображаемых в списках;
- «Содержание» — вызов окна справки;
- «О программе. » — вызов окна с краткой информацией о программе.
Панель инструментов
На панели располагаются кнопки, которые повторяют аналогичные пункты меню: [Сохранить] и [Сбросить] — «Файл», [Добавить], [Удалить], [Редактировать] и [Настройка] — «Правка» (см. Меню).
Щелчком правой кнопки мыши на панели меню или панели инструментов открывается контекстное меню с флагом для установки или отмены показа панели инструментов.
Рабочая панель
- На рабочей панели (см. рис. 1) в табличном виде отображается информация об объявленных переменных:
- «Переменная» — имя переменной;
- «Значение» — значение переменной;
- «Источник» — источник установки переменной;
- «Описание» — краткий комментарий;
Строка таблицы выделяется щелчком левой кнопки мыши.
Щелчком левой кнопки мыши на ячейке выделенной строки с именем или значением переменной запись в ячейке переводится в режим редактирования. При переходе к другой ячейке появляется запрос на подтверждение изменений. После подтверждения или отмены изменений переменная или ее значение изменяется или не изменяется, и окно закрывается.
Контекстное меню
Щелчком правой кнопки мыши на рабочей панели (см. рис. 1) выделяется строка таблицы в позиции курсора и открывается контекстное меню, которое содержит пункты, аналогичные пунктам меню «Правка» (см. Меню).
Строка состояния
Строка состояния располагается под рабочей панелью (см. рис. 1). При наведении курсора рабочую панель в строке состояния появляется имя и значение переменной, отображаемой в строке таблицы в позиции курсора. При остановке курсора появляется подсказка с именем, значением и источником переменной. При выборе пункта меню в строке отображается состояние выполнения задания.
- «Добавить. » — открывается окно «Создание новой переменной» (рис. 2):