23 Gagnleg PKG stjórnunardæmi til að stjórna pakka í FreeBSD


Í þessari kennslu munum við útskýra hvernig á að stjórna fyrirfram samsettum tvíundarpakkaforritum í FreeBSD með hjálp pakkastjórnunartólsins sem heitir PKG í gegnum Ports hugbúnaðarsafngeymslu.

Ports repository býður upp á nauðsynleg verkfæri til að setja saman forrit úr frumkóða, ásamt ósjálfstæði þeirra, en heldur einnig við miklu safni af forsamsettum pakka, sem stendur meira en 24.000 pakka, sem hægt er að setja upp á FreeBSD kerfi með pkg skipun.

  1. FreeBSD 11.x uppsetning

Leitaðu og finndu forrit í Ports Tree í FreeBSD

1. Hafnageymslum er skipt í flokka í FreeBSD, hver flokkur er táknaður með möppu í /usr/ports/ skráarkerfisslóð.

Einföld skráning á möppunni /usr/ports/ mun sýna alla tiltæka flokka eins og sýnt er á skjámyndinni hér að neðan.

# ls /usr/ports/

2. Til að sjá öll tiltæk forrit sem tilheyra flokki skaltu gefa út ls skipun gegn flokkaskrá.

Segjum sem svo að þú viljir sýna alla tiltæka hugbúnaðarpakka sem gagnagrunnsflokkurinn hefur upp á að bjóða, framkvæmdu skipunina hér að neðan í stjórnborðinu. Sendu niðurstöðuna með minni skipun til að fletta auðveldara í gegnum úttakið.

# ls /usr/ports/databases/ | less

3. Til að sjá hversu margir pakkar eru tiltækir í flokki skaltu skrá flokkaskrána og senda niðurstöðuna í gegnum wc skipunina eins og sýnt er í dæminu hér að neðan.

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

Eins og þú sérð á skjámyndinni hér að ofan, geymir FreeBSD gagnagrunnsflokkur meira en 1000 gagnagrunnspakka fyrirfram.

4. Til þess að sjá hvort tiltekið forrit sé fáanlegt í flokki, notaðu aftur grep tólið til að leita að sérsniðnu forriti.

Í dæmunum hér að neðan mun leita að mongodb gagnagrunni tiltækum pakka og samloku vírusvarnaröryggispakka.

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

Eins og þú sérð geta margar útgáfur af forriti verið fáanlegar í FreeBSD Ports.

5. Ef þú veist ekki í hvaða flokki hugbúnaður tilheyrir geturðu notað aðra nálgun til að finna hugbúnaðarflokkinn. Notaðu skelglóbbandi jokertákn * til að leita að mynstri í gegnum allt Ports möpputréð.

Miðað við að þú viljir sjá í hvaða flokki þú getur fundið hugbúnaðarpakkana fyrir mailx gagnsemi, getur þú keyrt eftirfarandi skipun.

# ls /usr/ports/*/*mailx

6. Önnur aðferð til að leita að hugbúnaðarpakka og þeim flokki sem pakkinn tilheyrir er með því að nota locate skipunina á móti strengamynstri.

Áður en þú framkvæmir leitarstrenginn ættir þú að uppfæra staðsetningargagnagrunninn með eftirfarandi skipun.

# /usr/libexec/locate.updatedb

7. Eftir að þú hefur uppfært staðsetningargagnagrunn skaltu leita að tilteknum hugbúnaðarpakka með því að nota lykilorðamynstur úr nafni pakkans. Til dæmis, ef þú vilt leita að mailx tólinu geturðu keyrt skipunina hér að neðan.

# locate mailx

Eins og þú sérð eru tveir pakkar í boði fyrir mailx gagnsemi, báðir staðsettir í /usr/ports/mail/ flokki.

8. Svipað og að finna pakka með whereis skipun, til að skoða forritaflokkinn.

# whereis mailx

Leitaðu að hugbúnaði í gegnum PKG Command í FreeBSD

9. Auðveldasta aðferðin til að leita og finna forrit í FreeBSD er í gegnum PKG pakkastjórnunarskipanalínuna. Til að leita í tvíundarpakkanum að forriti, td postfix hugbúnaði, gefðu út skipunina hér að neðan.

# pkg search package_name

10. Ef þú vilt sjá hvaða flokki pakkinn tilheyrir skaltu keyra sömu skipunina og hér að ofan með -o fánanum, eins og sýnt er í dæmunum hér að neðan.

# pkg search -o package_name

Stjórna hugbúnaði í FreeBSD

11. Til að setja upp forsamdan pakka frá Ports geymslum í FreeBSD, gefðu út pkg skipunina eins og sýnt er í dæminu hér að neðan.

# pkg install package_name

12. Til að spyrjast fyrir um upplýsingar um tiltekinn uppsettan pakka í kerfinu skaltu gefa út skipunina hér að neðan.

# pkg info package_name

13. Skipunarrofinn fyrir pkg info mun birta skilaboðin „Engir pakkar sem passa við pakkanafn“ ef hugbúnaðarpakkinn er ekki þegar uppsettur í kerfinu þínu, eins og sýnt er á skjámyndinni hér að neðan.

# pkg info tcpdump

14. Til þess að skrá alla uppsetta hugbúnaðarpakka í FreeBSD skaltu framkvæma pkg info skipunina án valkosts eða rofa.

grep sían gegn pkg info skipuninni getur sýnt þér hvort einhverjir tilteknir pakkar eða forrit eru þegar til staðar í kerfinu, eins og sýnt er í dæminu hér að neðan.

# pkg info | grep ftp

15. Til að fjarlægja pakka úr kerfinu skaltu gefa út skipanirnar hér að neðan.

# pkg remove package_name
or
# pkg delete package_name

16. Ef þú vilt koma í veg fyrir að uppsettur pakki sé fjarlægður eða breyttur geturðu notað læsisrofann fyrir pkg skipunina, eins og sýnt er á myndinni hér að neðan.

# pkg lock package_name

Opnaðu pkg skipunarrofann mun leyfa þér að fjarlægja pakkatakmörkunina og breyta eða fjarlægja pakkann.

# pkg unlock package_name

17. Til að komast að því hvaða uppsettu pakka skipun eða keyrsluskrá tilheyrir skaltu gefa út eftirfarandi skipun, eins og sýnt er í skjámyndadæmunum hér að neðan.

# pkg which /path/to/executable

18. Til þess að hlaða niður pakka á staðnum frá Ports repository, án þess að setja upp pakkann á kerfinu, keyrðu pkg skipunina með niðurhalsrofanum.

Niðurhalaða pakkann, sem er þjappuð .txz skrá, er að finna í /var/cache/pkg/ kerfisslóð.

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

19. Til að athuga hvort uppsettu pakkarnir séu útsettir fyrir algengum veikleikum eða villum skaltu gefa út skipunina hér að neðan.

# pkg audit -F

Til að sjá lista yfir gamla veikleika sem hafa áhrif á hugbúnaðarpakka í fyrri útgáfum skaltu gefa út skipunina hér að neðan.

# pkg audit package_name

Hér að neðan er útdráttur af öllum þekktum veikleikum sem finnast í Nginx vefþjóni sem var safnað saman fyrir FreeBSD.

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

Halda pakkastjórnunarbúnaði í FreeBSD

20. Til að tryggja að hugbúnaðargeymslur og allir uppsettir pakkar séu uppfærðir með nýjustu útgáfum eða öryggisplástrum skaltu gefa út eftirfarandi skipanir.

# pkg update
# pkg upgrade

21. Til að sýna fjargeymslur og staðbundnar pakkatölfræði, eins og hversu margir pakkar eru settir upp í kerfinu þínu og hversu mikið pláss er fyllt af uppsettum hugbúnaði, skaltu framkvæma eftirfarandi skipun.

# pkg stats

22. Til að eyða öllum ósjálfstæðum sem uppsettir pakkar skilja eftir í kerfinu skaltu gefa út skipunina hér að neðan.

# pkg autoremove

23. Til þess að eyða sjálfkrafa pakkastjórnun staðbundinni skyndiminni skrá fyrir fjarstýrða pakka, keyrðu skipunina hér að neðan. Þú ættir fyrst að staðfesta listann yfir staðbundið niðurhalaða tvöfalda pakka.

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

Það er allt og sumt! Eins og þú sérð er FreeBSD með glæsilegt pakkasöfnunarkerfi, svipað og pakkastjórnunartól sem notuð eru í Linux dreifingum eins og APT með gríðarlegum fjölda forsamsettra hugbúnaðar tvíliða og einfaldri og áhrifaríkri skipanalínu, pkg, sem hægt er að nota til að stjórna hugbúnaðinum á viðeigandi hátt.