Com utilitzar el gestor de paquets Pkg a FreeBSD 12

Introducció

FreeBSD és un sistema operatiu de codi obert semblant a Unix que s'utilitza per alimentar servidors moderns, ordinadors de sobretaula i plataformes incrustades. Gegants com Netflix, Yahoo!, WhatsApp, BBC i Sony utilitzen FreeBSD d'alguna manera. El sistema FreeBSD no és tan conegut com Linux, en gran part perquè Linux s'ha centrat durant molts anys en l'escriptori i el projecte FreeBSD ha tendit a estar més basat en servidors.

En aquesta guia, aprendràs sobre la gestió de paquets a FreeBSD 12.

Ports vs. paquets

A FreeBSD tenim dues maneres diferents d'instal·lar programari addicional: mitjançant la Col·lecció de Ports , o Ports , i mitjançant paquets preconfigurats per instal·lar i gestionar programari.

Ports és un sistema per crear programari addicional a FreeBSD. Amb Ports, comenceu amb el codi font en brut proporcionat pel venedor de programari i creeu el programari exactament de la manera que necessiteu, activant i desactivant les funcions que necessiteu.

Els paquets són programari compilat prèviament i són el resultat de la creació de ports, utilitzant les opcions que el responsable del port creu que seran més útils per a la més àmplia varietat de persones i agrupar-los en un paquet per fer-los fàcilment instal·lables. Els paquets us permeten instal·lar, desinstal·lar i actualitzar ràpidament el programari addicional. El sistema d'embalatge de FreeBSD s'anomena package , o pkg. La informació del paquet s'emmagatzema en una base de dades SQLite que podeu consultar sobre les dades del paquet.

Una altra cosa important sobre la gestió de paquets de FreeBSD és la ubicació dels binaris de paquets. Instal·lar paquets binaris sota /usr/local, i la majoria dels arxius de configuració acaben en /usr/local/etclloc de /etc. Si veniu del món Linux, podeu trobar això molt poc comú.

El gestor de paquets FreeBSD, pkg

El reemplaçament de la propera generació de les eines tradicionals de gestió de paquets FreeBSD és pkg. Oferir moltes característiques que fan que el tracte amb paquets binaris sigui més ràpid i fàcil, pkgés la manera més fàcil d'instal·lar programari que encara no està inclòs al sistema base de FreeBSD. És un sol programa amb moltes subordres que utilitzareu per a gairebé totes les operacions de paquets, com ara instal·lar, eliminar i investigar paquets. Totes les operacions i els canvis del paquet s'han d'executar com rooto mitjançant sudo.

Aquí és com instal·leu el curlpaquet a FreeBSD:

pkg install curl

Podeu alimentar l'ordre amb -yper evitar la Proceed with this action? [y/N]:pregunta quan instal·leu programari o podeu configurar-lo pkgper assumir sempre -yen un fitxer de configuració.

Per eliminar el paquet, hauríeu d'utilitzar delete:

pkg delete curl

Com podeu veure, és molt senzill i intuïtiu.

Utilitzeu-lo pkg helpper a una referència ràpida sobre les subordres disponibles o pkg help <subcommand>per mostrar la pàgina de manual d'una subordre concreta:

pkg help
pkg help install
pkg help delete

Instal·lació pkg

La versió d'estoc de FreeBSD no s'envia amb el pkggestor de paquets instal·lat. La primera vegada que intenteu instal·lar algun paquet, pkgus demana que instal·leu l'eina de gestió de paquets. Per exemple, suposem que el primer paquet que voleu instal·lar al vostre FreeBSD nou és wget, i veureu el següent missatge al vostre terminal:

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

Premeu Yi ENTERs'iniciarà la instal·lació de l'eina de gestió de paquets. Quan estigui al seu lloc, s'instal·larà el paquet de programari inicial que volíeu instal·lar ( wget).

També podeu instal·lar el sistema d'embalatge per si sol, sense afegir altres paquets, executant pkg bootstrap. A més, pkgsap com instal·lar-se i actualitzar-se a si mateix i altres paquets.

NOTA: les instàncies de Vultr s'han pkginstal·lat per defecte, de manera que no cal que l'instal·leu.

Configuració pkg

El pkgprograma està dissenyat per ser altament flexible, amb cada subordre amb moltes opcions. Podeu establir un comportament personalitzat, però coherent per a la majoria de programes amb el fitxer de configuració de tot el sistema per a pkg, situat a /usr/local/etc/pkg.conf.

