23 kasulikku PKG käsunäidet FreeBSD pakettide haldamiseks


Selles õpetuses selgitame, kuidas hallata FreeBSD-s eelnevalt kompileeritud binaarpakettide rakendusi PKG-nimelise paketihaldustööriista abil Ports tarkvara kogumikhoidla kaudu.

Pordihoidla pakub vajalikke tööriistu rakenduste koostamiseks lähtekoodist koos nende sõltuvustega, kuid haldab ka tohutut eelkompileeritud pakettide kogu, praegu üle 24 000 paketi, mida saab FreeBSD süsteemi installida käsuga pkg.

  1. FreeBSD 11.x installimine

Rakenduste otsimine ja leidmine FreeBSD portipuust

1. Sadamahoidlad jagunevad FreeBSD-s kategooriatesse, kusjuures iga kategooriat esindab kataloog kataloogis/usr/ports/failisüsteemi tee.

Kataloogi/usr/ports/lihtsas loendis kuvatakse kõik saadaolevad kategooriad, nagu on näidatud alloleval ekraanipildil.

# ls /usr/ports/

2. Kõigi kategooriasse kuuluvate saadaolevate rakenduste nägemiseks väljastage kategooria kataloogi vastu käsk ls.

Oletame, et soovite kuvada kõik saadaolevad tarkvarapaketid, mida andmebaasikategooria pakub, käivitage konsoolis järgmine käsk. Väljundis hõlpsamaks navigeerimiseks sisestage tulemus käsu vähem käsuga.

# ls /usr/ports/databases/ | less

3. Selleks et vaadata, kui palju pakette on kategoorias saadaval, loetlege kategooriate kataloog ja sisestage tulemus käsuga wc, nagu on näidatud allpool toodud näites.

# ls /usr/ports/databases/ | wc -l

Nagu ülaltoodud ekraanipildilt näha, sisaldab FreeBSD andmebaasikategooria enam kui 1000 andmebaasile eelnevalt täidetud paketti.

4. Selleks et näha, kas kategoorias on saadaval konkreetne rakendus, kasutage kohandatud rakenduse otsimiseks uuesti utiliiti grep.

Allpool toodud näidetes otsitakse mongodb andmebaasist saadaolevaid pakette ja karpide viirusetõrjepakette.

# ls /usr/ports/databases/ | grep mongodb
# ls /usr/ports/security/ | grep clam

Nagu näete, võib FreeBSD pordides olla saadaval mitu rakenduse versiooni.

5. Kui te ei tea, millisesse kategooriasse tarkvara kuulub, võite tarkvarakategooria leidmiseks kasutada muud lähenemist. Musti otsimiseks kogu sadamakataloogide puust kasutage koorega kerget tähemärki * .

Eeldades, et soovite näha, millises kategoorias leiate Mailxi utiliidi tarkvarapaketid, võite käivitada järgmise käsu.

# ls /usr/ports/*/*mailx

6. Teine meetod tarkvarapaketi ja kategooria, kuhu pakett kuulub, otsimiseks on stringimustri vastu käsu locate kasutamine.

Enne otsingustringi täitmist peate värskendama asukoha andmebaasi järgmise käsuga.

# /usr/libexec/locate.updatedb

7. Kui olete andmebaasi asukoha värskendanud, otsige konkreetset tarkvarapaketti, kasutades paketi nimest pärit märksõnamustrit. Näiteks kui soovite otsida utiliiti mailx, võite käivitada alloleva käsu.

# locate mailx

Nagu näete, on mailxi utiliidi jaoks saadaval kaks paketti, mõlemad asuvad/usr/ports/mail/category.

8. Sarnaselt paketiga, kus on käsk, ka rakenduse kategooria kuvamiseks.

# whereis mailx

Otsige tarkvara FreeBSD-s PKG käsu kaudu

9. Lihtsaim viis FreeBSD-s rakenduse otsimiseks ja leidmiseks on PKG paketihalduse käsurida. Binaarpakettidest rakenduse, näiteks postfix tarkvara otsimiseks väljastage järgmine käsk.

# pkg search package_name

