Hoe de Pkg Package Manager op FreeBSD 12 te gebruiken

Invoering

FreeBSD is een open source Unix-achtig besturingssysteem dat wordt gebruikt om moderne servers, desktops en embedded platforms van stroom te voorzien. Reuzen zoals Netflix, Yahoo !, WhatsApp, BBC en Sony gebruiken FreeBSD in een of andere vorm. Het FreeBSD-systeem is niet zo algemeen bekend als Linux, voornamelijk omdat Linux zich al vele jaren op de Desktop heeft gericht en het FreeBSD-project meer op servers is gebaseerd.

In deze gids leert u over pakketbeheer op FreeBSD 12.

Poorten versus pakketten

Op FreeBSD hebben we twee verschillende manieren om add-on software te installeren: via de Portscollectie of Ports en via vooraf geconfigureerde pakketten om software te installeren en te beheren.

Ports is een systeem voor het bouwen van aanvullende software op FreeBSD. Met Ports begint u met de onbewerkte broncode die door de softwareleverancier wordt geleverd en bouwt u de software precies op de manier die u nodig hebt, waarbij u functies naar wens in- en uitschakelt.

Pakketten zijn voorgecompileerde software en ze zijn het resultaat van het bouwen van poorten, waarbij gebruik wordt gemaakt van de opties waarvan de poortbeheerder denkt dat deze het nuttigst zijn voor de meest uiteenlopende mensen en ze bundelen in een pakket zodat ze gemakkelijk kunnen worden geïnstalleerd. Met pakketten kunt u snel add-on-software installeren, verwijderen en upgraden. Het verpakkingssysteem van FreeBSD wordt pakket genoemd , of pkg. Pakketinformatie wordt opgeslagen in een SQLite-database die u kunt opvragen over pakketgegevens.

Een ander belangrijk aspect van FreeBSD pakketbeheer is de locatie van pakketbinaire bestanden. Pakketten installeren binaire /usr/localbestanden onder en de meeste configuratiebestanden komen terecht in /usr/local/etcplaats van /etc. Als je uit de Linux-wereld komt, vind je dit misschien heel ongebruikelijk.

De FreeBSD pakketbeheerder, pkg

De volgende generatie vervanging voor de traditionele FreeBSD-pakketbeheertools is pkg. Het aanbieden van vele functies die het werken met binaire pakketten sneller en gemakkelijker maken, pkgis de gemakkelijkste manier om software te installeren die nog niet is opgenomen in het basissysteem van FreeBSD. Het is een enkel programma met veel subopdrachten die u voor bijna elke bewerking op pakketten zult gebruiken, zoals het installeren, verwijderen en onderzoeken van pakketten. Alle pakketbewerkingen en wijzigingen moeten als rootof via worden uitgevoerd sudo.

Hier is hoe je het curlpakket op FreeBSD zou installeren :

pkg install curl

U kunt de opdracht invoeren -yom de Proceed with this action? [y/N]:vraag te vermijden bij het installeren van software of u kunt configureren pkgom altijd aan te nemen -yin een configuratiebestand.

Om het pakket te verwijderen, gebruikt u delete:

pkg delete curl

Zoals je kunt zien, is het heel eenvoudig en intuïtief.

Gebruik deze pkg helpvoor een snelle referentie over de beschikbare subopdrachten of pkg help <subcommand>om de man-pagina voor een bepaalde subopdracht weer te geven:

pkg help
pkg help install
pkg help delete

Installeren pkg

De standaardversie van FreeBSD wordt niet geleverd met de pkgpakketbeheerder geïnstalleerd. De eerste keer dat u een pakket probeert te installeren, pkgwordt u gevraagd het pakketbeheerprogramma te installeren. Laten we bijvoorbeeld zeggen dat het eerste pakket dat u op uw nieuwe FreeBSD wilt installeren is wget, en u zult de volgende prompt in uw terminal zien:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

U raakt Yen ENTERen de installatie van de tool voor pakketbeheer begint. Nadat het op zijn plaats zit, wordt het initiële softwarepakket dat u wilde installeren ( wget) geïnstalleerd.

U kunt het verpakkingssysteem ook zelfstandig installeren, zonder andere pakketten toe te voegen, door te draaien pkg bootstrap. Bovendien, pkgweet hoe te installeren en zichzelf en andere pakketten bij te werken.

OPMERKING: Vultr-instanties zijn pkgstandaard geïnstalleerd, dus u hoeft deze niet te installeren.

Configureren pkg

Het pkgprogramma is ontworpen om zeer flexibel te zijn, waarbij elke subopdracht veel opties heeft. U kunt aangepast, maar consistent gedrag voor de meeste programma's vaststellen met het systeembrede configuratiebestand voor pkg, dat zich bevindt in /usr/local/etc/pkg.conf.