El fitxer conté valors per defecte comentats per a pkg. Només llegint aquest fitxer, podeu aprendre molt sobre com pkges comporta. La configuració està escrita en llenguatge de configuració universal (UCL) i hi ha moltes opcions de configuració comentades i molts àlies. Les variables es poden establir en un nombre enter, una cadena o un valor booleà:

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

Podeu definir àlies per a pkgsubordres a pkg.conf. A la part inferior de pkg.conf, trobareu una secció amb l'etiqueta ALIAS. Quan us trobeu executant repetidament ordres complexes, hauríeu d'afegir àlies.

Per obtenir més informació sobre el format i les opcions del fitxer, podeu consultar la pkg.conf(5)pàgina de manual:

man pkg.conf

Trobar paquets

Ara que teniu un gestor de paquets instal·lat, podeu instal·lar paquets. Si sou administrador del sistema, esteu familiaritzat amb el fet que diferents sistemes operatius assignen noms diferents a les versions empaquetades del mateix programari. Un paquet per al servidor web Apache a FreeBSD, per exemple, tindrà un nom completament diferent al de l'Apache empaquetat en diferents distribucions de Linux. Per tant, abans de poder instal·lar res, haureu d'esbrinar quin és el nom del paquet que voleu instal·lar.

El projecte FreeBSD ofereix diversos conjunts de paquets en un repositori públic i s'actualitzen cada pocs dies. Actualment hi ha més de 25.000 paquets.

Per exemple, intentem cercar el servidor web Apache:

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

Trobarà tots els paquets amb els apacheseus noms. Això tornarà una llista llarga, però el que busqueu és el apache24paquet. Hi ha una breu descripció de cada paquet. Això us hauria d'ajudar a l'hora de decidir quin paquet instal·lar, però no sempre és senzill.

Algunes cerques poden generar centenars de resultats. Haureu d'utilitzar diferents opcions de línia d'ordres per retallar o ajustar els resultats de la cerca. Consulteu la pkg-searchpàgina de manual o la pàgina d'ajuda pkg help searchper obtenir més informació sobre les opcions de cerca habituals.

Si no esteu segur de si un paquet és el que realment voleu, podeu utilitzar l'ordre següent per cercar els detalls del paquet:

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

Aquesta ordre us donarà molta informació útil sobre el paquet.

Instal·lació de paquets

Per instal·lar programari, utilitzeu la installsubordre i el nom d'un paquet per instal·lar:

pkg install apache24

Quan instal·leu paquets amb pkg install, pkgconsulta el catàleg de paquets local i, a continuació, baixa el paquet sol·licitat del repositori a pkg.FreeBSD.org. Un cop instal·lat el paquet, es registra en una base de dades SQLite conservada a /var/db/pkg/local.sqlite. Tingueu cura de no suprimir aquest fitxer, en cas contrari, el vostre sistema perdrà la pista de quins paquets s'han instal·lat. Si el programari té dependències, pkgles esbrinarà i les instal·larà juntament amb el paquet base. Els paquets instal·lats com a dependències s'anomenen paquets automàtics .

El gestor de paquets només té la possibilitat de descarregar paquets a Internet i desar-los en una ubicació del disc. Això us permet instal·lar-los en un altre moment. Podeu utilitzar l' pkg fetchordre per descarregar el paquet sense instal·lar-lo:

pkg fetch nginx

Aquesta ordre obtindrà només Nginx sense les seves dependències. Podeu utilitzar la -dbandera per agafar totes les dependències, així com el paquet anomenat:

pkg fetch -d nginx

Els paquets es descarreguen al directori de la memòria cau de paquets /var/cache/pkg. Després d'haver recuperat els paquets, pkgels afegireu a aquest directori. Podeu llistar fitxers per veure què conté:

ls /var/cache/pkg

Ara, per instal·lar un paquet descarregat després d'una recuperació, executeu-vos pkg installnormalment. El procés d'instal·lació utilitza els fitxers de la memòria cau en lloc dels descarregats.

Over time, the package cache directory can grow big. The pkg clean command removes any cached packages that have been replaced by newer versions, as well as any package files that are no longer in the repository:

pkg clean

If you want to remove all cached packages, use the -a flag:

pkg clean -a

If you want to clean the package cache automatically after each package install or upgrade, set the pkg.conf option AUTOCLEAN to true.

Obtaining information about installed packages

If you forget which packages you’ve installed on a system you can use pkg info to get a complete list of installed software:

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

If you want more information about an installed package, use pkg info and the package name. This shows the package installation details in a human-friendly report:

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

