Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установить переменную окружения на долго 
V
    Опции темы
Хоббит
Дата 10.4.2011, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Система FreeBSD 8.1

В zabbix шаблоны вызывают python скрипты, которые при работе пытаются что то записать в /root/.python-eggs., хотя zabbix работает под пользователем zabbix

Эта директория для всех пользователей  определяется переменной окружения PYTHON_EGG_CACHE.
Я могу ее установить в терминале через setenv PYTHON_EGG_CACHE /var/pythor-eggs и после этого все работает.

Но после того как я выхожу из терминала, значение переменной сбрасывается.

Как ее установить для всех пользователей на постоянно?
PM MAIL   Вверх
bilbobagginz
Дата 10.4.2011, 22:00 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Хоббит @  10.4.2011,  17:29 Найти цитируемый пост)
Как ее установить для всех пользователей на постоянно? 

несколько решений:
quick'n'dirty: в зависимости от оболочки, есть глобальный файлик настроек. при входе в систему оболочка запускается со считыванием этого файла. кури man своей оболочки по поводу местонахождения этого файла.
но если эта переменная будет загрязнять окружение оболочки ВСЕХ процессов, рожденных.

более аккуратно:
проверка внутри глобального файла настроек, и установку переменной только тем, кому надо.
т.е. типа 
Код

set PYEGGUSERGID=100
if ( `id -g` == "${PYEGGUSERGID}" ) then
    setenv PYTHON_EGG_CACHE /var/pythor-eggs
endif

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

наиболее правильное решение:
добавить какой-то однострочный модуль на питоне, в котором установить эту переменную ТОЛЬКО для питонового скрипта...  а загружать этот модуль ДО строки считывания переменной в твоем zabbix-е.
там где-то делают:
Код

os.environ.get('PYTHON_EGG_CACHE')

или даже
Код

os.environ['PYTHON_EGG_CACHE']

вот до этого надо поставить свое значение:
Код

os.environ['PYTHON_EGG_CACHE'] = os.path.join(os.environ.get('HOME'), '.python-eggs')

(т.к. глобальный каталог, в который ВСЕ будут писАть - не самая удачная идея)
ну и засунуть этот файл mysettings.py в один каталог с запускаемым файлом. и внутри:
Код

import mysettings







Это сообщение отредактировал(а) bilbobagginz - 10.4.2011, 22:04


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Хоббит
Дата 11.4.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Спасибо. Помогло.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.