Jak ustawić zmienne środowiskowe Linuksa za pomocą Ansible
Cześć, próbuję dowiedzieć się, jak ustawić zmienną środowiskową za pomocą Ansible.
coś, co jest prostą komendą powłoki, taką jak ta:
EXPORT LC_ALL=C
próbował użyć polecenia powłoki i wystąpił błąd , próbował użyć modułu środowiskowego, ale nic się nie stało.
czego mi brakuje
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
1. Jeśli potrzebujesz zdefiniować zmienną środowiskową tylko dla jednego zadania, zrób to
:
Należy pamiętać, że jest dostępny TYLKO dla pierwszego zadania, nie instaluje go na stałe w systemie.
Miejmy nadzieję, że wkrótce będzie dostępny pod adresem
poziom gry
a nie tylko na poziomie zadania, jak wspomniano powyżej.
Obecnie istnieje otwarte żądanie ściągnięcia dla tej funkcji w Ansible GitHub:
https://github.com/ansible/ansible/pull/8651
https://github.com/ansible/ansible/pull/8651
AKTUALIZACJA: została scalona od 2 stycznia 2015 r.
2. Jeśli potrzebujesz stałej zmiennej środowiskowej + dla całego systemu/tylko dla określonego użytkownika
Powinieneś przyjrzeć się, jak to robisz w swojej dystrybucji Linuksa/powłoki, jest na to kilka miejsc. Na przykład w Ubuntu definiuje się to w plikach takich jak:
Dokumenty Ubuntu na ten temat znajdziesz tutaj:
https://help.ubuntu.com/commun ... ables
https://help.ubuntu.com/commun ... ables
W końcu, aby ustawić zmienną środowiskową na ex. Ubuntu możesz po prostu użyć modułu firmy Ansible i dodać żądaną linię do określonego pliku. Zapoznaj się z dokumentacją systemu operacyjnego, gdzie można go dodać, aby był trwały.
Anonimowy użytkownik
Potwierdzenie od:
Odpowiedź Haseka jest całkowicie poprawna. Tylko jedno: jeśli zaktualizujesz plik lub , zmiany te zostaną odzwierciedlone dopiero po ponownym zalogowaniu się.
Jeśli chcesz ustawić zmienną env, a następnie użyć jej w kolejnych zadaniach w tym samym samouczku, rozważ dodanie tych zmiennych środowiskowych do pliku .
Myślę, że powodem tego jest logowanie i powłoki niezalogowane.
Ansible wykonuje różne zadania, odczytując parametry z pliku zamiast lub .
Na przykład, jeśli zaktualizowałem zmienną ścieżki, aby uwzględnić niestandardowy plik binarny w pliku odpowiedniego użytkownika, utworzyłem źródło tego pliku.
Następujące kolejne zadania nie rozpoznają mojego polecenia. Jeśli jednak zaktualizujesz plik , polecenie zadziała.
Zadziałało
by,
ale gdybym zrobił to z plikami profilu, zwróciłby błąd.
To nie zadziała
,
jeśli mamy wszystkie te zadania w tym samym samouczku.
Anonimowy użytkownik
Potwierdzenie od:
i wojny o to:
i tak, jeśli wylogujesz się przez ssh i zalogujesz ponownie, pokaże nowe zmienne środowiskowe.
Anonimowy użytkownik
Potwierdzenie od:
weareinteractive.environment
https://galaxy.ansible.com/wea ... nment
.
Korzystanie z ansible-galaxy:
Korzystanie z Requirements.yml:
Następnie w swoim schemacie:
Anonimowy użytkownik
Potwierdzenie od:
https://github.com/ansible/ansible/pull/8651
https://github.com/ansible/ansible/pull/8651
),
możemy łatwo zainstalować
trwałe zmienne środowiskowe
według poziomu odtwarzania.