You can see a lot of useful information like the version of the software, the time of software installation, software license, compile-time flags and more. Check the pkg-info man page for the complete details.

Removing packages

To uninstall binary packages use the pkg delete subcommand. It’s also available as pkg remove:

pkg delete nginx
# or
pkg remove nginx

You will get a list of packages to be removed and how much space this will free up.

If you remove a package that other packages depend on, pkg removes the depending packages as well.

Locking packages

There may be a time when you want a package on your server to never upgrade. When you lock a package, pkg won’t upgrade, downgrade, uninstall or reinstall it. It applies the same rules to the package’s dependencies and the programs it depends on.

Use pkg lock to lock a package:

pkg lock openssl

This openssl package is now locked.

To list all currently locked packages on the system, use the -l flag:

pkg lock -l

To remove the lock use the pkg unlock command:

pkg unlock openssl

To lock or unlock all packages on the system at once, use the -a flag:

pkg lock -a
pkg unlock -a

Package repositories

Package repositories are supported by pkg, which are named collections of packages. You can add, remove, enable, and disable repositories. You should configure each repository in its own file using UCL format. Official FreeBSD repositories belong in the /etc/pkg directory. FreeBSD ships with the repo "FreeBSD" enabled. You’ll find its configuration file 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
}

Podeu afegir i eliminar repositoris segons sigui necessari. Com /etc/pkgestà reservat per als dipòsits oficials de FreeBSD, necessitareu un altre directori. La ubicació tradicional és /usr/local/etc/pkg/repos. Si voleu utilitzar un directori diferent, haureu d'establir una ubicació pkg.confamb l' REPO_DIRSopció. El directori del repositori local no existeix de manera predeterminada, així que l'haureu de crear amb mkdir -p /usr/local/etc/pkg/repos. Poseu les vostres pròpies configuracions de repositori en aquest directori.

Exemples de pkgsubordres

Aquesta secció enumerarà algunes de les subordres utilitzades amb més freqüència que probablement utilitzareu quan administreu un servidor 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

Fitxers i directoris importants

  • El pkgfitxer de configuració -/usr/local/etc/pkg.conf
  • Directori reservat per als repositoris oficials de FreeBSD - /etc/pkg
  • Fitxer del repositori FreeBSD - /etc/pkg/FreeBSD.conf
  • Ubicació tradicional per a repositoris personalitzats - /usr/local/etc/pkg/repos
  • Directori de la memòria cau de paquets - /var/cache/pkg
  • base de dades SQLite - /var/db/pkg/local.sqlite

Resum

FreeBSD ofereix dues tecnologies complementàries per instal·lar programari de tercers: FreeBSD Ports Collection, per instal·lar des de la font i paquets, per instal·lar des de binaris preconstruïts. A mesura que FreeBSD està canviant el sistema de manera més decidida cap a la gestió de paquets universal, intenteu gestionar el programari de tercers pkgen la mesura del possible. Eviteu utilitzar ports tret que el programari que voleu no tingui una versió empaquetada o hàgiu de personalitzar les opcions de compilació.


Com instal·lar Tiny Tiny RSS Reader en un FreeBSD 11 FAMP VPS

Com instal·lar Tiny Tiny RSS Reader en un FreeBSD 11 FAMP VPS

Utilitzeu un sistema diferent? Tiny Tiny RSS Reader és un lector i agregador de notícies basats en web (RSS/Atom) de codi obert i gratuït, dissenyat per

Com instal·lar Wiki.js a FreeBSD 11

Com instal·lar Wiki.js a FreeBSD 11

Utilitzeu un sistema diferent? Wiki.js és una aplicació wiki moderna de codi obert i gratuïta construïda a Node.js, MongoDB, Git i Markdown. El codi font de Wiki.js és públic

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Pagekit 1.0 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Pagekit 1.0 CMS és un sistema de gestió de continguts (CMS) bonic, modular, extensible i lleuger, gratuït i de codi obert amb

Com instal·lar MODX Revolution en un FreeBSD 11 FAMP VPS

Com instal·lar MODX Revolution en un FreeBSD 11 FAMP VPS

Utilitzeu un sistema diferent? MODX Revolution és un sistema de gestió de continguts (CMS) ràpid, flexible, escalable, de codi obert i de grau empresarial escrit en PHP. És jo

Configura lOpenBSD 5.5 de 64 bits

Configura lOpenBSD 5.5 de 64 bits

