Come posso verificare se un pacchetto è installato (nessun privilegio di superutente)?

54

Nella nostra università possiamo installare quasi tutti i pacchetti ubuntu che vogliamo, ma non siamo superutenti (dobbiamo richiedere l'installazione dei pacchetti).

Con alcune librerie non è sempre facile sapere se il pacchetto è già installato o meno. C'è un modo semplice / comando per verificare questo?

    
posta Peter Smit 23.08.2010 - 15:33

6 risposte

53
apt-cache policy <package name>
    
risposta data Oli 23.08.2010 - 15:37
18

Lo uso sempre dalla riga di comando:

dpkg -l | grep mysql

quindi quanto sopra chiede a dpkg di elencare tutti i pacchetti installati e poi grep solo per quelli che hanno mysql nel nome.

    
risposta data Rick 23.08.2010 - 15:49
7

Un'altra variante, utilizzando aptitude questa volta:

aptitude show <package>

Il completamento delle schede funziona anche qui.

    
risposta data Alexey Nedilko 24.08.2010 - 02:24
5

Puoi usare dselect. Fornisce accesso non su readonly.

Inoltre, dpkg -s fornisce molti dettagli relativi a un pacchetto. Ad esempio "

userme:~$ dpkg-query -s sl
Package: sl
Status: unknown ok not-installed
Priority: optional
Section: games
    
risposta data Abhinav 23.08.2010 - 15:35
4

Puoi utilizzare dpkg-query -s <package> 2>/dev/null | grep -q ^"Status: install ok installed"$ negli script, poiché restituisce il codice di uscita 1, se <package> non è installato e 0 se è installato <package> .

    
risposta data jarno 24.12.2013 - 18:16
0

Esempio per utilizzare un valore specifico come var negli script di shell (ad esempio test.sh )

#!/bin/sh
PACKAGETOLOOKFOR=""
INSTALLED=$(dpkg -l | grep ${PACKAGETOLOOKFOR} >/dev/null && echo "yes" || echo "no")

echo " is installed ... ${INSTALLED}"

Rendilo eseguibile e inizia con:

test.sh openssh-server

O fai quello che vuoi con i tuoi script

    
risposta data Lahmizzar 11.11.2015 - 00:08

Leggi altre domande sui tag