In questo tutorial spiegheremo come gestire applicazioni di pacchetti binari precompilati in FreeBSD con l'aiuto dello strumento di gestione dei pacchetti denominato PKG attraverso porti archivio di raccolte software.
porti repository offre gli strumenti necessari per la compilazione di applicazioni dal codice sorgente, insieme a le loro dipendenze, ma mantiene anche una vasta collezione di pacchetti precompilati, attualmente più di 24.000 pacchetti, che possono essere installati su un sistema FreeBSD con pacchetto comando.
Requisiti:
- Installazione di FreeBSD 11.x
Cerca e trova applicazioni nell'albero delle porte in FreeBSD
1. I repository di porte sono divisi in categorie in FreeBSD, ogni categoria è rappresentata da una directory in /usr/ports/ percorso del file system.
Un semplice elenco della directory /usr/ports/ mostrerà tutte le categorie disponibili come mostrato nello screenshot qui sotto.
# ls /usr/porte/

2. Per vedere tutte le applicazioni disponibili appartenenti a una categoria, emettere a ls comando contro la directory di categoria.
Supponiamo che tu voglia visualizzare tutti i pacchetti software disponibili che la categoria del database ha da offrire, esegui il comando seguente nella console. Pipe il risultato tramite meno comando per navigare più facilmente attraverso l'output.
# ls /usr/ports/database/ | meno.

3. Per visualizzare quanti pacchetti sono disponibili in una categoria, elencare la directory delle categorie e reindirizzare il risultato tramite comando wc come mostrato nell'esempio seguente.
# ls /usr/ports/database/ | wc -l.

Come puoi vedere nello screenshot qui sopra, la categoria del database di FreeBSD contiene più di 1000 pacchetti precompilati del database.
4. Per vedere se un'applicazione specifica è disponibile in una categoria, di nuovo, usa il ls comando e filtra il risultato tramite utilità grep per cercare un'applicazione personalizzata.
Negli esempi seguenti cercherà mongodb database pacchetti disponibili e antivirus per vongole pacchetti di sicurezza.
# ls /usr/ports/database/ | grep mongodb. # ls /usr/ports/security/ | vongola grep.

Come puoi vedere, più versioni di un'applicazione possono essere disponibili in FreeBSD Ports.

5. Nel caso in cui non si sappia a quale categoria appartiene un software, è possibile utilizzare un altro approccio per trovare la categoria del software. Usa il carattere jolly per il globbing della shell *
carattere per cercare un pattern attraverso l'intero albero delle directory Ports.
Supponendo che tu voglia vedere in quale categoria puoi trovare i pacchetti software per mailx utility, è possibile eseguire il seguente comando.
# ls /usr/ports/*/*mailx.

6. Un altro metodo per cercare un pacchetto software e la categoria a cui appartiene il pacchetto consiste nell'utilizzare il pulsante individuare il comando contro uno schema di corde.
Prima di eseguire la stringa di ricerca, è necessario aggiornare il database di localizzazione con il seguente comando.
# /usr/libexec/locate.updatedb.

7. Dopo aver aggiornato il database di localizzazione, cerca un pacchetto software specifico utilizzando un modello di parole chiave dal nome del pacchetto. Ad esempio, se vuoi cercare il mailx utility, puoi eseguire il comando seguente.
# individuare mailx.

Come puoi vedere, ci sono due pacchetti disponibili per mailx utility, entrambi situati in /usr/ports/mail/ categoria.
8. Simile a trovare un pacchetto con individuare il comando, puoi anche usare dov'è il comando, per visualizzare la categoria dell'applicazione.
# dove è mailx.

Cerca software tramite il comando PKG in FreeBSD
9. Il metodo più semplice per cercare e trovare un'applicazione in FreeBSD è tramite la riga di comando di gestione dei pacchetti PKG. Per cercare i pacchetti binari per un'applicazione, ad esempio suffisso software, emettere il comando seguente.
# ricerca pacchetto nome_pacchetto.

10. Nel caso in cui desideri vedere a quale categoria appartiene il pacchetto, esegui lo stesso comando di cui sopra con il tasto -o
flag, come illustrato negli esempi seguenti.
# pkg search -o nome_pacchetto.

Gestisci il software in FreeBSD
11. Per installare un pacchetto precompilato dai repository Ports in FreeBSD, emettere il file pacchetto comando come illustrato nell'esempio seguente.
# pkg install nome_pacchetto.

