23 naudingi PKG komandų pavyzdžiai, kaip tvarkyti paketus FreeBSD


Šioje pamokoje paaiškinsime, kaip valdyti iš anksto sukompiliuotas dvejetainių paketų programas FreeBSD naudojant paketų valdymo įrankį, pavadintą PKG per prievadus. > programinės įrangos rinkinių saugykla.

Ports saugykla siūlo būtinus įrankius programoms iš šaltinio kodo sudaryti, kartu su jų priklausomybėmis, bet taip pat palaiko didžiulę iš anksto sudarytų paketų kolekciją, šiuo metu daugiau nei 24 000 paketų, kurį galima įdiegti FreeBSD sistemoje su komanda pkg.

Reikalavimai:

  1. FreeBSD 11.x diegimas

Ieškokite ir raskite programas „FreeBSD“ prievadų medyje

1. Prievadų saugyklos yra suskirstytos į kategorijas FreeBSD, kiekviena kategorija yra atstovaujama kataloge /usr/ports/ failų sistemos kelyje.

Paprastame katalogo /usr/ports/ sąraše bus rodomos visos galimos kategorijos, kaip parodyta toliau esančioje ekrano kopijoje.

ls /usr/ports/

2. Norėdami pamatyti visas galimas programas, priklausančias kategorijai, kategorijų kataloge išduokite ls komandą.

Tarkime, kad norite rodyti visus galimus programinės įrangos paketus, kuriuos turi pasiūlyti duomenų bazės kategorija, konsolėje vykdykite toliau pateiktą komandą. Nurodykite rezultatą naudodami mažiau komandų, kad būtų lengviau naršyti išvestyje.

ls /usr/ports/databases/ | less

3. Norėdami pamatyti, kiek paketų yra kategorijoje, įtraukite kategorijų katalogą ir gaukite rezultatą naudodami komandą wc, kaip parodyta toliau pateiktame pavyzdyje.

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

Kaip matote aukščiau esančioje ekrano kopijoje, FreeBSD duomenų bazės kategorijoje yra daugiau nei 1000 duomenų bazės iš anksto suderintų paketų.

4. Norėdami sužinoti, ar kategorijoje yra konkreti programa, vėl naudokite komandą ls ir filtruokite rezultatą naudodami grep paslaugų programą, kad galėtumėte ieškoti tinkintos programos.

Toliau pateiktuose pavyzdžiuose ieškos mongodb duomenų bazės galimų paketų ir clam antivirus saugos paketų.

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

Kaip matote, FreeBSD prievaduose gali būti prieinamos kelios programos versijos.

5. Jei nežinote, kuriai kategorijai priklauso programinė įranga, galite naudoti kitą metodą programinės įrangos kategorijai rasti. Norėdami ieškoti šablono visame prievadų katalogų medyje, naudokite apvalkalo pakaitos simbolį *.

Darant prielaidą, kad norite pamatyti, kurioje kategorijoje galite rasti programinės įrangos paketus, skirtus mailx programai, galite paleisti šią komandą.

