Gentoo Logo

Avertisment : Acest manual a fost înlocuit cu o versiune mai nouă şi nu mai este întreţinut.


[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


5. Variabile de Mediu

Conţinut:

5.a. Variabile de Mediu?

Ce sunt ele

O variabilă de mediu este un obiect cu nume propriu, care conţine informaţii folosite de una sau mai multe aplicaţii. Mulţi utilizatori (în special cei noi sistemului Linux) consideră asta ca fiind un pic cam ciudat, sau chiar de nestăpânit. Acest concept este greşit: folosind o variabilă de mediu, se poate schimba cu uşurinţă configuraţia uneia sau mai multor aplicaţii.

Example Importante

Următorul tabel listează un număr de variabile folosite de sistemul Linux şi descrie modul lor de folosire. Ca exemplu, sunt prezentate câteva valori pentru aceste variabile după tabel.

Variabilă Descriere
PATH Această variabilă conţine o listă de directoare, separate prin virgulă, unde sistemul dumneavoastră caută fişierele executabile. Dacă introduceţi numele unui executabil (cum ar fi ls, rc-update sau emerge) dar acesta nu se află într-un director specificat, sistemul dumneavoastră nu-l va executa (decât dacă introduceţi locaţia completă, precum /bin/ls).
ROOTPATH Această variabilă este asemănătoare comenzii PATH, doar că listează directoarele ce trebuie verificate atunci când user-ul 'root' introduce o comandă.
LDPATH Această variabilă conţine o listă de directoare, separate prin virgulă, unde linker-ul dinamic caută pentru a găsi o librărie.
MANPATH Această variabilă conţine o listă de directoare, separate prin virgulă, unde comanda man caută paginile de manual
INFODIR Această variabilă conţine o listă de directoare, separate prin virgulă, unde comanda info caută paginile info.
PAGER Această variabilă conţine calea către programul folosit pentru a lista conţinutul fişierelor (cum ar fi less sau more)
EDITOR Această variabilă conţine calea către programul folosit pentru a schimba conţinutul fişierelor (cum ar fi nano sau vi)
KDEDIRS Această variabilă conţine o listă de directoare, separate prin virgulă, ce conţin materiale specifice KDE.
CLASSPATH Această variabilă conţine o listă de directoare, separate prin virgulă, ce conţin clase Java.
CONFIG_PROTECT Această variabilă conţine o listă delimitată de caracterul spaţiu a directoarelor ce trebuie protejate de Portage în timpul actualizărilor.
CONFIG_PROTECT_MASK Această variabilă conţine o listă delimitată de caracterul spaţiu a directoarelor ce nu trebuie protejate de Portage în timpul actulizărilor.

Mai jos veţi găsi un exemplu de definire pentru toate variabilele:

Cod 1.1: Definiţii exemplu

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"
CLASSPATH="/opt/blackdown-jre-1.4.1/lib/rt.jar:."
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"

5.b. Definirea Variabilelor Globale

Directorul /etc/env.d

Pentru a centraliza definiţiile acestor variabile, Gentoo introduce directorul /etc/env.d. În acest director veţi găsi unele fişiere, precum 00basic, 05gcc, etc. care conţin variabilele necesare pentru aplicaţiile menţionate în nume.

De exemplu, când aţi instalat gcc, un fişier numit 05gcc a fost creat de către ebuild şi conţine definiţiile următoarelor variabile:

Cod 2.1: /etc/env.d/05gcc

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"

Alte distribuţii vă spun să schimbaţi sau să definiţi astfel de variabile de mediu în /etc/profile sau alte locaţii. Gentoo, pe de altă parte, uşurează (atât pentru dumneavoastră cât şi pentru portage) mentenanţa acestor variabile fără a trebui să acordaţi atenţie fişierelor numeroase ce pot conţine variabile de mediu.

De exemplu, când gcc este actualizat, fişierul /etc/env.d/05gcc este actualizat fără a necesita interacţiunea cu utilizatorul.

Acesta nu este un beneficiu numai pentru Portage, dar şi pentru dumneavoastră, ca utilizator. Ocazional, este posibil să vi se ceară să setaţi o anumită variabilă de mediu globală pentru tot sistemul. Ca exemplu, luăm variabila http_proxy. În loc să vă încurcaţi cu /etc/profile, puteţi crea un fişier nou (/etc/env.d/99local) unde să definiţi variabilele de care aveţi nevoie:

Cod 2.2: /etc/env.d/99local

http_proxy="proxy.server.com:8080"

Prin folosirea unui singur fişier în care păstraţi toate variabilele dumneavoastră, puteţi avea acces rapid la variabilele definite de dumneavoastră.

Script-ul env-update

Mai multe fişiere din /etc/env.d definesc variabila PATH. Aceasta nu este greşit: când rulaţi env-update, va adăuga un număr de definiţii înainte de a actualizarea variabilele de mediu, facilitând pachetelor (sau utilizatorilor) adăugarea propriilor variabile fără alterarea valorilor deja existente.

Script-ul env-update va adăuga valorile în ordine alfabetică, conform fişierelor din /etc/env.d. Fişierele trebuie să înceapă cu două cifre zecimale.

Cod 2.3: Ordinea actualizării utilizată de env-update

         00basic        99kde-env       99local
     +-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"

Concatenarea variabilelor nu se întâmplă în toate cazurile, ci doar pentru următoarele variabile: KDEDIRS, PATH, CLASSPATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH şi PRELINK_PATH_MASK. Pentru toate celelalte variabile, ultima valoare definită (în ordinea alfabetică a fişierelor din /etc/env.d) este cea utilizată.

Când rulaţi env-update, script-ul va genera toate variabilele de mediu, şi le va plasa în /etc/profile.env (care este utilizat de /etc/profile). De asemenea, va extrage informaţiile din variabila LDPATH şi le va folosi pentru a crea fişierul/etc/ld.so.conf. Apoi, va rula ldconfig pentru a recrea /etc/ld.so.cache, folosit de linker-ul dinamic.

Dacă doriţi să observaţi consecinţele env-update imediat după ce îl rulaţi, executaţi următoarea comandă pentru a actualiza mediul. Utilizatorii care au instalat ei înşişi Gentoo, îşi vor aminti de aceste instrucţiuni din timpul instalării:

Cod 2.4: Actualizarea mediului

# env-update && source /etc/profile

Notă: Comanda de mai sus actualizează doar variabilele din terminalul curent, consolele noi şi procesele fiu ale acestora. Astfel, dacă lucraţi în X11, va trebui, fie să tastaţi source /etc/profile în fiecare terminal nou pe care-l deschideţi, sau să reporniţi aplicaţia X pentru ca toate terminalele să încarce noile variabile. Dacă utilizaţi un manager de login, trebuie să tastaţi ca root /etc/init.d/xdm restart. Dacă nu, va trebui să efectuaţi logout şi apoi să vă autentificaţi din nou pentru ca X să poată crea procese fiu cu valorile noilor variabile.

5.c. Definirea Variabilelor Local

Specific User-ilor

Nu întotdeauna este dorită definirea globală a variabilelor de mediu. De exemplu, s-ar putea să doriţi să adăugaţi /home/my_user/bin, precum şi directorul curent de lucru (directorul în care vă aflaţi) la variabila PATH, dar nu doriţi ca toţi user-ii sistemului să o aibă definită în variabila lor PATH. Dacă doriţi să definiţi o variabilă de mediu local trebuie să folosiţi ~/.bashrc sau ~/.bash_profile:

Cod 3.1: Extinderea variabilei PATH pentru folosire locală în ~/.bashrc

(Două puncte urmate de nici un director sunt tratate ca directorul curent de lucru
PATH="${PATH}:/home/my_user/bin:"

Când efectuaţi din nou acţiunea de login, variabila dumneavoastră PATH va fi actualizată.

Specific Sesiunii

Uneori, sunt necesare definiţii şi mai stricte. Poate doriţi să puteţi folosi executabilele dintr-un director temporar, creat de dumneavoastră (fără a folosi calea către executabile sau prin editarea ~/.bashrc) pentru timpul scurt în care aveţi nevoie de ele.

În acest caz, puteţi defini variabila PATH în sesiunea curentă folosind comanda export. Cât timp nu efectuaţi log out, variabila PATH va folosi aceste setări temporare.

Cod 3.2: Definirea unei variabile de mediu specifice sesiunii

# export PATH="${PATH}:/home/my_user/tmp/usr/bin"

[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


Imprimare

View all

Actualizat la 28 Septembrie 2005

Această traducere nu mai este întreţinută

Sumar: Cu Gentoo puteţi foarte uşor să administraţi variabilele de mediu din sistemul dvs. Acest capitol explică modul în care puteţi realiza acest lucru, şi, de asememenea, descrie cele mai utilizate dintre aceste variabile.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Dezvoltator Gentoo x86

Tavis Ormandy
Dezvoltator Gentoo Alpha

Jason Huebel
Dezvoltator Gentoo x86

Guy Martin
Dezvoltator Gentoo HPPA

Pieter Van den Abeele
Dezvoltator Gentoo PPC

Joe Kallar
Dezvoltator Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Lars Weiler
Editor

Jochen Maes
Editor

Grant Goodyear
Corector

Gerald J. Normandin Jr.
Corector

Donnie Berkholz
Corector

Ken Nowack
Corector

Alin Dobre
Translator Responsabil

Ion Mudreac
Translator

Teddy Drăguţă
Translator

Talos Teodor
Translator

Dragoş Toma
Translator

Muntean Alex
Translator

George Nistorică
Translator

Emil Sîrbu
Translator

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.