Weboldal keresés

Hogyan adjunk hozzá egy könyvtárat a PATH-hoz a Fedora Linuxban


Ebben az útmutatóban arról fogunk tanulni, hogyan lehet egy könyvtárat hozzáadni a ` PATH -hoz Fedora alatt.

Előfeltételek:

A útmutatóban bemutatott lépések végrehajtásához a következő komponensekre van szüksége:

  • Egy megfelelően konfigurált Fedora rendszer. Teszteléshez és tanuláshoz létrehozhatsz egy Fedora virtuális gépet a VirtualBox segítségével.
  • Hozzáférés egy nem gyökér felhasználóhoz sudo jogosultsággal.

ÚTVONAL Fedora alatt

Kezdjük egy praktikus példával. Futtassuk a következő parancsot a terminálból:

echo "hello world"

Itt :

  • A terminálablak az alapértelmezett shell alkalmazással (általában Bash) lép kapcsolatba.
  • Egy stringet küldünk a Bashnak, hogy elemezze és végrehajtsa.
  • A parszolás után a Bash meghívja az „echo” parancsot, és a „hello world” karakterláncot küldi el argumentumként.
  • A kimenetet a konzol képernyőjén nyomtatják ki.

Hogyan tudta Bash, hol keresse az „echo” parancsot? Nem határoztuk meg kézzel az echo bináris helyét.

Ez a PATH környezeti változó feladata. Ez tárolja azokat a könyvtárak helyét, amelyeket a shell megvizsgál, amikor parancsot keres végrehajtásra. Ellenőrizni kell, hogy egy parancs létezik-e azokban a helyeken, amelyeket a ` PATH leír? Használja a “which” parancsot:

which echo
which which
which nonexistent

A PATH könyvtárainak felsorolása

A jelenleg konfigurált könyvtárak ellenőrzéséhez a ` PATH-ban, futtassa az alábbi parancsot:

echo $PATH

Intuitívabb kimeneti formátum érdekében használja az alábbi parancsok egyikét:

echo "${PATH//:/$'\n'}"

tr ':' '\n' <<< "$PATH"

sed 's/:/\n/g' <<< "$PATH"

xargs -n1 -d: <<< $PATH

echo $PATH | awk -F: '{for(i=1;i<=NF;i++)print $i}'

awk '{split($0,arr,":"); for(var in arr) print arr[var]}' <<< $PATH

python3 -c "print(*'${PATH}'.split(':'), sep='\n')"

Könyvtárak hozzáadása a ` PATH-hoz

A következő rész bemutatja, hogyan lehet új könyvtárat hozzáadni a PATH környezeti változóhoz. Bár több mód is létezik ugyanannak az eredménynek a elérésére, erősen javasolt, hogy ragaszkodjunk a Bash-specifikus módszerekhez.

Tesztkönyvtár létrehozása

Hozzáadunk egy bemutató könyvtárat, amely tartalmaz egy teszt szkriptet a ` PATH-hoz. Ez segít meghatározni a folyamat sikerességét.

Hozza létre a bemutató könyvtárat:

mkdir -pv /home/viktor/demo

Most egy Bash scriptet helyezünk el a könyvtárban tesztelési célból:

nano test.sh

Írd be a következő kódot:

#!/bin/bash
echo "hello world"
echo "${PATH//:/$'\n'}"

Mentse el a fájlt és zárja be a szerkesztőt. Végül jelölje meg a szkriptet végrehajthatóként:

chmod +x /home/viktor/demo/test.sh

A könyvtár ideiglenes hozzáadása a ` PATH-hoz

A könyvtár hozzáadásához a ` PATH-hoz csak a jelenlegi shell munkamenethez, futtassa a következő parancsot:

export PATH="<path_to_dir>:$PATH"

Amint a shell munkamenet véget ér, a ` PATH visszaáll az alapértelmezett értékre.

