Cum se utilizează Pkg Package Manager pe FreeBSD 12

Introducere

FreeBSD este un sistem de operare de tip Unix, de tip open source, utilizat pentru alimentarea serverelor moderne, a desktop-urilor și a platformelor încorporate. Giganți precum Netflix, Yahoo !, WhatsApp, BBC și Sony utilizează FreeBSD într-o anumită formă. Sistemul FreeBSD nu este la fel de cunoscut ca Linux, în mare parte deoarece Linux s-a concentrat timp de mai mulți ani pe desktop, iar proiectul FreeBSD a avut tendința să fie mai mult bazat pe server.

În acest ghid, veți afla despre gestionarea pachetelor pe FreeBSD 12.

Porturi vs. pachete

Pe FreeBSD avem două moduri diferite de a instala software suplimentar: prin Colecția Porturi sau Porturi și prin pachete preconfigurate pentru instalarea și gestionarea software-ului.

Ports este un sistem pentru construirea de software suplimentar pe FreeBSD. Cu Porturi, începeți cu codul sursă brut furnizat de furnizorul de software și construiți software-ul exact așa cum aveți nevoie, activând și dezactivând funcțiile de care aveți nevoie.

Pachetele sunt software compilat în prealabil și sunt rezultatul construirii porturilor, folosind opțiunile pe care întreținerea portului consideră că le va fi cel mai util pentru cea mai mare varietate de oameni și le pot grupa într-un pachet pentru a le face ușor instalabile. Pachetele vă permit să instalați, să dezinstalați și să actualizați rapid software-ul suplimentar. Sistemul de ambalare FreeBSD se numește pachet , sau pkg. Informațiile despre pachet sunt stocate într-o bază de date SQLite pe care o puteți interoga despre datele pachetului.

Un alt lucru important legat de gestionarea pachetelor FreeBSD este amplasarea binarelor de pachete. Pachetele instalează binare sub /usr/local, iar majoritatea fișierelor de configurare se termină /usr/local/etcmai degrabă decât /etc. Dacă provii din lumea Linux, este foarte neobișnuit.

Managerul de pachete FreeBSD, pkg

Înlocuirea următoarei generații pentru instrumentele tradiționale de gestionare a pachetelor FreeBSD este pkg. Oferirea a numeroase funcții care facilitează mai rapid și mai ușor tratarea pachetelor binare, pkgeste cel mai simplu mod de a instala software-ul care nu este deja inclus în sistemul de bază al FreeBSD. Este un singur program cu multe subcomanduri pe care le veți folosi pentru aproape fiecare operație pe pachete precum instalarea, eliminarea și investigarea pachetelor. Toate operațiunile și modificările pachetului trebuie să fie executate ca rootsau via sudo.

Iată cum ați instala curlpachetul pe FreeBSD:

pkg install curl

Puteți alimenta comanda -ypentru a evita Proceed with this action? [y/N]:întrebarea la instalarea software-ului sau puteți configura pkgsă vă asumați întotdeauna -yîntr-un fișier de configurare.

Pentru a elimina pachetul, utilizați delete:

pkg delete curl

După cum puteți vedea, este foarte simplu și intuitiv.

Utilizați pkg helppentru o referință rapidă la subcomandele disponibile sau pkg help <subcommand>pentru a afișa pagina manuală pentru o anumită subcomandă:

pkg help
pkg help install
pkg help delete

instalarea pkg

Versiunea stoc a FreeBSD nu se livrează cu pkgmanagerul de pachete instalat. Prima dată când încercați să instalați un pachet, pkgvă solicită să instalați instrumentul de gestionare a pachetelor. De exemplu, să spunem că primul pachet pe care doriți să îl instalați pe noul dvs. FreeBSD este wgetși veți vedea următorul prompt în terminalul dvs.:

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

Vei atinge Yși ENTERva începe instalarea instrumentului de gestionare a pachetelor. După ce este în vigoare, wgetva fi instalat pachetul software inițial pe care doriți să îl instalați ( ).

De asemenea, puteți instala sistemul de ambalare singur, fără a adăuga alte pachete, rulând pkg bootstrap. În plus, pkgștie să instaleze și să actualizeze el însuși și alte pachete.