10. Kui soovite näha, millisesse kategooriasse pakett kuulub, käivitage sama käsk nagu ülalpool lipuga -o , nagu on näidatud allpool toodud näidetes.

# pkg search -o package_name

Tarkvara haldamine FreeBSD-s

11. Eeltoodud paketi installimiseks FreeBSD portihoidlatest väljastage käsk pkg, nagu on näidatud allpool toodud näites.

# pkg install package_name

12. Süsteemi konkreetse installitud paketi kohta teabe pärimiseks väljastage järgmine käsk.

# pkg info package_name

13. Kui käsklüliti pkg info kuvatakse teade\"No package_name matching pakette (pakette)", kui tarkvarapakett pole teie süsteemi veel installitud, nagu on näidatud alloleval ekraanipildil.

# pkg info tcpdump

14. Kõigi installitud tarkvarapakettide loetlemiseks FreeBSD-s käivitage käsk pkg info ilma võimaluste ja lülititeta.

Grep-filter käsu pkg info vastu näitab teile, kas süsteemis on juba olemas konkreetseid pakette või rakendusi, nagu on näidatud allpool toodud näites.

# pkg info | grep ftp

15. Paketi süsteemist eemaldamiseks väljastage järgmised käsud.

# pkg remove package_name
or
# pkg delete package_name

16. Juhul, kui soovite takistada installitud paketi eemaldamist või muutmist, võite käsu pkg jaoks kasutada lukustuslülitit, nagu on näidatud alloleval pildil.

# pkg lock package_name

Käsklüliti pkg avamine võimaldab teil eemaldada paketipiirangu ja paketti muuta või desinstallida.

# pkg unlock package_name

17. Selleks et teada saada, millisesse installitud paketti kuulub käsk või käivitatav fail, väljastage järgmine käsk, nagu on näidatud allpool toodud ekraanipiltide näidetes.

# pkg which /path/to/executable

18. Paketi kohalikust allalaadimiseks sadamate hoidlast, ilma süsteemi paketti installimata, käivitage käsk pkg koos allalaadimislülitiga.

Allalaaditud binaarpaketi, mis on tihendatud .txz-fail, leiate kataloogist/var/cache/pkg/system path.

# pkg fetch package_name
# ls /var/cache/pkg/ | grep package_name

19. Kontrollige, kas installitud paketid puutuvad kokku levinud haavatavuste või vigadega, väljastage järgmine käsk.

# pkg audit -F

Vanade nõrkade kohtade loendi kuvamiseks väljastage allpool käsk, mis mõjutavad varasemate versioonide tarkvarapaketti.

# pkg audit package_name

Allpool on väljavõte kõigist teadaolevatest haavatavustest, mis FreeBSD jaoks koostati Nginxi veebiserveris.

# pkg audit nginx
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
CVE: CVE-2014-0133
WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html
...

Hoidke FreeBSD-s paketihalduse utiliiti

20. Tagamaks, et tarkvarahoidlad ja kõik teie installitud paketid oleksid ajakohased uusimate versioonide või turvapaikadega, väljastage järgmised käsud.

# pkg update
# pkg upgrade

21. Et kuvada kaughoidlate ja kohalike pakettide statistikat, näiteks mitu süsteemi on installitud paketti ja kui palju kettaruumi täidab installitud tarkvara, täitke järgmine käsk.

# pkg stats

22. Kõigi süsteemis installitud pakettide poolt jäetud sõltuvuste kustutamiseks väljastage järgmine käsk.

# pkg autoremove

23. Kauglaaditud pakettide paketihalduse kohaliku vahemälu kataloogi automaatseks kustutamiseks käivitage järgmine käsk. Kõigepealt peaksite kontrollima kohapeal alla laaditud binaarpakettide loendit.

# pkg clean -a -n  
# pkg clean -a -y

See on kõik! Nagu näete, on FreeBSD-l muljetavaldav pakendikogumissüsteem, mis sarnaneb Linuxi distributsioonides kasutatavate paketihaldustööriistadega, näiteks APT koos tohutu hulga eelnevalt kompileeritud tarkvara binaarfailide ning lihtsa ja tõhusa käsureaga pkg, mida saab kasutada tarkvara korralikult hallata.