A könyvtár véglegesen való hozzáadása a ` PATH-hoz a Bashrc használatával

Valahányszor egy Bash munkamenet elindul, betölt néhány “bashrc” szkriptet, mielőtt elfogadna bármilyen felhasználói interakciót. A “bashrc” fájloknak két fő helyszíne van:

  • /etc/bash.bashrc vagy /etc/bashrc: Egy globális “bashrc” fájl, amelyet minden Bash példány az elején futtat, függetlenül a felhasználótól. A tartalom módosításához root jogosultság szükséges.
  • ~/.bashrc: Egy helyi "bashrc". Ez csak az adott felhasználó által indított Bash munkamenetekre vonatkozik. A módosításhoz nincs szükség root jogosultságra.

A ` PATH állandó megváltoztatásához az “bashrc ” fájlban kell deklarálnunk annak frissített értékét.

  • Ha a változtatást az összes felhasználóra szeretnéd alkalmazni a rendszerben, frissítsd a globális "bashrc"-t.
  • Ha a jelenlegi felhasználó számára szeretnéd végrehajtani a módosítást, frissítsd a helyi "bashrc" fájlt.
  • Ha nem vagy biztos benne, hogy melyiket válaszd, a helyi „bashrc” módosítása mindig biztonságosabb választás.

Ezzel elintézve, nyisd meg a kívánt „bashrc” fájlt egy szövegszerkesztőben:

nano ~/.bashrc

Feltételezve, hogy korábbi bejegyzés nincs a ` PATH-ra, add hozzá a következő sort a fájl végéhez:

export PATH="<path_to_dir>:$PATH "

Frissítés után mentse el a fájlt, és zárja be a szerkesztőt. A “bashrc” betöltéséhez indítsa újra a héját vagy futtassa a következő parancsot:

source ~/.bashrc

A könyvtár állandó hozzáadása a ` PATH-hoz az /etc/environment használatával

Hasonlóan a bash.bashrc-hez, a /etc/environment egy rendszer szintű konfigurációs fájl. Ezt a fájlt a PATH értékének manuális beállítására is használhatjuk. A fájl tulajdonosa a root, így root jogosultság szükséges a módosításához.

Alapértelmezés szerint az abszolút értéket kell tartalmaznia a ` PATH:

cat /etc/environment

A testreszabott könyvtárunk rendszer szintű PATH beállításához nyisson meg egy szövegszerkesztőt a következő fájlhoz:

sudo nano /etc/environment

Most frissítse a ` PATH értékét az alábbiak szerint:

PATH=<path_to_dir>:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

A változások érvénybe lépéséhez indítsa újra a shell munkamenetet.

A könyvtár állandó hozzáadása a ` PATH-hoz az /etc/security/pam_env.conf használatával

Ez egy újabb rendszer szintű konfigurációs fájl, amely szabályozhatja a ` PATH értékét. Ez beállítja a környezeti változó értékét a rendszer összes felhasználója számára. Ha mind a /etc/environment, mind a /etc/security/pam_env.conf tartalmazza a ugyanazt a környezeti változót, akkor a /etc/security/pam_env.conf élvez prioritást.

A fájl szerkesztéséhez gyökér jogosultság szükséges. Vegye észre, hogy ez egy rendkívül érzékeny konfigurációs fájl, és a szintaktikai hiba vagy a helytelen konfiguráció megakadályozza bármely felhasználó bejelentkezését.

Nyisd meg a fájlt egy szövegszerkesztőben:

sudo nano /etc/security/pam_env.conf

A PATH környezeti változóhoz már kellene, hogy legyen egy bejegyzés. Távolítsa el a megjegyzést a sorból, és frissítse az értéket a következőképpen:

PATH           DEFAULT=${HOME}/bin:/usr/local/bin:/bin: :/usr/bin:/usr/local/bin/X11:/usr/bin/X11:<path_to_dir>

Mentse el a fájlt, és zárja be a szerkesztőt. A változtatások érvénybe léptetéséhez újra kell indítania a shell munkamenetet.

A változás ellenőrzése

Miután frissítetted a ` PATH értékét egy módon vagy másképpen, futtathatunk néhány parancsot, hogy ellenőrizzük, hogy sikeres volt-e.

Először is, ellenőrizd újra a ` PATH értékét, és erősítsd meg, hogy az új könyvtár benne van:

echo "${PATH//:/$'\n'}"

A bemutatónkhoz egy Bash scriptet helyeztünk el a könyvtárban. A "which" parancsnak képesnek kell lennie jelenteni a helyét:

which test.sh

Ha a PATH sikeresen frissítve van, a Bash-nak képesnek kell lennie a skript végrehajtására anélkül, hogy meg kellene adnia a pontos helyét:

test.sh

Ha a lépések sikeresek, akkor a ` PATH értéke sikeresen frissül.

Következtetés

Bemutattuk a különböző módokat, ahogyan egy könyvtárat hozzáadhatunk a PATH környezeti változóhoz Fedora rendszeren. Azt is megmutattuk, hogyan ellenőrizzük, hogy a folyamat sikeres volt-e.

Boldog számítógépezést!