NOTĂ: Instanțele Vultr s-au pkginstalat implicit, deci nu trebuie să îl instalați.

Configurarea pkg

pkgProgramul este conceput pentru a fi extrem de flexibil, cu fiecare subcomanda având mai multe opțiuni. Puteți stabili un comportament personalizat, dar consistent pentru majoritatea programelor cu fișierul de configurare la nivel de sistem pentru pkg, localizat în /usr/local/etc/pkg.conf.

Fișierul conține valori implicite comentate pentru pkg. Doar citind acel fișier, puteți afla multe despre cum pkgse comportă. Configurația este scrisă într-un limbaj universal de configurare (UCL) și există o mulțime de opțiuni de configurare comentate și destul de puține aliasuri. Variabilele pot fi setate la un număr întreg, un șir sau o valoare booleană:

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

Puteți defini alias pentru pkgsubcomandele din pkg.conf. În partea de jos pkg.conf, veți găsi o secțiune etichetată ALIAS. Atunci când te descoperi că rulează în mod repetat comenzi complexe, ar trebui să adaugi aliasuri.

Pentru mai multe informații despre formatul și opțiunile fișierului, puteți consulta pkg.conf(5)pagina principală:

man pkg.conf

Găsirea pachetelor

Acum că aveți instalat un manager de pachete, puteți instala pachete. Dacă sunteți un sistem de administrare, sunteți familiarizați cu faptul că diferite sisteme de operare alocă nume diferite versiunilor ambalate ale aceluiași software. Un pachet pentru serverul web Apache pe FreeBSD, de exemplu, va avea un nume complet diferit de cel al pachetului Apache pe diferite distribuții Linux. Deci, înainte de a putea instala orice, va trebui să vă dați seama care este numele pachetului pe care doriți să îl instalați.

Proiectul FreeBSD oferă mai multe seturi de pachete într-un depozit public și sunt actualizate la fiecare câteva zile. În prezent există peste 25.000 de pachete.

De exemplu, să încercăm să căutăm serverul web Apache:

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

Va găsi toate pachetele cu apachenumele lor. Aceasta va întoarce o listă lungă, dar ceea ce căutați este apache24pachetul. Există o scurtă descriere a fiecărui pachet. Acest lucru ar trebui să vă ajute atunci când decideți ce pachet să instalați, dar nu este întotdeauna simplu.

Unele căutări pot genera sute de rezultate. Va trebui să utilizați diferite opțiuni ale liniei de comandă pentru a decupa sau ajusta rezultatele căutării. Consultați pkg-searchpagina de utilizare sau pagina de ajutor pkg help searchpentru a afla mai multe despre opțiunile de căutare obișnuite.

Dacă nu sunteți sigur dacă doriți cu adevărat un pachet, puteți utiliza următoarea comandă pentru a căuta detaliile pachetului:

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

Această comandă vă va oferi o mulțime de informații utile despre pachet.

Instalarea pachetelor

Pentru a instala software-ul, utilizați installsubcomanda și numele unui pachet pentru instalare:

pkg install apache24

Când instalați pachete cu pkg install, pkgconsultați catalogul de pachete locale, apoi descărcați pachetul solicitat din depozit la pkg.FreeBSD.org. Odată ce pachetul este instalat, acesta este înregistrat într-o bază de date SQLite păstrată /var/db/pkg/local.sqlite. Aveți grijă să nu ștergeți acest fișier, în caz contrar, sistemul dvs. va pierde evidența pachetelor instalate. Dacă software-ul are dependențe, le pkgva descoperi și le va instala împreună cu pachetul de bază. Pachetele instalate ca dependențe se numesc pachete automate .

Managerul de pachete are posibilitatea de a descărca doar pachetele de pe internet și de a le salva într-o singură locație de pe disc. Acest lucru vă permite să le instalați în alt moment. Puteți utiliza pkg fetchcomanda pentru a descărca pachetul fără a-l instala:

pkg fetch nginx

Această comandă va prelua doar Nginx fără dependențele sale. Puteți utiliza -dsteagul pentru a prelua toate dependențele, precum și pachetul numit:

