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 nonexistentA 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 $PATHIntuití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: <<< $PATHecho $PATH | awk -F: '{for(i=1;i<=NF;i++)print $i}'
awk '{split($0,arr,":"); for(var in arr) print arr[var]}' <<< $PATHpython3 -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/demoMost 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.shA 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 ~/.bashrcFelté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 ~/.bashrcA 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/environmentA 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/environmentMost frissítse a ` PATH értékét az alábbiak szerint:
PATH=<path_to_dir>:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbinA 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.confA 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.shHa 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.shHa 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!






















