Come usare il gestore pacchetti Pkg su FreeBSD 12

introduzione

FreeBSD è un sistema operativo open source simile a Unix utilizzato per alimentare server, desktop e piattaforme embedded moderni. Giganti come Netflix, Yahoo!, WhatsApp, BBC e Sony usano FreeBSD in qualche modo. Il sistema FreeBSD non è così conosciuto come Linux, soprattutto perché Linux si è concentrato per molti anni sul desktop e il progetto FreeBSD ha avuto la tendenza ad essere più basato su server.

In questa guida, imparerai a gestire i pacchetti su FreeBSD 12.

Porte vs. Pacchetti

Su FreeBSD abbiamo due modi diversi per installare il software aggiuntivo: tramite Ports Collection o Ports e tramite pacchetti preconfigurati per installare e gestire il software.

Ports è un sistema per creare software aggiuntivo su FreeBSD. Con Ports inizi con il codice sorgente grezzo fornito dal fornitore del software e costruisci il software esattamente nel modo che ti serve, abilitando e disabilitando le funzionalità di cui hai bisogno.

I pacchetti sono software precompilati e sono il risultato della costruzione di porte, utilizzando le opzioni che il manutentore ritiene possano essere più utili per la più ampia varietà di persone e raggruppandole in un pacchetto per renderle facilmente installabili. I pacchetti consentono di installare, disinstallare e aggiornare rapidamente il software aggiuntivo. Il sistema di packaging di FreeBSD si chiama pacchetto , o pkg. Le informazioni sul pacchetto vengono archiviate in un database SQLite su cui è possibile eseguire query sui dati del pacchetto.

Un'altra cosa importante sulla gestione dei pacchetti di FreeBSD è la posizione dei file binari dei pacchetti. I pacchetti installano i binari sotto /usr/locale la maggior parte dei file di configurazione finisce /usr/local/etcinvece che /etc. Se vieni dal mondo Linux, potresti trovarlo molto raro.

Il gestore dei pacchetti di FreeBSD, pkg

La sostituzione di prossima generazione per i tradizionali strumenti di gestione dei pacchetti di FreeBSD è pkg. Offrendo molte funzionalità che rendono la gestione dei pacchetti binari più semplice e veloce, pkgè il modo più semplice per installare software che non è già incluso nel sistema di base di FreeBSD. È un singolo programma con molti sottocomandi che userete per quasi tutte le operazioni su pacchetti come l'installazione, la rimozione e l'analisi dei pacchetti. Tutte le operazioni e le modifiche al pacchetto devono essere eseguite come rooto tramite sudo.

Ecco come installeresti il curlpacchetto su FreeBSD:

pkg install curl

È possibile alimentare il comando con -yper evitare la Proceed with this action? [y/N]:domanda durante l'installazione del software o è possibile configurare pkgper assumere sempre -yin un file di configurazione.

Per rimuovere il pacchetto, è necessario utilizzare delete:

pkg delete curl

Come puoi vedere, è molto semplice e intuitivo.

Utilizzare pkg helpper un riferimento rapido sui sottocomandi disponibili o pkg help <subcommand>per visualizzare la pagina di manuale per un particolare sottocomando:

pkg help
pkg help install
pkg help delete

Installazione pkg

La versione stock di FreeBSD non viene fornita con il pkggestore pacchetti installato. La prima volta che si tenta di installare alcuni pacchetti, viene pkgrichiesto di installare lo strumento di gestione dei pacchetti. Ad esempio, supponiamo che il primo pacchetto che desideri installare sul tuo nuovo FreeBSD sia wget, e vedrai il seguente prompt nel tuo terminale:

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

Colpirai Ye ENTERinizierà l'installazione dello strumento di gestione dei pacchetti. Una volta installato, wgetverrà installato il pacchetto software iniziale che si desidera installare ( ).

È inoltre possibile installare il sistema di packaging da solo, senza aggiungere altri pacchetti, eseguendo pkg bootstrap. Inoltre, pkgsa come installare e aggiornare se stesso e altri pacchetti.

NOTA: le istanze Vultr sono pkginstallate per impostazione predefinita, quindi non è necessario installarlo.

Configurazione pkg

Il pkgprogramma è progettato per essere altamente flessibile, con ogni sottocomando con molte opzioni. È possibile stabilire un comportamento personalizzato, ma coerente per la maggior parte dei programmi con il file di configurazione dell'intero sistema per pkg, situato in /usr/local/etc/pkg.conf.

Il file contiene impostazioni predefinite commentate per pkg. Semplicemente leggendo quel file, puoi imparare molto su come pkgsi comporta. La configurazione è scritta in Universal Configuration Language (UCL) e ci sono molte opzioni di configurazione commentate e parecchi alias. Le variabili possono essere impostate su un numero intero, una stringa o un valore booleano:

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

È possibile definire gli alias per i pkgsottocomandi in pkg.conf. Nella parte inferiore di pkg.conf, troverai una sezione etichettata ALIAS. Quando ti ritrovi a eseguire ripetutamente comandi complessi, devi aggiungere alias.

Per ulteriori informazioni sul formato e le opzioni del file, è possibile fare riferimento alla pkg.conf(5)pagina man:

man pkg.conf

Trovare pacchetti

Ora che hai installato un gestore di pacchetti, puoi installare i pacchetti. Se sei un amministratore di sistema, hai familiarità con il fatto che diversi sistemi operativi assegnano nomi diversi alle versioni impacchettate dello stesso software. Un pacchetto per il web server Apache su FreeBSD, per esempio, avrà un nome completamente diverso da quello del pacchetto Apache su diverse distribuzioni Linux. Quindi, prima di poter installare qualsiasi cosa, dovrai capire qual è il nome del pacchetto che vuoi installare.

Il progetto FreeBSD offre diversi set di pacchetti in un repository pubblico e vengono aggiornati ogni pochi giorni. Attualmente ci sono oltre 25.000 pacchetti.

Ad esempio, proviamo a cercare il web server Apache:

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

Troverà tutti i pacchetti con apachenei loro nomi. Questo restituirà un lungo elenco, ma quello che stai cercando è il apache24pacchetto. C'è una breve descrizione di ogni pacchetto. Questo dovrebbe aiutarti nel decidere quale pacchetto installare, ma non è sempre semplice.

Alcune ricerche possono generare centinaia di risultati. Sarà necessario utilizzare diverse opzioni della riga di comando per tagliare o regolare i risultati della ricerca. Consulta la pkg-searchpagina man o la pagina di aiuto pkg help searchper saperne di più sulle opzioni di ricerca comuni.

Se non sei sicuro che un pacchetto sia quello che desideri davvero, puoi usare il comando seguente per cercare i dettagli del pacchetto:

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

Questo comando ti darà molte informazioni utili sul pacchetto.

Installare i pacchetti

Per installare il software, utilizzare il installsottocomando e il nome di un pacchetto per installare:

pkg install apache24

Quando si installano i pacchetti con pkg install, pkgconsulta il catalogo dei pacchetti locale, quindi scarica il pacchetto richiesto dal repository all'indirizzo pkg.FreeBSD.org. Una volta installato, il pacchetto è registrato in un database SQLite conservato /var/db/pkg/local.sqlite. Fare attenzione a non eliminare questo file, altrimenti il ​​sistema perderà la traccia dei pacchetti installati. Se il software ha dipendenze, pkgle capirà e le installerà insieme al pacchetto base. I pacchetti installati come dipendenze sono chiamati pacchetti automatici .

Il gestore pacchetti ha la possibilità di scaricare i pacchetti solo su Internet e salvarli in una posizione sul disco. Ciò ti consente di installarli in un altro momento. È possibile utilizzare il pkg fetchcomando per scaricare il pacchetto senza installarlo:

pkg fetch nginx

Questo comando recupererà solo Nginx senza le sue dipendenze. È possibile utilizzare il -dflag per afferrare tutte le dipendenze e il pacchetto denominato:

pkg fetch -d nginx

I pacchetti vengono scaricati nella directory della cache dei pacchetti /var/cache/pkg. Dopo aver recuperato i pacchetti, pkgli aggiungeranno a questa directory. Puoi elencare i file per vedere cosa contiene:

ls /var/cache/pkg

Ora, per installare un pacchetto scaricato dopo un recupero, eseguirlo pkg installnormalmente. Il processo di installazione utilizza i file memorizzati nella cache anziché quelli scaricati.

Nel tempo, la directory della cache del pacchetto può diventare grande. Il pkg cleancomando rimuove tutti i pacchetti memorizzati nella cache che sono stati sostituiti da versioni più recenti, nonché tutti i file dei pacchetti che non si trovano più nel repository:

pkg clean

