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.
- 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.