PATH alkönyvtárakkal?

Egy apró kis trükköt osztok meg ma. Ha hasznosnak találod, akkor érdemes elmenteni, mert későbbiekben jól jöhet. Én szeretem rendezetten tartani a saját scriptjeimet, egyéb olyan programot, amit én fordítottam le, vagy külső (nem az Arch saját tárolóból, vagy az AUR-ból) forrásból telepítek. Ezeket a saját könyvtáramban a /bin alkönyvtárba rakom. Így egyben menthető az összes, illetve ha ezt a könyvtárat a PATH-ban megadom, akkor bárhonnét futtathatóak. A chkrootkit-et git-ről telepítve ütköztem bele abba, hogy sok fájlt tartalmazó a program, ha az összeset egyben bemásolom a ~/bin-be, akkor nehezen átlátható lesz, főleg, ha még pár tucat hasonló programot rakok fel, ami szintén több fájlt hoz magával. A másik megoldás, ha chkrootkit-master könyvtárat megadom PATH-ba. Ami egy logikus lépés, de nem túl hatékony, főleg, mert más programok is kerülnek fel hasonló módszerrel, a github-ról fordítva. Ideális lenne, ha a programok egy-egy alkönyvtárban, rendezetten foglalnának helyet, és ezek az alkönyvtárak automatikusan bekerülnének a PATH-ba. Kis google kutatás után találtam az alábbi megoldást, ami logikus is, de nem sok helyen láttam még.

PATH="$PATH:$(find ~/bin -type d -printf ":%p")"

A PATH-hoz adjuk azokat a find-del megtalált -type d azaz könyvtárakat, amelyek a ~/bin alatt vannak. Ha nem csak egy munkamenetre akarod ezt megtenni, akkor a bashrc, vagy a zshrc PATH= sora alá illeszd be. Ha nálad nem a saját könyvtárban a /bin-ben lesznek az ilyen programok, akkor értelemszerűen a saját gyűjtő mappásat ad meg. Ami fontos: soha!, de SOHA! nem másolj be egy ilyen sort, se a terminálba, se pedig egy konfigurációs fájlba automatikusan. Előbb értsd meg, mit is tesz, mit érsz el vele, és csak akkor használd, ha az neked megfelel!

Ellenérvként felvetik, hogy ez egy biztonsági rés, hiszen nem én szabályzom, hogy mi legyen a PATH-ban, és oda bármilyen program így belekerülhet, és azt bárhonnét futtathatja bárki… Az első olvasatban egy komoly érv, de ha belegondolsz, hogy nem „bármilyen” program kerülhet bele, hanem csak az, amit sajátkezűleg, egy megfelelő alkönyvtár létrehozása után én másolok oda. Nem belekerül azokba valami véletlenszerűen (ez is ellenérv volt) hanem én rakom oda, mint a rendszer gazdája. Az egyértelműen hiba lenne, ha pld. a ~/bin helyett a ~/Letöltések-et adnád meg, vagy bármilyen olyan könyvtárat, amiben bármelyik program írhat és nem te, tudatosan, akaratlagosan, felelősséged teljes tudatában másolod be azt, amit te akarsz.

Ez is a blogomban jelent meg: magyarlinux.hu...

Hozzászólások

Milyen hosszú lehet a PATH?

Értékelés: 

0
Még nincs értékelve

Jó kis cikk, de egy technikai infó érdekel, ha tudja valaki. Csak fakultatíve, mert csak úgy eszembe jutott a cikk kapcsán. Mekkora lehet max. a változó mérete (hossza)? Mert így ugye akármennyi alkönyvtár is lehet, az akármennyi meg ugye jelenthet akármennyit is :-). Tuti van valami limit, de mégis mekkora ez?

Milyen hosszú lehet a PATH?

Értékelés: 

0
Még nincs értékelve

#1 Kicsit kutattam, eltérő vélemények vannak, de normál körülmények közt nem fogunk beleütközni, a legkisebb érték amit írtak az ezres nagyságrendű, de a legtöbben a "nincs lekorlátozva" véleményen vannak. Ami BIZTOS, hogy hat alkönyvtár mélység 50 karakter hosszú alkönyvtárnévvel nem akadály, kipróbáltam. 

 

Milyen hosszú lehet a PATH?

Értékelés: 

0
Még nincs értékelve

#1.1 xargs --show-limits
ezzel lekérdezheted a pontos méretet, linuxmind-es diskordon javasolták.