Het bestand bevat standaardinstellingen voor opmerkingen pkg. Alleen al door dat bestand te lezen, kun je veel leren over hoe pkgzich gedraagt. De configuratie is geschreven in universele configuratietaal (UCL) en er zijn tal van becommentarieerde configuratie-opties en nogal wat aliassen. Variabelen kunnen worden ingesteld op een geheel getal, een tekenreeks of een Booleaanse waarde:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

U kunt aliassen definiëren voor pkgsubopdrachten in pkg.conf. Onderaan pkg.confvindt u een sectie met het label ALIAS. Als u merkt dat u herhaaldelijk complexe opdrachten uitvoert, moet u aliassen toevoegen.

Voor meer informatie over het bestandsformaat en de opties kunt u de pkg.conf(5)man-pagina raadplegen:

man pkg.conf

Pakketten zoeken

Nu u een pakketbeheerder hebt geïnstalleerd, kunt u pakketten installeren. Als u een systeembeheerder bent, bent u bekend met het feit dat verschillende besturingssystemen verschillende namen toewijzen aan verpakte versies van dezelfde software. Een pakket voor Apache-webserver op FreeBSD zal bijvoorbeeld een compleet andere naam hebben dan het verpakte Apache op verschillende Linux-distributies. Dus voordat u iets kunt installeren, moet u erachter komen wat de naam is van het pakket dat u wilt installeren.

Het FreeBSD-project biedt verschillende sets pakketten in een openbare repository, en ze worden om de paar dagen bijgewerkt. Er zijn momenteel meer dan 25.000 pakketten.

Laten we bijvoorbeeld proberen te zoeken naar de Apache-webserver:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Het zal alle pakketten vinden met apachein hun naam. Dit levert een lange lijst op, maar waar u naar op zoek bent, is het apache24pakket. Van elk pakket is er een korte beschrijving. Dit zou u moeten helpen bij het beslissen welk pakket u wilt installeren, maar het is niet altijd eenvoudig.

Sommige zoekopdrachten kunnen honderden resultaten opleveren. U moet verschillende opdrachtregelopties gebruiken om de zoekresultaten bij te snijden of aan te passen. Raadpleeg de pkg-searchman-pagina of helppagina pkg help searchvoor meer informatie over algemene zoekopties.

Als u niet zeker weet of een pakket is wat u echt wilt, kunt u de volgende opdracht gebruiken om details van het pakket op te zoeken:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

Deze opdracht geeft u veel nuttige informatie over het pakket.

Pakketten installeren

Om software te installeren, gebruikt u het installsubcommando en de naam van een pakket om te installeren:

pkg install apache24

Wanneer u pakketten installeert met pkg install, pkgraadpleegt u de lokale pakketcatalogus en downloadt u vervolgens het gevraagde pakket uit de repository op pkg.FreeBSD.org. Zodra het pakket is geïnstalleerd, wordt het geregistreerd in een SQLite-database die wordt bewaard /var/db/pkg/local.sqlite. Zorg ervoor dat u dit bestand niet verwijdert, anders verliest uw systeem uit het oog welke pakketten zijn geïnstalleerd. Als de software afhankelijkheden heeft, zoekt pkgu ze uit en installeert u ze samen met het basispakket. Pakketten die als afhankelijkheden zijn geïnstalleerd, worden automatische pakketten genoemd.

De pakketbeheerder heeft de mogelijkheid om pakketten gewoon via internet te downloaden en ze op één locatie op de schijf op te slaan. Hierdoor kun je ze op een ander moment installeren. U kunt de pkg fetchopdracht gebruiken om het pakket te downloaden zonder het te installeren:

pkg fetch nginx

Deze opdracht haalt alleen Nginx op zonder zijn afhankelijkheden. U kunt de -dvlag gebruiken om alle afhankelijkheden en het benoemde pakket te pakken:

pkg fetch -d nginx

De pakketten worden gedownload naar de pakketcachemap /var/cache/pkg. Nadat u pakketten heeft opgehaald, pkgvoegt u ze toe aan deze map. U kunt bestanden weergeven om te zien wat ze bevatten:

ls /var/cache/pkg

Voer nu pkg installnormaal uit om een ​​gedownload pakket na een ophaalactie te installeren . Het installatieproces gebruikt de gecachte bestanden in plaats van de gedownloade bestanden.

Na verloop van tijd kan de cachemap van het pakket groot worden. De pkg cleanopdracht verwijdert alle cachepakketten die zijn vervangen door nieuwere versies, evenals alle pakketbestanden die niet langer in de repository staan:

