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.