Se si desidera rimuovere tutti i pacchetti memorizzati nella cache, utilizzare il -aflag:

pkg clean -a

Se si desidera pulire automaticamente la cache del pacchetto dopo ogni installazione o aggiornamento di ciascun pacchetto, impostare l' pkg.confopzione AUTOCLEANsu true.

Ottenere informazioni sui pacchetti installati

Se si dimentica quali pacchetti sono stati installati su un sistema, è possibile utilizzare pkg infoper ottenere un elenco completo del software installato:

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

Se si desidera ulteriori informazioni su un pacchetto installato, utilizzare pkg infoe il nome del pacchetto. Questo mostra i dettagli di installazione del pacchetto in un rapporto a misura d'uomo:

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

Puoi vedere molte informazioni utili come la versione del software, l'ora dell'installazione del software, la licenza del software, i flag di compilazione e altro ancora. Controlla la pkg-infopagina man per i dettagli completi.

Rimozione di pacchetti

Per disinstallare i pacchetti binari utilizzare il pkg deletesottocomando. È disponibile anche come pkg remove:

pkg delete nginx
# or
pkg remove nginx

Verrà visualizzato un elenco di pacchetti da rimuovere e la quantità di spazio che verrà liberata.

Se si rimuove un pacchetto da cui dipendono altri pacchetti, vengono pkgrimossi anche i pacchetti dipendenti.

Bloccare i pacchetti

Potrebbe esserci un momento in cui si desidera che un pacchetto sul proprio server non si aggiorni mai. Quando si blocca un pacchetto, pkgnon verrà aggiornato, downgrade, disinstallato o reinstallato. Applica le stesse regole alle dipendenze del pacchetto e ai programmi da cui dipende.

Utilizzare pkg lockper bloccare un pacchetto:

pkg lock openssl

Questo opensslpacchetto è ora bloccato.

Per elencare tutti i pacchetti attualmente bloccati sul sistema, usare il -lflag:

pkg lock -l

Per rimuovere il blocco utilizzare il pkg unlockcomando:

pkg unlock openssl

Per bloccare o sbloccare tutti i pacchetti sul sistema contemporaneamente, utilizzare il -aflag:

pkg lock -a
pkg unlock -a

Repository di pacchetti

I repository di pacchetti sono supportati da pkg, che sono denominati raccolte di pacchetti. È possibile aggiungere, rimuovere, abilitare e disabilitare i repository. È necessario configurare ciascun repository nel proprio file utilizzando il formato UCL. I repository ufficiali di FreeBSD appartengono alla /etc/pkgdirectory. FreeBSD viene fornito con il repository "FreeBSD" abilitato. Troverai il suo file di configurazione 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
}

È possibile aggiungere e rimuovere repository secondo necessità. Come /etc/pkgriservato ai repository ufficiali di FreeBSD, avrai bisogno di un'altra directory. La posizione tradizionale è /usr/local/etc/pkg/repos. Se si desidera utilizzare una directory diversa, è necessario impostare un percorso pkg.confcon l' REPO_DIRSopzione. La directory del repository locale non esiste per impostazione predefinita, quindi dovrai crearla con mkdir -p /usr/local/etc/pkg/repos. Inserisci le tue configurazioni di repository in quella directory.

pkgSottocomandi di esempio

Questa sezione elencherà alcuni dei sottocomandi più frequentemente usati che molto probabilmente userete quando amministrerete 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

File e directory importanti

  • Il pkgfile di configurazione -/usr/local/etc/pkg.conf
  • Directory riservata ai repository ufficiali di FreeBSD - /etc/pkg
  • File del repository di FreeBSD - /etc/pkg/FreeBSD.conf
  • Posizione tradizionale per repository personalizzati - /usr/local/etc/pkg/repos
  • Directory cache pacchetto - /var/cache/pkg
  • Database SQLite - /var/db/pkg/local.sqlite

Sommario

FreeBSD offre due tecnologie complementari per l'installazione di software di terze parti: la Collezione di porte FreeBSD, per l'installazione da sorgenti e pacchetti, per l'installazione da file binari predefiniti. Mentre FreeBSD sta spostando il sistema in modo più deciso verso la gestione universale dei pacchetti, prova a gestire software di terze parti pkgnella misura del possibile. Evitare di utilizzare le porte a meno che il software desiderato non abbia una versione in pacchetto o non sia necessario personalizzare le opzioni di compilazione.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.