pkg clean

Gebruik de -avlag als u alle in de cache opgeslagen pakketten wilt verwijderen :

pkg clean -a

Als u de pakketcache automatisch wilt opschonen na elke pakketinstallatie of upgrade, stelt u de pkg.confoptie in AUTOCLEANop true.

Informatie verkrijgen over geïnstalleerde pakketten

Als u vergeet welke pakketten u op een systeem hebt geïnstalleerd, kunt u deze gebruiken pkg infoom een ​​volledige lijst met geïnstalleerde software te krijgen:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Als u meer informatie wilt over een geïnstalleerd pakket, gebruik dan pkg infoen de pakketnaam. Dit toont de details van de pakketinstallatie in een mensvriendelijk rapport:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

U kunt veel nuttige informatie zien, zoals de versie van de software, het tijdstip van de software-installatie, softwarelicentie, compilatietijdvlaggen en meer. Bekijk de pkg-infoman-pagina voor de volledige details.

Pakketten verwijderen

Gebruik de pkg deletesubopdracht om binaire pakketten te verwijderen . Het is ook verkrijgbaar als pkg remove:

pkg delete nginx
# or
pkg remove nginx

U krijgt een lijst met te verwijderen pakketten en hoeveel ruimte dit vrijmaakt.

Als u een pakket verwijdert waarvan andere pakketten afhankelijk zijn, pkgworden ook de afhankelijke pakketten verwijderd.

Pakketten vergrendelen

Het kan voorkomen dat u een pakket op uw server nooit wilt upgraden. Wanneer u een pakket vergrendelt, pkgwordt het niet geüpgraded, gedowngraded, verwijderd of opnieuw geïnstalleerd. Het past dezelfde regels toe op de afhankelijkheden van het pakket en de programma's waarvan het afhankelijk is.

Gebruik pkg lockom een ​​pakket te vergrendelen:

pkg lock openssl

Dit opensslpakket is nu vergrendeld.

Gebruik de -lvlag om alle momenteel vergrendelde pakketten op het systeem weer te geven :

pkg lock -l

Gebruik de pkg unlockopdracht om het slot te verwijderen :

pkg unlock openssl

Gebruik de -avlag om alle pakketten op het systeem tegelijk te vergrendelen of te ontgrendelen :

pkg lock -a
pkg unlock -a

Pakketrepository's

Pakketrepository's worden ondersteund door pkg, die verzamelingen pakketten worden genoemd. U kunt repository's toevoegen, verwijderen, inschakelen en uitschakelen. U moet elke repository in zijn eigen bestand configureren in UCL-indeling. Officiële FreeBSD-opslagplaatsen horen in de /etc/pkgdirectory. FreeBSD wordt geleverd met de opslagplaats "FreeBSD" ingeschakeld. Je vindt het configuratiebestand in /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

U kunt indien nodig opslagplaatsen toevoegen en verwijderen. Zoals /etc/pkggereserveerd voor officiële FreeBSD-repositories, heeft u een andere directory nodig. De traditionele locatie is /usr/local/etc/pkg/repos. Als u een andere directory wilt gebruiken, moet u een locatie instellen pkg.confmet de REPO_DIRSoptie. De lokale repository-directory bestaat standaard niet, dus u moet deze maken met mkdir -p /usr/local/etc/pkg/repos. Plaats uw eigen repositoryconfiguraties in die map.

Voorbeeld pkgsubopdrachten

Deze sectie geeft een lijst van enkele van de meest gebruikte subopdrachten die u hoogstwaarschijnlijk zult gebruiken bij het beheren van een FreeBSD-server:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

Belangrijke bestanden en mappen

  • Het pkgconfiguratiebestand -/usr/local/etc/pkg.conf
  • Directory gereserveerd voor officiële FreeBSD repositories - /etc/pkg
  • FreeBSD repository-bestand - /etc/pkg/FreeBSD.conf
  • Traditionele locatie voor aangepaste opslagplaatsen - /usr/local/etc/pkg/repos
  • Pakketcachemap - /var/cache/pkg
  • SQLite-database - /var/db/pkg/local.sqlite

Samenvatting

FreeBSD biedt twee complementaire technologieën voor het installeren van software van derden: de FreeBSD Portscollectie, voor installatie vanaf broncode en pakketten, voor installatie vanuit vooraf gebouwde binaire bestanden. Aangezien FreeBSD het systeem meer beslissend aan het verschuiven is naar universeel pakketbeheer, probeer dan om software van derden pkgzoveel mogelijk te beheren . Vermijd het gebruik van poorten tenzij de gewenste software geen verpakte versie heeft of u de compileeropties moet aanpassen.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.