12. Per richiedere informazioni su uno specifico pacchetto installato nel sistema, emettere il comando seguente.
# info pacchetto nome_pacchetto.

13. Il informazioni sulla confezione l'interruttore di comando visualizzerà il messaggio “Nessun pacchetto/i corrispondente a nome_pacchetto” se il pacchetto software non è già installato nel sistema, come mostrato nella schermata sottostante.
# informazioni pkg tcpdump.

14. Per elencare tutti i pacchetti software installati in FreeBSD, esegui informazioni sulla confezione comando senza alcuna opzione o switch.
Il filtro grep contro informazioni sulla confezione Il comando può mostrarti se alcuni pacchetti o applicazioni specifici sono già presenti nel sistema, come illustrato nell'esempio seguente.
# informazioni sul pacchetto | grep ftp.

15. Per rimuovere un pacchetto dal sistema, emettere i comandi seguenti.
# pacchetto rimuove nome_pacchetto. o. # pacchetto cancella nome_pacchetto.

16. Nel caso in cui si desideri impedire la rimozione o la modifica di un pacchetto installato, è possibile utilizzare il serratura switch per il comando pkg, come mostrato nell'immagine sottostante.
# pkg lock nome_pacchetto.

Sbloccare L'opzione di comando pkg ti consentirà di rimuovere la restrizione del pacchetto e modificare o disinstallare il pacchetto.
# pacchetto di sblocco nome_pacchetto.
17. Per scoprire a quale pacchetto installato appartiene un comando o un file eseguibile, emettere il seguente comando, come illustrato negli esempi di schermate seguenti.
# pkg che /percorso/a/eseguibile.

18. Per scaricare localmente un pacchetto da porti repository, senza installare il pacchetto sul sistema, eseguire comando pkg con il andare a prendere interruttore.
Il pacchetto binario scaricato, che è un file compresso .txz file, può essere trovato in /var/cache/pkg/ percorso di sistema.
# pkg recupera nome_pacchetto. # ls /var/cache/pkg/ | grep nome_pacchetto.

19. Per verificare se i pacchetti installati sono esposti a vulnerabilità o bug comuni, eseguire il comando seguente.
# controllo pacchetto -F.
Per visualizzare un elenco di vecchie vulnerabilità che interessano un pacchetto software nelle versioni precedenti, eseguire il comando seguente.
# pkg audit nome_pacchetto.
Di seguito è riportato un estratto di tutte le vulnerabilità note che sono state trovate in Nginx server web compilato per FreeBSD.
# pkg audit nginx.
Trova le vulnerabilità del software
nginx è vulnerabile: Versioni interessate: <= 0.8.41: > 1.4.4,1. nginx -- Richiede la vulnerabilità dell'analisi della riga. CVE: CVE-2013-4547. WWW: https://vuxml. FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html nginx è vulnerabile: Versioni interessate: < 1.0.15. nginx -- Overflow del buffer nel ngx_http_mp4_module. CVE: CVE-2012-2089. WWW: https://vuxml. FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html nginx è vulnerabile: Versioni interessate: < 1.4.7. nginx -- Overflow del buffer di heap di SPDY. CVE: CVE-2014-0133. WWW: https://vuxml. FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html...
Mantieni l'utilità di gestione dei pacchetti in FreeBSD
20. Per assicurarti che i repository software e tutti i pacchetti installati siano aggiornati con le ultime versioni o patch di sicurezza, impartisci i seguenti comandi.
# aggiornamento del pacchetto. # aggiornamento pacchetto.

21. Per mostrare i repository remoti e le statistiche dei pacchetti locali, ad esempio quanti pacchetti sono installati nel sistema e quanto spazio su disco è occupato dal software installato, eseguire quanto segue comando.
# statistiche pkg.

22. Per eliminare tutte le dipendenze lasciate dai pacchetti installati nel sistema, eseguire il comando seguente.
# rimozione automatica di pkg.

23. Per cancellare automaticamente la directory della cache locale di gestione dei pacchetti per i pacchetti scaricati in remoto, eseguire il comando seguente. Dovresti prima verificare l'elenco dei pacchetti binari scaricati localmente.
# pkg clean -a -n # pkg clean -a -y.

È tutto! Come potete vedere, FreeBSD ha un impressionante sistema di raccolta dei pacchetti, simile agli strumenti di gestione dei pacchetti utilizzati nelle distribuzioni Linux come Yum, RPM e APT con un numero enorme di binari software precompilati e una riga di comando semplice ed efficace, pkg, che può essere utilizzata per gestire il software in modo decente.