Controlla se esistono più dipendenze prima di installare un pacchetto in Debian o Ubuntu


8

So già che posso verificare se nei miei repository esistono più dipendenze richieste per installare un pacchetto in Debian o Ubuntu eseguendo il comando seguente:

apt policy first-package second-package ... last-package  

Questo comando mi dice anche se ogni pacchetto è attualmente installato o meno.

La mia domanda è come verificare rapidamente se esistono più pacchetti di dipendenze in una versione supportata di Debian o Ubuntu che attualmente non ho installato. Poiché al momento non ho quel SO installato, non posso verificare se i pacchetti di dipendenza esistono localmente e offline, ma voglio verificare se i pacchetti di dipendenza richiesti esistono nei repository predefiniti dal terminale.

Un possibile uso di queste informazioni è verificare se un'applicazione installata in Ubuntu può essere installata anche nell'ultima versione di Ubuntu prima di installare l'ultima versione di Ubuntu o aggiornare il sistema operativo esistente all'ultima versione.

Risposte:


10

Lo strumento ideale per questo è rmadison, che è un semplice script Perl con poche dipendenze (il URImodulo e wgeto curl), quindi può essere eseguito praticamente ovunque. Interroga i servizi Madison ospitati da Debian e Ubuntu per determinare la disponibilità dei pacchetti:

rmadison gcc-7

ti dice quali versioni di GCC 7 sono disponibili nelle varie suite Debian,

rmadison -u ubuntu gcc-7

fa lo stesso per Ubuntu.

È possibile limitare l'output a una versione specifica:

rmadison -u ubuntu -s bionic gcc-7

@karel nota che il parametro after -unon è un nome pacchetto, ma un nome distro (o probabilmente repo)
— GnP

Hai ragione, mancava ubuntue funziona sul mio file di esempio. In effetti funziona meglio della mia sceneggiatura perché restituisce anche risultati per pacchetti precisi che è un rilascio di fine vita.
— karel,

3

rmadison può cercare contemporaneamente sia i pacchetti Debian che Ubuntu, e cerca anche i pacchetti nelle versioni Ubuntu di End Of Life (12.04) e non rilasciate (18.10). Queste sono grandi funzionalità, ma rmadison non può eseguire ricerche parziali di parole chiave sul mio computer. A volte non riesco a ricordare l'intero nome del pacchetto che sto cercando. Me ne ricordo solo una parte e anche le seguenti istruzioni funzionano in questa situazione. Altrimenti usa rmadison che può essere installato dal comandosudo apt-get install devscriptsin Ubuntu e Debian.

  1. Creare uno script di shell per eseguire una query se esistono più pacchetti denominati Open-multiple-URLs-in-Firefox.sh. Lo script contiene il seguente codice:

    #!/bin/bash
    while read line; do
        firefox --new-tab "https://packages.ubuntu.com/$line"
    done < packages.txt
    
  2. Rendi eseguibile lo script.

    chmod +x Open-multiple-URLs-in-Firefox.sh
  3. Creare un file denominato packages.txt che contiene i nomi di tutti i pacchetti di dipendenza richiesti, ogni pacchetto su una riga separata. Salvare pacchetti.txt nella stessa directory di Open-multiple-URLs-in-Firefox.sh.

  4. Esegui lo script.

    ./Open-multiple-URLs-in-Firefox.sh  

La pagina Web che contiene informazioni su ciascun pacchetto di dipendenza richiesto si aprirà in una scheda separata in Firefox.

Per cercare più pacchetti in Debian sostituisci https://packages.ubuntu.com/nello script di shell conhttps://packages.debian.org/search?keywords=


Questo comando è un'alternativa più semplice allo script della shell sopra per l'uso quando si cercano solo 1 o 2 pacchetti.

firefox --new-tab https://packages.ubuntu.com/first-package https://packages.ubuntu.com/next-package https://packages.ubuntu.com/last-package
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.