path howto

Fordítás: Alexander Ermolaev. SWsoft Pte Ltd.

Ez a dokumentum leírja a közös problémák változó Unix / Linux környezetben, különösen a PATH változót. A PATH változó egy jegyzéklistát amelyben keresni parancsokat. Alkalmazható Debian Linux 1.3 forgalmazás.

Ez a dokumentáció szabad dokumentációt; terjeszthető és / vagy módosíthatja a GNU General Public License által közzétett Free Software Foundation bármelyik változatát a licenc 2, akár (tetszőleges) későbbi változata szerint.

Ez a dokumentáció a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉLKÜL; anélkül, hogy a vélelmezett szavatosságot vagy HASZNÁLHATÓ EGY ADOTT CÉLRA. Lásd a GNU General Public License további részletekért.

Ez a dokumentum része a Linux HOGYAN projekt.

Minden folyamat Unix tartalmazza a „környezet” (környezet). Ez a lista a változók, amelyek nevei és értékei, ezek húrok, és tartalmazza a legtöbb karakter. Minden folyamat a Unix a szülő folyamat - prosess készítette ezt a folyamatot nevezik a gyermeket. Gyermek folyamatok öröklik a környezet és a szülő folyamat. Ők lehet, hogy néhány változtatást a környezet, mielőtt a környezetbe van gyermekük folyamatokat.

Ebben a dolgozatban használja a „csapat”, amelyhez az attribútum a program, amely állítólag van egy rövid nevet, mechanizmusát használja módon.

A Linux, hogy elindítsa a folyamatot, az operációs rendszer beolvassa a könyvtárak változóban tárolt PATH: használhatja a mechanizmus a módját, ahol megpróbálja végrehajtani a parancsot. Ha az operációs rendszer megkapja a fájl nevét, kivásárlási nem tartalmazzák a „/”, akkor a telefonkönyvet a PATH környezeti változó. Még ha a környezet nincs PATH, a legalább könyvtárak / bin és a / usr / bin kell szemlélni.

Az sh használja export parancsot a környezetre, csh, használd a setenv. Például:

setenv PATH / usr / local / bin: / usr / bin: / bin: / usr / bin / X11 / usr / games:.

C-alkalmazások használhatják a könyvtár funkciója setenv () megváltoztatni a környezetet. Perl biztosítja a környezetet egy asszociatív tömbben% ENV beállíthatja PATH $ -os ENV = „/ bin”.

env csapat - a legfőbb módja a megállapítás a környezeti változók. Azt is fel lehet használni, hogy megváltoztassa őket.

További információval a környezet a mechanizmus vehet az alapokat a man oldalak (férfi) „környe”, „execl”, „setenv” vagy info „env” és a dokumentációban a shell.

Ha Linux csizma, az első folyamat, amely elindítja az init. Ez - egy speciális eljárás, mert nincs szülő. Azonban ez az elsődleges, hogy minden folyamat. Beállítása init lesz körülvéve az összes folyamatot, ha nem kapcsolódik a környezet tisztán. A legtöbb folyamatok megváltoztatják a környezetet.

Init elindul egy folyamat-csoport. Az / etc / inittab elmondja milyen folyamatok a rendszer elindul. Ezek a folyamatok működnek a környezetben, öröklési jog init - pl program getty "írja„login:”vigasztalni. Ha fut a kapcsolat PPP, meg kell emlékezni, hogy dolgozik az init környezetben. Rendszer inicializáló - ez gyakran egy script, ami itt kezdődik. A Debian 1.3 /etc/init.d/rc inicializáló szkript, viszont más inicializáló szkript.

A rendszer tartalmaz egy csomó fut szerverek (démon) lehet, hogy nem használja olyan környezetben alapértelmezés szerint telepítve. A legtöbb szerver fut a inicializáló szkript, és így tovább, hogy init környezetben.

Amikor a felhasználó bejelentkezik, szerdán jár találkozókat, amelyek meg vannak írva a programba fordításkor a rendszer inicializáló szkript a felhasználó inicializáló szkript. Ez elég bonyolult, és a jelenlegi helyzet nem teljesen kielégítő. Az eljárás abban különbözik, ha a felhasználó jön a konzol, az XDM vagy a hálózatról.

