Переменная среды — это именованный объект, который содержит информацию, используемую одним или несколькими приложениями. Многие пользователи (особенно новички в Linux) находят этот подход несколько странным или неуправляемым. Но это впечатление ошибочно: используя переменные среды, можно очень легко изменить настройку разнообразных программ.
В следующей таблице описывается ряд переменных, используемых в системе Linux. Примеры их значений приведены далее.
Переменная | Описание |
---|---|
Ниже представлен пример определения всех этих переменных:
PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin" ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3" MANPATH="/usr/share/man:/usr/local/share/man" INFODIR="/usr/share/info:/usr/local/share/info" PAGER="/usr/bin/less" EDITOR="/usr/bin/vim" KDEDIRS="/usr" CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /opt/tomcat/conf \ /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ \ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf"
Для того, чтобы определить эти переменные централизованно, в Gentoo появился
каталог
Например, при установке
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info" CC="gcc" CXX="g++" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
В других дистрибутивах вам предлагается изменять или добавлять определения
переменных среды в
Например, когда обновляется
От этого выигрывает не только Portage, но и вы, пользователь. Иногда от вас
может потребоваться глобальная установка какой-нибудь переменной. Возьмем, к
примеру, переменную
http_proxy="proxy.server.com:8080"
Используя один и тот же файл для всех своих переменных, вы можете быстро увидеть все определенные вами переменные вместе.
Переменная
Сценарий
00basic 99kde-env 99local +-------------+----------------+-------------+ PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"
Объединение выполняется не всегда, а только для следующих переменных:
Вы можете добавлять другие переменные в данный список "объединяемых"
переменных, добавляя имя своей переменной либо в переменную
При запуске сценария
Если вы хотите, чтобы результаты работы
# env-update && source /etc/profile
Далеко не всегда нужно определять переменные глобально. Например, вам может
понадобиться добавить
(двоеточие без последующего указания каталога означает текущий рабочий каталог) PATH="${PATH}:/home/my_user/bin:"
Обновление вашей переменной
Иногда нужны еще более жесткие ограничения. Вам может потребоваться возможность
запуска исполняемых файлов из специально созданного временного каталога
без указания полного пути к ним, и без изменения файла
В этом случае можно просто определить переменную
# export PATH="${PATH}:/home/my_user/tmp/usr/bin"