pkg fetch -d nginx

Pachetele sunt descărcate în directorul cache de pachete /var/cache/pkg. După ce ați preluat pachete, le pkgveți adăuga în acest director. Puteți lista fișiere pentru a vedea ce conține:

ls /var/cache/pkg

Acum, pentru a instala un pachet descărcat după o operație, rulați pkg installnormal. Procesul de instalare folosește fișierele din cache mai degrabă decât cele descărcate.

În timp, directorul cache de pachete poate crește. pkg cleanComandă elimină orice pachete stocate în memoria cache , care au fost înlocuite cu versiuni mai noi, precum și orice fișier pachet care nu mai sunt în magazia:

pkg clean

Dacă doriți să eliminați toate pachetele în cache, utilizați -asteagul:

pkg clean -a

Dacă doriți să curățați cache-ul pachetului automat după fiecare instalare sau actualizare a pachetului, setați pkg.confopțiunea AUTOCLEANla true.

Obținerea informațiilor despre pachetele instalate

Dacă uitați ce pachete ați instalat pe un sistem puteți utiliza pkg infopentru a obține o listă completă de software instalat:

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

Dacă doriți mai multe informații despre un pachet instalat, utilizați pkg infoși numele pachetului. Acest lucru arată detaliile de instalare a pachetului într-un raport prietenoasă cu oamenii:

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

Puteți vedea o mulțime de informații utile, cum ar fi versiunea software-ului, ora instalării software-ului, licența software, indicatoarele de compilare și multe altele. Verificați pkg-infopagina completă pentru detalii complete.

Scoaterea pachetelor

Pentru a dezinstala pachetele binare utilizați pkg deletesubcomanda. De asemenea, este disponibil ca pkg remove:

pkg delete nginx
# or
pkg remove nginx

Veți obține o listă de pachete care trebuie eliminate și cât spațiu va elibera.

Dacă eliminați un pachet de care depind alte pachete, pkgînlătură și pachetele care depind.

Blocarea pachetelor

Poate să apară un moment în care doriți ca un pachet de pe serverul dvs. să nu se actualizeze niciodată. Când blocați un pachet, pkgnu-l actualizați, downgradați, dezinstalați sau reinstalați-l. Aplică aceleași reguli pentru dependențele pachetului și programele de care depinde.

Folosiți pkg lockpentru a bloca un pachet:

pkg lock openssl

Acest opensslpachet este acum blocat.

Pentru a enumera toate pachetele blocate în prezent în sistem, utilizați -lsteagul:

pkg lock -l

Pentru a elimina blocarea folosiți pkg unlockcomanda:

pkg unlock openssl

Pentru a bloca sau debloca toate pachetele de pe sistem simultan, utilizați -asteagul:

pkg lock -a
pkg unlock -a

Depozite de pachete

Depozitele de pachete sunt acceptate de pkg, care sunt numite colecții de pachete. Puteți adăuga, elimina, activa și dezactiva depozitele. Ar trebui să configurați fiecare depozit în propriul fișier utilizând formatul UCL. Depozitele oficiale FreeBSD aparțin /etc/pkgdirectorului. FreeBSD este livrat cu repo "FreeBSD" activat. Fișierul de configurare îl veți găsi în /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
}

Puteți adăuga și elimina depozitele, după cum este necesar. Așa cum /etc/pkgeste rezervat depozitelor oficiale FreeBSD, veți avea nevoie de un alt director. Locația tradițională este /usr/local/etc/pkg/repos. Dacă doriți să utilizați un director diferit, va trebui să setați o locație pkg.confcu REPO_DIRSopțiunea. Directorul depozitelor locale nu există în mod implicit, deci va trebui să-l creați cu mkdir -p /usr/local/etc/pkg/repos. Puneți propriile configurații ale depozitului în acel director.

Exemple de pkgsubcomanduri

Această secțiune va enumera unele dintre cele mai frecvente subcomanduri pe care le veți utiliza cel mai probabil când administrați un server FreeBSD:

# 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

