Questo articolo spiega come elencare tutti i pacchetti disponibili (installati e disponibili per l'installazione) in un repository Ubuntu, Linux Mint o Debian, sia esso un repository ufficiale o una fonte di terze parti come un PPA e così via.
Di seguito sono riportati 2 modi per elencare i pacchetti da un repository:tramite una GUI o tramite la riga di comando.
Della stessa serie:
- Come impedire l'aggiornamento di un pacchetto in Ubuntu, Debian o Linux Mint [APT]
- Come trovare i pacchetti disponibili dalla riga di comando in Debian, Ubuntu o Linux Mint [APT]
Elenca tutti i pacchetti in un repository Debian, Ubuntu o Linux Mint con una GUI
Se desideri elencare tutti i pacchetti in un repository sul desktop, puoi utilizzare Synaptic Package Manager.
Synaptic è un'applicazione grafica di gestione dei pacchetti per APT (APT è il principale gestore di pacchetti da riga di comando per Debian e le sue derivate).
Se non hai installato Synaptic, puoi installarlo su Debian, Ubuntu e qualsiasi distribuzione Debian o Linux basata su Ubuntu, inclusi i sistemi operativi elementari, Linux Mint e così via, usando questo comando:
sudo apt install synaptic
Per elencare tutti i pacchetti in un repository software specifico con Synaptic, avvia l'applicazione e fai clic su Origin
in basso a sinistra della finestra. Quindi, seleziona il repository per il quale desideri elencare tutti i pacchetti disponibili (sia installato che disponibile per l'installazione) dall'elenco visualizzato sul lato sinistro di Synaptic Package Manager.
Ad esempio, ecco Synaptic, che mostra tutti i pacchetti disponibili nel repository di Google ed elenca Google Chrome Stable, Beta e Unstable, nonché Google Earth Pro ed EC:
Come puoi vedere, tutte le fonti software sono elencate qui, inclusi i repository ufficiali.
Sono supportati anche i repository PPA di Launchpad. Il loro nome inizia con LP-PPA, seguito dal nome PPA effettivo. Synaptic elenca 2 voci per ogni PPA:assicurati di selezionare la voce PPA che termina con /ubuntu-codename
, ad esempio /bionic
, /cosmic
, ecc. La voce con la fine /now
non elenca tutti i pacchetti disponibili nel PPA.
Questo è uno screenshot che mostra tutti i pacchetti disponibili in Ubuntu Graphics Drivers PPA (per Ubuntu 18.10 Cosmic Cuttlefish, poiché è quello che sto usando), inclusi quelli installati sul mio sistema:
Non sono sicuro del perché, ma alcuni pacchetti sono elencati più volte per le fonti PPA (e solo per i repository PPA). Questa è solo una cosa di visualizzazione e non interrompe alcuna funzionalità.
Elenca tutti i pacchetti in un repository in Ubuntu, Debian o Linux Mint dalla riga di comando
Elencare tutti i pacchetti in un repository dalla riga di comando in Ubuntu, Debian o Linux Mint è un po' complicato, ma comunque abbastanza facile.
Esistono diversi modi per farlo tramite il comando, ma ne elencherò solo uno. Il comando per elencare tutti i pacchetti disponibili in repository-name
è il seguente:
grep ^Package /var/lib/apt/lists/repository-name*_Packages | awk '{print $2}' | sort -u
Spiegherò come ottenere il nome del repository da. scopre /var/list/apt/lists
e come usarlo. Prima di ciò, spiegherò cosa fa questo comando:
-
grep ^Package ...
cerca le righe che iniziano con^Package
facendo/var/lib/apt/lists/*_Packages
file -
awk '{print $2}'
restituisce la seconda colonna per ogni riga (questo filtrerà tutto tranne il nome del pacchetto) -
sort -u
ordina le righe e restituisce solo righe univoche (rimuove i duplicati)
La prima cosa che devi fare è trovare il nome del repository *_Packages
File da /var/lib/apt/lists/
. Puoi elencare tutti i repository _Packages
File disponibili in /var/lib/apt/lists/
con un semplice ls
:
ls /var/lib/apt/lists/*_Packages
Dato che i risultati possono essere molto lunghi, puoi eseguire l'output del comando tramite more
per una lettura più facile:
ls /var/lib/apt/lists/*_Packages | more
Se conosci parte del nome del repository (sto usando KEYWORD
nel comando sottostante come nome), puoi usare il ls
Risultati con grep
, in questo modo:
ls /var/lib/apt/lists/*_Packages | grep KEYWORD
Supponiamo di voler elencare tutti i pacchetti nel repository Tor ufficiale e sapere che il nome del repository deve includere tor
. In tal caso useresti questo comando per scoprire _Packages
Nome file di /var/lib/apt/lists/
ls /var/lib/apt/lists/*_Packages | grep tor
Con query rapide, potresti vedere alcuni repository non correlati, ma è comunque più facile vedere cosa stai cercando. grep
piuttosto che elencare tutti i repository _Packages
File.
Ora che conosci _Packages
filename, puoi elencare tutti i pacchetti disponibili in questo repository eseguendo questo comando:
grep ^Package /var/lib/apt/lists/some-repository-amd64_Packages | awk '{print $2}' | sort -u
Utilizzare il file con l'architettura per la quale si desidera elencare tutti i pacchetti disponibili in questo repository. L'esempio sopra è per 64 bit (amd64
), ma potresti usarlo i386
per 32 bit ecc.
Non è necessario l'intero repository _Packages
Nome del file. Tornando al mio esempio di repository Tor, il _Packages
Il nome del file per Tor è deb.torproject.org_torproject.org_dists_cosmic_main_binary-amd64_Packages
. In tal caso, potresti utilizzare deb.torproject
seguito da *_Packages
per semplificare cose come questa:
grep ^Package /var/lib/apt/lists/deb.torproject*_Packages | awk '{print $2}' | sort -u
Che restituisce quanto segue:
deb.torproject.org-keyring
tor
tor-geoipdb
Un altro esempio. Supponiamo di volere tutti i pacchetti disponibili in Linux Uprising Oracle Java 11 PPA (ppa:linuxuprising/java
). Puoi elencarli usando:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net_linuxuprising_java*_Packages | awk '{print $2}' | sort -u
Che produce questo:
oracle-java11-installer
oracle-java11-set-default
Per usarlo con altri repository PPA, sostituisci linuxuprising
con la prima parte del nome PPA e java
con la seconda parte del nome PPA e il comando elencherà tutti i pacchetti di quel PPA (sia installati che non installati).
Puoi anche elencare tutti i pacchetti disponibili in tutti i repository PPA che hai aggiunto al tuo sistema usando:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net*_Packages | awk '{print $2}' | sort -u
Per un facile accesso, puoi aggiungere questo comando ai segnalibri utilizzando Gestione segnalibri per i comandi dei segnalibri (sebbene sia utilizzato principalmente per la ricerca, HSTR può anche utilizzare segnalibri per i comandi).