Come posso cercare i pacchetti disponibili dalla riga di comando?


584

Ho installato con successo alcuni pacchetti usando la riga di comando 'sudo apt-get install ...' quando ho saputo in anticipo che quei pacchetti sono disponibili. Ma come posso cercare o ottenere un elenco di ciò che è disponibile nei repository?

Risposte:


728

Per cercare un pacchetto particolare per nome o descrizione:

Dalla riga di comando, utilizzare:

apt-cache search keyword

dove la parola chiave di ricerca può essere tutto o parte del nome di un pacchetto o qualsiasi parola utilizzata nella sua descrizione.

Ad esempio, apt-cache search proxyinclude entrambi questi pacchetti:

proxy minuscolo - Un proxy HTTP leggero, non memorizzabile nella cache, facoltativamente anonimizzato
tircd - proxy ircd all'API di twitter

Nota: l'elenco potrebbe essere lungo, quindi è possibile reindirizzare l'output lessper renderlo scorrevole una riga o una schermata alla volta, ad es apt-cache search something | less.

Per ottenere un elenco di TUTTI i pacchetti

apt-cache search .

Usa Synaptic se hai X-forwarding abilitato o sei su un desktop

Synaptic è spesso un modo più conveniente per farlo, ma richiede almeno un server X da parte dell'utente (a meno che non si stia eseguendo un ambiente desktop). Installare con sudo apt-get install synapticse necessario.

  • Synaptic su server ssh'd tramite X forwarding:

    inserisci qui la descrizione dell'immagine

  • Synaptic in esecuzione localmente sul desktop Ubuntu:

    inserisci qui la descrizione dell'immagine


@MarkThomas Prova apt-cache policyanche tu, ti dà maggiori informazioni sulle fonti.
— yclian,

come apt-get, puoi semplicemente eseguire apt-cachesenza alcun argomento e ottenere la breve guida / informazioni sul cheatsheet. Puoi sempre leggere le manpage su di esso per un aiuto più lungo. (ie man apt-cache)
— pd12,

Supponendo che io sia abbastanza sciocco da voler vivere i risultati apt install, c'è un modo intelligente per farlo? L'output di questa funzione è disordinato. Si potrebbe usare la prima parola da ogni riga, ma dovrebbe esserci un modo più semplice.
— Deleet il

puoi anche cercare online. pacchetti.ubuntu.com
— activedecay

Se hai solo bisogno dei nomi di tutti i pacchetti disponibili, falloapt-cache pkgnames
— flaz14,

42

Utilizzando aptitude, apt-cachee apttutti formattare l'output in modo diverso. (Nessuno di questi richiede l'uso di sudoquando si cerca un pacchetto.) Preferisco usare aptper la sua leggibilità. Evidenzia il nome del pacchetto e inserisce uno spazio tra i diversi pacchetti. Ha anche [installed]elencato accanto a ciascun pacchetto che è già installato. Uso:

apt search package-name

2
se corro dico '$ apt cerca firefox' produce tonnellate di risultati di output :(
— user3804598

Potresti restringere la ricerca con qualcosa del tipo:apt search firefox | grep -A 3 firefox
— jbrock

1
Un'altra opzione per restringere la ricerca: apt search ^firefoxoppureapt search ^firefox$
— jbrock il

25

Puoi anche usare aptitude dalla riga di comando:

aptitude search xxxxxx

2
La cosa fastidiosa di questo è che Ubuntu non sembra dartelo di default. Fino a quando non ho saputo apt-cache, lo facevo sempre apt-get install aptitudesu ogni nuova scatola che ho installato. Tuttavia, poiché non riesco a trovare un modo per apt-cachemostrarmi se è installato, suppongo che dovrò continuare a farlo per un po ':-)

2
@paxdiablo Basta creare uno script di shell a due righe (la seconda riga in qualche modo simile dpkg --list | grep "$1") o aggiungere la funzione di shell a questo effetto nel tuo .bash_login... :-)
— FooF

5

Lo strumento da riga di comando apt-cache viene utilizzato per la ricerca nella cache del pacchetto software apt. In parole semplici, questo strumento viene utilizzato per cercare pacchetti software, raccogliere informazioni sui pacchetti e anche per cercare quali pacchetti disponibili sono pronti per l'installazione su sistemi basati su Debian o Ubuntu.

Per scoprire il nome del pacchetto e la relativa descrizione prima dell'installazione, utilizzare il flag "cerca". L'uso di "search" con apt-cache visualizzerà un elenco di pacchetti corrispondenti con una breve descrizione. Diciamo che vorresti scoprire la descrizione del pacchetto 'vsftpd', quindi il comando sarebbe.

Sintassi:

apt-cache search SearchTerm
$ apt-cache search vsftpd

L'output possibile sarebbe:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Per trovare ed elencare tutti i pacchetti che iniziano con 'vsftpd', è possibile utilizzare il seguente comando.

$ apt-cache pkgnames vsftpd

Potresti anche voler eseguire i risultati attraverso un più, o anche un grep. Per esempio:

apt-cache search firefox | grep plugin

3

Supponendo di voler fare tutto ciò dal terminale, utilizzare quanto segue:

per prima cosa ti consiglio di aggiornare i file dell'indice del pacchetto in modo che l'elenco di tutti i file nel repository che stai per creare sia aggiornato

sudo apt-get update

quindi usa la funzione " cerca regex" in apt-cachecui "regex" sta per Regular Expression ed è il modello dato alla ricerca. Per ulteriori informazioni sui modelli di ricerca, puoi consultare regex manuale (7) per comando man 7 regexo in inglese . Una variabile regex uguale a . sarà sufficiente.

apt-cache search .

Quanto sopra ti darà TUTTI i risultati ma non è in alcun ordine particolarmente utile per la navigazione.

Quindi finalmente possiamo ordinare per ordine del dizionario usando sort -de mostrare solo una pagina alla volta usando less.

apt-cache search . |sort -d |less
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.