Fișiere și directoare importante

  • Fișierul de pkgconfigurare -/usr/local/etc/pkg.conf
  • Director rezervat depozitelor oficiale FreeBSD - /etc/pkg
  • Fișier de depozit FreeBSD - /etc/pkg/FreeBSD.conf
  • Locație tradițională pentru depozite personalizate - /usr/local/etc/pkg/repos
  • Directorul cache de pachete - /var/cache/pkg
  • Baza de date SQLite - /var/db/pkg/local.sqlite

rezumat

FreeBSD oferă două tehnologii complementare pentru instalarea software-ului terț: Colecția de porturi FreeBSD, pentru instalarea de la sursă și pachete, pentru instalarea de la binarele pre-construite. Deoarece FreeBSD orientează sistemul mai decisiv către gestionarea universală a pachetelor, încercați să gestionați software-ul terților cu pkgcât este posibil. Evitați să folosiți porturi, cu excepția cazului în care software-ul dorit nu are o versiune ambalată sau trebuie să personalizați opțiuni de compilare.



Leave a Comment

Cum se instalează forumul NodeBB pe FreeBSD 12

Cum se instalează forumul NodeBB pe FreeBSD 12

Folosind un sistem diferit? NodeBB este un software de forum bazat pe Node.js. Utilizează prize web pentru interacțiuni instantanee și notificări în timp real. Nodul B

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Dacă executați propriul dvs. rezolvator sau doriți să utilizați unul de la un furnizor terț, puteți constata că fișierul dvs. /etc/resolv.conf este suprascris de DHCP

Cum se instalează Automad CMS pe FreeBSD 12

Cum se instalează Automad CMS pe FreeBSD 12

Folosind un sistem diferit? Automad este un sistem open source de conținut bazat pe fișiere (CMS) și motor de șabloane, scris în PHP. Codul sursă Automad i

Cum se instalează X-Cart 5 pe FreeBSD 12

Cum se instalează X-Cart 5 pe FreeBSD 12

Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă

Instalați WordPress pe OpenBSD 6.2

Instalați WordPress pe OpenBSD 6.2

Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Murmur este software-ul de server oficial pentru protocolul de comunicare vocală Mumble. Această implementare oficială este stabilă și eficientă. Acest ghid va fi

Cum se instalează WonderCMS pe FreeBSD 12

Cum se instalează WonderCMS pe FreeBSD 12

Folosind un sistem diferit? WonderCMS este un CMS cu fișier plat, de tip open source, rapid și mic, scris în PHP. Codul sursă WonderCMS este găzduit pe Github. Acest ghid va fi

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Instalarea iRedMail pe FreeBSD 10

Instalarea iRedMail pe FreeBSD 10

Acest tutorial vă va arăta cum să instalați iRedMail de grup în o nouă instalare a FreeBSD 10. Ar trebui să folosiți un server cu cel puțin o gigabyte o

Cum se instalează Dolibarr pe FreeBSD 12

Cum se instalează Dolibarr pe FreeBSD 12

Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr

Instalați TaskServer (taskd) pe FreeBSD 11

Instalați TaskServer (taskd) pe FreeBSD 11

Folosind un sistem diferit? TaskWarrior este un instrument de gestionare a timpului open source care este o îmbunătățire a aplicației Todo.txt și a clonelor sale. Datorită th

Cum se instalează DokuWiki pe FreeBSD 12

Cum se instalează DokuWiki pe FreeBSD 12

Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

La actualizarea unei instanțe VPS pe Vultr, un sistem de fișiere Linux este redimensionat automat. Când executați FreeBSD cu sistemul avansat de fișiere ZFS, unele manuale sunt uzate

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Acest tutorial vă va arăta cum să obțineți un server de mail simplu pe FreeBSD 10, cu Postfix ca MTA, Dovecot ca MDA și Sieve pentru sortarea poștelor - peste un

Instalați eSpeak pe FreeBSD 12

Instalați eSpeak pe FreeBSD 12

Folosind un sistem diferit? ESpeak poate genera fișiere audio text-to-speech (TTS). Acestea pot fi utile din mai multe motive, cum ar fi crearea propriului dvs. Torino

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe