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^Packagefacendo/var/lib/apt/lists/*_Packagesfile -
awk '{print $2}'restituisce la seconda colonna per ogni riga (questo filtrerà tutto tranne il nome del pacchetto) -
sort -uordina 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).