GNU/Linux >> Linux Esercitazione >  >> Debian

Come elencare tutti i pacchetti in un repository su Ubuntu, Debian o Linux Mint [APT]

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).


Debian
  1. Come elencare tutti i file installati dal pacchetto DEB su Ubuntu/Debian Linux

  2. Come elencare tutti o pacchetti specifici installati sul sistema Debian/Ubuntu Linux

  3. Come compilare e installare wxWidgets su Ubuntu/Debian/Linux Mint

  4. Come installare Oracle Java 15 su Ubuntu, Debian o Linux Mint utilizzando il repository APT PPA

  5. Come impedire l'aggiornamento di un pacchetto in Ubuntu, Debian o Linux Mint [APT]

Come configurare sources.list su Debian 9

Come installare il codice di Visual Studio su Ubuntu 18.04 / Linux Mint 19 e Debian 9

Come aggiungere un repository a Debian

Come scaricare pacchetti con dipendenze localmente in Ubuntu, Debian, Linux Mint, Pop OS

Come elencare tutti i pacchetti aggiornabili in Ubuntu, Debian e Mint

Scarica i pacchetti Spotify Deb da installare su Ubuntu, Debian e Linux Mint