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.