Init - szülő folyamat minden más rendszer feldolgozza. Más eljárások öröklik init környezet és az útvonal előírt a init. Csak ritka esetekben más módon még nem állapították meg.

„Way init” rögzítik a forráskód a program, és úgy néznek ki, mint ez:

Megjegyzés: az init útvonal nem tartalmaz / usr / local / bin.

Minden elindított programok az / etc / inittab munka init környezet, különösen a rendszer inicializáló szkript /etc/init.d (Debian 1.3).

Minden, ami indult a rendszer inicializáló szkript már init környezet alapértelmezett környezetet. Például a syslog, kerneld pppd (amikor elindította az indításkor), GPM, LPD és inetd már init környezet, és nem változtatják meg.

Csoport programokat indul a boot szkript, és a PATH kifejezetten meghatározott paraméterekkel. Például: ATD, sendmail, az Apache és tintahal.

Vannak más programok, amelyek indulnak a startup script, de ezek helyettesítik az utat teljesen. Az egyik ilyen például - a cron.

Bejelentkezés programot állít útvonal meghatározott /usr/include/paths.h. „Path bejelentkezés” különbözik a root és más felhasználók számára.

normál felhasználók számára (_PATH_DEFPATH):

gyökér (_PATH_DEFPATH_ROOT):

Az út a hétköznapi felhasználóknak nem tartalmaznak útvonalakat, amelyek bármilyen sbin könyvtárak. Azonban azokban az aktuális könyvtárban, „”, mely még ma is veszélyes a root felhasználó számára. Még a / usr / local / bin nincs megadva gyökér.

Bejelentkezés útvonal gyakran felülírja script shell indításkor. Azonban lehetséges, hogy más programokat a / etc / passwd például egy felhasználó shell. Például, azt használják a következő sort kell kezdeni a PPP, amikor belépek a speciális felhasználói nevét. Ebben az esetben a pppd-nek pontosan belépés módja a rendszerbe.

ETU-ppp: viYabVlxPwzDl: 1000: 1000: Esa Turtiainen, PPP: /: / usr / sbin / pppd

Gyakran a felhasználói folyamatok - folyamatok héj leányvállalatok rögzítik a / etc / passwd a felhasználó számára. shell inicializáló fájlok gyakran megváltoztatják az utat.

A bejelentkezés, a neve a héj előzi „-”, például bash „-bash” van írva. Ez annak a jele, hogy a rendszer shell indul bejelentkezést. Ebben az esetben a héjat végrehajtja inicializáló fájlok, amikor belép a héj. Egyébként van egy könnyebb elindulni. Ezen kívül, a héj ellenőrzést -, hogy a parancs származó fájl vagy gépelt be a terminált. Ez módosítja a shell indítása, hogy egy nem interaktív shell inicializálja nagyon finoman, bash, ebben az esetben nem hajt végre elindulni.

Ennek normál shell, bash nézi az egész rendszerre kiterjedő / etc / profile, amely leírja a rendszer környezetre és az is, hogy be lehet állítani a bash felhasználóknak. Azonban ez nem teljesül, akkor a rendszer úgy értelmezi a héjat nem interaktív. A legfontosabb ügy az rsh, ahol a távoli parancs végrehajtása a következő autó. / Etc / profile nem fut, és az út örökölte rsh démon.

bash parancsot kap argumentum -login és -i, amelyeket fel lehet használni, hogy állítsa be a shell a shell jelentkezned vagy interaktív.

A felhasználó felülírhatja beállított értékek az / etc / profile fájl létrehozásával

/.profile. Felhívjuk figyelmét, hogy csak az elsőt történik - ez eltér az inicializálás logikája csh.

/.bash_login nem teljesült speciálisan login shell, és ha .bash_profile létezik, akkor nem kerül végrehajtásra egyáltalán.

Ha bash használják neve sh neve helyett bash, utánozza inicializálni bash: megkeresi a / etc / profile és

/.profile csak input kagyló.

A bejáratnál a héj tcsh végrehajtja a következő fájlokat ebben a sorrendben:

Kapcsolódó cikkek