Aquest article us explica la configuració d'OpenBSD 5.5 (64 bits) a KVM amb un Vultr VPS. Pas 1. Inicieu sessió al tauler de control de Vultr. Pas 2. Feu clic a DEPLOY

Com instal·lar osTicket a FreeBSD 12

Com instal·lar osTicket a FreeBSD 12

Utilitzeu un sistema diferent? osTicket és un sistema d'entrades d'atenció al client de codi obert. El codi font osTicket està allotjat públicament a Github. En aquest tutorial

Com instal·lar Flarum Forum a FreeBSD 12

Com instal·lar Flarum Forum a FreeBSD 12

Utilitzeu un sistema diferent? Flarum és un programari de fòrum de nova generació gratuït i de codi obert que fa que la discussió en línia sigui divertida. El codi font de Flarum està allotjat o

Com habilitar TLS 1.3 a Nginx a FreeBSD 12

Com habilitar TLS 1.3 a Nginx a FreeBSD 12

Utilitzeu un sistema diferent? TLS 1.3 és una versió del protocol Transport Layer Security (TLS) que es va publicar el 2018 com a estàndard proposat a RFC 8446

Instal·leu WordPress a OpenBSD 6.2

Instal·leu WordPress a OpenBSD 6.2

Introducció WordPress és el sistema de gestió de continguts dominant a Internet. Potencia tot, des de blocs fins a llocs web complexos amb contingut dinàmic

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Subrion 4.1 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Subrion 4.1 CMS és un sistema de gestió de continguts (CMS) de codi obert potent i flexible que ofereix un contingut intuïtiu i clar.

Com configurar DJBDNS a FreeBSD

Com configurar DJBDNS a FreeBSD

Aquest tutorial us mostrarà com configurar un servei DNS que sigui fàcil de mantenir, fàcil de configurar i que, en general, sigui més segur que el BIN clàssic.

Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Com instal·lar Nginx, MySQL i PHP (FEMP) Stack a FreeBSD 12.0

Una pila FEMP, que és comparable a una pila LEMP a Linux, és una col·lecció de programari de codi obert que normalment s'instal·la conjuntament per habilitar un FreeBS.

Instal·lant MongoDB a FreeBSD 10

Instal·lant MongoDB a FreeBSD 10

MongoDB és una base de dades NoSQL de classe mundial que s'utilitza amb freqüència en aplicacions web més noves. Proporciona consultes, fragmentació i rèplica d'alt rendiment

Com instal·lar la Monica a FreeBSD 12

Com instal·lar la Monica a FreeBSD 12

Utilitzeu un sistema diferent? Monica és un sistema de gestió de relacions personals de codi obert. Penseu en això com un CRM (una eina popular utilitzada pels equips de vendes a th

OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache

OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache

Introducció Aquest tutorial mostra OpenBSD com a solució de comerç electrònic amb PrestaShop i Apache. Apache és necessari perquè PrestaShop té una UR complexa

Instal·lació de Fork CMS a FreeBSD 12

Instal·lació de Fork CMS a FreeBSD 12

Utilitzeu un sistema diferent? Fork és un CMS de codi obert escrit en PHP. El codi font de Forks està allotjat a GitHub. Aquesta guia us mostrarà com instal·lar Fork CM

Com instal·lar Directus 6.4 CMS en un VPS FreeBSD 11 FAMP

Com instal·lar Directus 6.4 CMS en un VPS FreeBSD 11 FAMP

Utilitzeu un sistema diferent? Directus 6.4 CMS és un sistema de gestió de contingut sense cap (CMS) potent i flexible, gratuït i de codi obert que proporciona als desenvolupadors

Millora de la seguretat per a FreeBSD mitjançant IPFW i SSHGuard

Millora de la seguretat per a FreeBSD mitjançant IPFW i SSHGuard

Els servidors VPS solen ser atacats per intrusos. Un tipus comú d'atac apareix als registres del sistema com a centenars d'intents d'inici de sessió ssh no autoritzats. Preparant

Configura httpd a OpenBSD

Configura httpd a OpenBSD

Introducció L'OpenBSD 5.6 va introduir un nou dimoni anomenat httpd, que admet CGI (mitjançant FastCGI) i TLS. No cal cap treball addicional per instal·lar el nou http

Configura iRedMail a FreeBSD 10

Configura iRedMail a FreeBSD 10

Aquest tutorial us mostrarà com instal·lar el grup iRedMail en una nova instal·lació de FreeBSD 10. Hauríeu d'utilitzar un servidor amb almenys un gigabyte o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació