23 Hyödyllisiä PKG-komento-esimerkkejä pakettien hallintaan FreeBSD:ssä


Tässä opetusohjelmassa selitämme, kuinka hallita esikäännettyjä binääripakettisovelluksia FreeBSD:ssä PKG -nimisen paketinhallintatyökalun avulla Porttien kautta. > ohjelmistojen kokoelmatietovarasto.

Portit-arkisto tarjoaa tarvittavat työkalut sovellusten kääntämiseen lähdekoodista niiden riippuvuuksien ohella, mutta ylläpitää myös valtavaa kokoelmaa valmiiksi käännettyjä paketteja, tällä hetkellä yli 24 000 pakettia, jotka voidaan asentaa FreeBSD-järjestelmään pkg-komennolla.

Vaatimukset:

  1. FreeBSD 11.x asennus

Etsi ja löydä sovelluksia FreeBSD:n porttipuussa

1. Porttivarastot on jaettu luokkiin FreeBSD:ssä, jokaista luokkaa edustaa hakemisto /usr/ports/-tiedostojärjestelmäpolussa.

Yksinkertainen luettelo hakemistosta /usr/ports/ näyttää kaikki käytettävissä olevat luokat alla olevan kuvakaappauksen mukaisesti.

ls /usr/ports/

2. Jos haluat nähdä kaikki luokkaan kuuluvat sovellukset, anna ls-komento luokkahakemistoon.

Oletetaan, että haluat näyttää kaikki saatavilla olevat ohjelmistopaketit, jotka tietokantakategorialla on tarjota, suorita alla oleva komento konsolissa. Liu'uta tulos vähemmällä komennolla navigoidaksesi helpommin tulosteen läpi.

ls /usr/ports/databases/ | less

3. Jos haluat nähdä, kuinka monta pakettia luokassa on saatavilla, luettele luokkahakemisto ja laske tulos wc-komennolla alla olevan esimerkin mukaisesti.

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

Kuten yllä olevasta kuvakaappauksesta näet, FreeBSD-tietokantaluokka sisältää yli 1000 tietokannan valmiiksi hyväksyttyä pakettia.

4. Jos haluat nähdä, onko tietty sovellus saatavilla luokassa, käytä ls-komentoa ja suodata tulos grep-apuohjelman avulla, jotta voit etsiä mukautetun sovelluksen.

Alla olevissa esimerkeissä etsitään saatavilla olevia mongodb-tietokantapaketteja ja clam antivirus -tietoturvapaketteja.

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

Kuten näet, sovelluksesta voi olla saatavana useita versioita FreeBSD-porteissa.

5. Jos et tiedä, mihin luokkaan ohjelmisto kuuluu, voit etsiä ohjelmistoluokan toisella tavalla. Käytä shell globbing -jokerimerkkiä * etsiäksesi kuviota koko Porttihakemistopuusta.

Olettaen, että haluat nähdä, mistä luokasta löydät mailx-apuohjelman ohjelmistopaketit, voit suorittaa seuraavan komennon.

ls /usr/ports/*/*mailx

6. Toinen tapa etsiä ohjelmistopakettia ja luokkaa, johon paketti kuuluu, on käyttää locate-komentoa merkkijonomallia vastaan.

Ennen kuin suoritat hakumerkkijonon, sinun tulee päivittää paikannustietokanta seuraavalla komennolla.

/usr/libexec/locate.updatedb

7. Kun olet päivittänyt paikannustietokannan, etsi tietty ohjelmistopaketti käyttämällä paketin nimen avainsanamallia. Jos esimerkiksi haluat etsiä mailx-apuohjelmaa, voit suorittaa alla olevan komennon.

locate mailx

Kuten näet, mailx-apuohjelmalle on saatavilla kaksi pakettia, jotka molemmat sijaitsevat kategoriassa /usr/ports/mail/.

8. Samalla tavalla kuin etsit paketin locate-komennolla, voit myös käyttää whereis-komentoa tarkastellaksesi sovellusluokkaa.

whereis mailx

Hae ohjelmistoa FreeBSD:n PKG-komennon kautta

9. Helpoin tapa etsiä ja löytää sovelluksia FreeBSD:ssä on PKG-paketinhallinnan komentorivin kautta. Jos haluat etsiä binääripaketeista sovellusta, esimerkiksi postfix-ohjelmistoa, anna alla oleva komento.

pkg search package_name

10. Jos haluat nähdä, mihin luokkaan paketti kuuluu, suorita sama komento kuin yllä -o-lipulla, kuten alla olevissa esimerkeissä näkyy.

pkg search -o package_name

Hallitse ohjelmistoja FreeBSD:ssä

11. Asenna esikäännetty paketti FreeBSD:n porttivarastoista antamalla komennon pkg alla olevan esimerkin mukaisesti.

pkg install package_name

12. Jos haluat tiedustella tietoja tietystä järjestelmään asennetusta paketista, anna alla oleva komento.

pkg info package_name

13. pkg info -komentokytkin näyttää viestin "Ei paketteja, jotka vastaavat paketin_nimeä", jos ohjelmistopakettia ei ole jo asennettu järjestelmäsi alla olevan kuvakaappauksen mukaisesti.

pkg info tcpdump

14. Listaaksesi kaikki asennetut ohjelmistopaketit FreeBSD:ssä suorita komento pkg info ilman valitsimia tai kytkimiä.

pkg info -komennon grep-suodatin voi näyttää, onko järjestelmässä jo tiettyjä paketteja tai sovelluksia, kuten alla olevassa esimerkissä näkyy.

pkg info | grep ftp

15. Jos haluat poistaa paketin järjestelmästä, anna alla olevat komennot.

pkg remove package_name
or
pkg delete package_name

16. Jos haluat estää asennetun paketin poistamisen tai muuttamisen, voit käyttää pkg-komennon lock-kytkintä alla olevan kuvan mukaisesti.

pkg lock package_name

Unlock pkg-komentokytkimen avulla voit poistaa pakettirajoituksen ja muokata pakettia tai poistaa sen asennuksen.

pkg unlock package_name

17. Saadaksesi selville, mihin asennettuun pakettiin komento tai suoritettava tiedosto kuuluu, anna seuraava komento alla olevissa kuvakaappausesimerkeissä kuvatulla tavalla.

pkg which /path/to/executable

18. Jos haluat ladata paketin paikallisesti Portit-varastosta asentamatta pakettia järjestelmään, suorita pkg-komento komennolla nouto-kytkin.

Ladattu binaaripaketti, joka on pakattu .txz-tiedosto, löytyy järjestelmäpolusta /var/cache/pkg/.

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

19. Anna alla oleva komento tarkistaaksesi, ovatko asennetut paketit alttiina yleisille haavoittuvuuksille tai virheille.

pkg audit -F

Jos haluat nähdä luettelon vanhoista haavoittuvuuksista, jotka vaikuttavat aiempien versioiden ohjelmistopakettiin, anna alla oleva komento.

pkg audit package_name

Alla on ote kaikista tunnetuista haavoittuvuuksista, jotka löytyivät FreeBSD:tä varten käännetystä Nginx-verkkopalvelimesta.

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

Ylläpidä paketinhallintatyökalua FreeBSD:ssä

20. Anna seuraavat komennot varmistaaksesi, että ohjelmistovarastot ja kaikki asennetut paketit ovat ajan tasalla uusimpien versioiden tai tietoturvakorjausten kanssa.

pkg update
pkg upgrade

21. Jos haluat näyttää etävarastojen ja paikallisten pakettien tilastot, kuten kuinka monta pakettia järjestelmääsi on asennettu ja kuinka paljon levytilaa asennettu ohjelmisto täyttää, suorita seuraava komento.

pkg stats

22. Jos haluat poistaa kaikki järjestelmään asennettujen pakettien jättämät riippuvuudet, anna alla oleva komento.

pkg autoremove

23. Jos haluat poistaa automaattisesti paketinhallinnan paikallisen välimuistihakemiston etäladatuille paketeille, suorita alla oleva komento. Sinun tulee ensin tarkistaa paikallisesti ladattujen binääripakettien luettelo.

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

Siinä kaikki! Kuten näette, FreeBSD:llä on vaikuttava pakettien keruujärjestelmä, joka on samanlainen kuin Linux-jakeluissa, kuten Yum, RPM ja APT, käytetyt paketinhallintatyökalut, jossa on valtava määrä valmiiksi käännettyjä ohjelmistobinaareja sekä yksinkertainen ja tehokas komentorivi, pkg, jolla voidaan hallita ohjelmistoa kunnollisesti.