ls /usr/ports/*/*mailx

6. Kitas būdas ieškoti programinės įrangos paketo ir kategorijos, kuriai paketas priklauso, yra naudoti komandą locate prieš eilutės šabloną.

Prieš atlikdami paieškos eilutę, turėtumėte atnaujinti vietos duomenų bazę naudodami šią komandą.

/usr/libexec/locate.updatedb

7. Atnaujinę vietos nustatymo duomenų bazę, ieškokite konkretaus programinės įrangos paketo naudodami raktinio žodžio šabloną pagal paketo pavadinimą. Pavyzdžiui, jei norite ieškoti mailx paslaugų programos, galite paleisti toliau pateiktą komandą.

locate mailx

Kaip matote, yra du mailx paslaugų paketai, abu yra kategorijoje /usr/ports/mail/.

8. Panašiai kaip ieškodami paketo su locate komanda, taip pat galite naudoti komandą whereis, kad peržiūrėtumėte programos kategoriją.

whereis mailx

Ieškokite programinės įrangos per PKG komandą FreeBSD

9. Lengviausias būdas ieškoti ir rasti programą FreeBSD yra naudojant PKG paketų valdymo komandinę eilutę. Norėdami dvejetainiuose paketuose ieškoti programos, pvz., postfix programinės įrangos, išduokite toliau pateiktą komandą.

pkg search package_name

10. Jei norite sužinoti, kuriai kategorijai paketas priklauso, paleiskite tą pačią komandą, kaip ir anksčiau, naudodami vėliavėlę -o, kaip parodyta toliau pateiktuose pavyzdžiuose.

pkg search -o package_name

Tvarkykite programinę įrangą „FreeBSD“.

11. Norėdami įdiegti iš anksto sukompiliuotą paketą iš „FreeBSD“ prievadų saugyklų, išleiskite komandą pkg, kaip parodyta toliau pateiktame pavyzdyje.

pkg install package_name

12. Norėdami užklausti informacijos apie konkretų sistemoje įdiegtą paketą, išduokite toliau pateiktą komandą.

pkg info package_name

13. Komandos jungiklis pkg info parodys pranešimą „Nėra paketų, atitinkančių paketo_pavadinimą“, jei programinės įrangos paketas dar neįdiegtas savo sistemą, kaip parodyta toliau esančioje ekrano kopijoje.

pkg info tcpdump

14. Norėdami pateikti visų FreeBSD įdiegtų programinės įrangos paketų sąrašą, paleiskite komandą pkg info be jokių parinkčių ar jungiklių.

Grep filtras prieš komandą pkg info gali parodyti, ar sistemoje jau yra tam tikrų paketų arba programų, kaip parodyta toliau pateiktame pavyzdyje.

pkg info | grep ftp

15. Norėdami pašalinti paketą iš sistemos, išduokite toliau pateiktas komandas.

pkg remove package_name
or
pkg delete package_name

16. Jei norite neleisti pašalinti ar modifikuoti įdiegto paketo, galite naudoti pkg komandos jungiklį užrakinti, kaip parodyta toliau esančiame paveikslėlyje.

pkg lock package_name

Atrakinti pkg komandos jungiklis leis jums pašalinti paketo apribojimą ir modifikuoti arba pašalinti paketą.

pkg unlock package_name

17. Norėdami sužinoti, kuriam įdiegtam paketui priklauso komanda arba vykdomasis failas, išduokite šią komandą, kaip parodyta toliau pateiktuose ekrano kopijų pavyzdžiuose.

pkg which /path/to/executable

18. Norėdami vietoje atsisiųsti paketą iš prievadų saugyklos, neįdiegę paketo sistemoje, paleiskite pkg komandą naudodami atrankosjungiklis.

Atsisiųstą dvejetainį paketą, kuris yra suglaudintas .txz failas, galite rasti sistemos kelyje /var/cache/pkg/.

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

19. Norėdami patikrinti, ar įdiegtuose paketuose nėra įprastų pažeidžiamumų ar klaidų, išduokite toliau pateiktą komandą.

pkg audit -F

Norėdami pamatyti senų pažeidžiamumų, kurie turi įtakos ankstesnių versijų programinės įrangos paketui, sąrašą, išduokite toliau pateiktą komandą.

pkg audit package_name

Toliau pateikiamas visų žinomų pažeidžiamumų, esančių Nginx žiniatinklio serveryje, sudarytame FreeBSD, ištrauka.

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

Išlaikykite paketų valdymo įrankį FreeBSD

20. Norėdami užtikrinti, kad programinės įrangos saugyklos ir visi įdiegti paketai būtų atnaujinami su naujausiomis versijomis arba saugos pataisomis, išduokite šias komandas.

pkg update
pkg upgrade

21. Norėdami parodyti nuotolinių saugyklų ir vietinių paketų statistiką, pvz., kiek paketų įdiegta jūsų sistemoje ir kiek vietos diske užpildo įdiegta programinė įranga, vykdykite šią komandą.

pkg stats

22. Norėdami ištrinti visas sistemoje įdiegtų paketų paliktas priklausomybes, išduokite toliau pateiktą komandą.

pkg autoremove

23. Norėdami automatiškai ištrinti nuotoliniu būdu atsisiųstų paketų paketų valdymo vietinės talpyklos katalogą, paleiskite toliau pateiktą komandą. Pirmiausia turėtumėte patikrinti vietoje atsisiųstų dvejetainių paketų sąrašą.

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

Tai viskas! Kaip matote, FreeBSD turi įspūdingą paketų rinkimo sistemą, panašią į paketų valdymo įrankius, naudojamus Linux distribucijose, pvz., Yum, RPM ir APT, su daugybe iš anksto sukompiliuotų programinės įrangos dvejetainių failų ir efektyvi komandų eilutė, pkg, kurią galima naudoti norint tinkamai valdyti programinę įrangą.