Comment lister le paquet installé et ses détails sur Ubuntu?

27

Je suis nouveau sur Ubuntu et j'essaie de trouver le moyen de répertorier tous les packages installés et ses détails comme la version, la version, le temps d'installation, la catégorie sur Ubuntu. J'ai trouvé que les commandes suivantes m'aideraient à obtenir certaines de ces informations:

1) dpkg -l

2) dpkg-query -W -f='${PackageSpec}\t${version}\t${Description}\n'

Contrairement à Redhat, les informations sur l'heure et la catégorie d'installation sont manquantes. Quelqu'un peut-il connaître un moyen de récupérer ces détails?

Merci d'avance.

user1787572
la source

Réponses:

33

Simple et élégant:

sudo dpkg -l | more

ou

sudo dpkg -l | less

Si vous souhaitez obtenir la description de certains packages spécifiques, dites firefox:

sudo dpkg -l | grep firefox

Voici ma sortie de:

$ sudo dpkg -l | more
 Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                        Version                                 Description
+++-===========================================-=======================================-==============================================================
================
ii  accountsservice                             0.6.15-2ubuntu9.4                       query and manipulate user account information
ii  acl                                         2.2.51-5ubuntu1                         Access control list utilities
ii  acpi-support                                0.140                                   scripts for handling many ACPI events
ii  acpid                                       1:2.0.10-1ubuntu3                       Advanced Configuration and Power Interface event daemon
ii  activity-log-manager-common                 0.9.4-0ubuntu3.2                        blacklist configuration for Zeitgeist (assets)
ii  activity-log-manager-control-center         0.9.4-0ubuntu3.2                        blacklist configuration for Zeitgeist (control center integrat
ion)
ii  adduser                                     3.113ubuntu2                            add and remove users and groups
ii  adium-theme-ubuntu                          0.3.2-0ubuntu1                          Adium message style for Ubuntu
ii  aisleriot                                   1:3.2.3.2-0ubuntu1                      Solitaire card games
ii  akonadi-backend-mysql                       1.7.2-0ubuntu1                          MySQL storage backend for Akonadi
ii  akonadi-server                              1.7.2-0ubuntu1                          Akonadi PIM storage service
ii  alacarte                                    0.13.2-2ubuntu4                         easy GNOME menu editing tool
ii  alsa-base                                   1.0.25+dfsg-0ubuntu1                    ALSA driver configuration files
ii  alsa-utils                                  1.0.25-1ubuntu5                         Utilities for configuring and using ALSA
ii  anacron                                     2.3-14ubuntu1                           cron-like program that doesn't go by time
ii  apg                                         2.2.3.dfsg.1-2                          Automated Password Generator - Standalone version
ii  app-install-data                            0.12.04.4                               Ubuntu applications (data files)
ii  app-install-data-partner                    12.12.04.1                              Application Installer (data files for partner applications/rep
ositories)
ii  apparmor                                    2.7.102-0ubuntu3.7                      User-space parser utility for AppArmor
ii  appmenu-gtk                                 0.3.92-0ubuntu1.1                       Export GTK menus over DBus
ii  appmenu-gtk3                                0.3.92-0ubuntu1.1                       Export GTK menus over DBus
ii  appmenu-qt                                  0.2.6-0ubuntu1                          appmenu support for Qt
ii  apport                                      2.0.1-0ubuntu17.1                       automatically generate crash reports for debugging
ii  apport-gtk                                  2.0.1-0ubuntu17.1                       GTK+ frontend for the apport crash report system
ii  apport-symptoms                             0.16.1                                  symptom scripts for apport
ii  apt                                         0.8.16~exp12ubuntu10.7                  commandline package manager
ii  apt-transport-https                         0.8.16~exp12ubuntu10.7                  https download transport for APT
ii  apt-utils                                   0.8.16~exp12ubuntu10.7                  package managment related utility programs
--More--

Pour obtenir la date et l'heure d'installation des packages

cat /var/log/dpkg.log | grep " install "

Pour obtenir un package spécifique:

$cat /var/log/dpkg.log | grep " install " | grep banshee
2013-12-12 12:51:48 install banshee <none> 2.4.1-3ubuntu1~precise2
2013-12-12 12:51:51 install banshee-extensions-common <none> 2.4.0-1ubuntu1
2013-12-12 12:51:51 install banshee-extension-radiostationfetcher <none> 2.4.0-    1ubuntu1
2013-12-12 12:51:51 install banshee-extension-soundmenu <none> 2.4.1-3ubuntu1~precise2

Pour obtenir la section

$apt-cache show firefox | grep Section
Section: web

Voir aussi: ListInstalledPackagesByDate

Saurav Kumar
la source
J'avais vu ces deux façons, mais je n'étais pas sûr que ce soient les façons cohérentes d'utiliser sur toutes les versions d'Ubuntu. Une autre préoccupation était de savoir si apt-cache ne signale que dans certaines conditions (comme si la mise en cache est activée). Puis-je compter sur ces commandes pour obtenir les détails?
user1787572
Il semble que le cache apt puisse être supprimé et cette commande ne retournera pas toutes les informations. Corrigez-moi si je me trompe. Dpkg --print-avail <nom_package> m'aidera-t-il à obtenir les mêmes détails si le cache apt est supprimé?
user1787572
@ user224730: Je ne sais pas comment vous allez supprimer apt-cache, mais oui, vous avez raison. dpkg --print-availfera le même travail si vous souhaitez obtenir les informations suffisantes. Une chose que vous devez noter que la sudo apt-cache showcommande vous donne toujours des informations supplémentaires. Vous pouvez le vérifier en comparant la sortie de ces deux commandes. 1. sudo apt-cache show firefox | wcet 2. sudo dpkg --print-avail firefox | wcVous remarquerez que la 1ère commande renvoie plus de lignes, de mots et de caractères que la 2ème . Répondez si vous avez encore des doutes ..
Saurav Kumar
apt-get clean est la commande que j'ai apprise qui supprime le cache. J'ai exécuté les deux commandes dont vous avez parlé sur mon système et j'ai découvert qu'apt-cache show firefox | wc m'a retourné un record, mais dpkg --print-avail | wc ne l'a pas fait. J'ai vérifié si firefox est installé sur mon système en exécutant dpkg -l | grep firefox et je n'ai rien. J'ai exécuté les mêmes commandes pour le package installé sur le système et j'ai constaté que la commande apt-cache show imprime également les informations sur le dernier correctif disponible pour ce package. Cela signifie que le package est le candidat pour la mise à jour.
user1787572
Eh bien, cela m'amène à la décision que dpkg --print-avail est la commande que je recherche qui me donne les informations réelles du niveau de package installé sur le système.
user1787572
5

apt-cache showpkg <package> vous donnera des détails sur les versions de package disponibles, les dépendances directes et inverses, etc.

apt-cache show <package> fournira une description, une catégorie (section), etc.

Je ne connais pas de moyen de voir à quelle heure un paquet a été installé.

vegivamp
la source
3

Il est désormais beaucoup plus facile d'obtenir les détails d'installation des packages.

Voici les étapes simples:

  1. Copiez et collez le script suivant dans un fichier et enregistrez-le avec n'importe quel nom pkgdetails.

    #!/bin/bash
    
    #Get the details and section of installed packages
    # usage:
    # pkgdetails <pkgname1> <pkgname2>
    
    #first append all info from archived logs
    
    i=2
    mycount=$(ls -l /var/log/dpkg.log.*.gz | wc -l)
    nlogs=$(( $mycount + 1 ))
    
    while [ $i -le $nlogs ]
    do
    if [ -e /var/log/dpkg.log.$i.gz ]; then
    zcat /var/log/dpkg.log.$i.gz | grep "\ install\ " >> $HOME/pkgtmp.txt
    fi
    i=$(( $i+1 ))
    
    done
    
    #next append all info from unarchived logs
    
    i=1
    nulogs=$(ls -l /var/log/dpkg.log.* | wc -l)
    nulogs=$(( $nulogs - $nlogs + 1 ))
    while [ $i -le $nulogs ]
    do
    if [ -e /var/log/dpkg.log.$i ]; then
    cat /var/log/dpkg.log.$i | grep "\ install\ " >> $HOME/pkgtmp.txt
    fi
    i=$(( $i+1 ))
    
    done
    
    #next append current log
    
    cat /var/log/dpkg.log | grep "\ install\ " >> $HOME/pkgtmp.txt
    
    #sort text file by date
    
    sort -n $HOME/pkgtmp.txt > $HOME/pkginstalls.txt
    
    rm $HOME/pkgtmp.txt
    
    # Now displaying the installation details of packages passed as arguments
    
    for pkg in $@
    do
    echo "--------------------- Installation Details of $pkg ----------------------"
    echo 
    cat $HOME/pkginstalls.txt | grep -i $pkg
    echo
    apt-cache show $pkg | grep "Section" | sort -u
    echo
    done
    
    exit 0
    
  2. Rendez le fichier exécutable et copiez-le /binpour l'utiliser comme commande.

    chmod a+x pkgdetails && sudo cp pkgdetails /bin/
    
  3. Utilisez maintenant la pkgdetailscommande pour obtenir les détails d'installation et la section des packages:

    pkgdetails qbittorrent artha
    

Voici ma sortie:

--------------------- Installation Details of qbittorrent ----------------------

2013-07-24 07:52:27 install qbittorrent <none> 2.9.7-1
2013-07-24 09:11:32 install qbittorrent <none> 3.0.x-0~4366-20130722~precise1
2013-10-19 05:32:27 install qbittorrent <none> 3.0.x-0~4389-20130802~precise1

Section: net
Section: universe/net

--------------------- Installation Details of artha ----------------------

2013-07-11 23:50:16 install artha <none> 1.0.2-1ubuntu1

Section: universe/utils
Saurav Kumar
la source
1

ouvrez l'éditeur de texte et collez le suivi avec anyname.sh et rendez-le exécutable avec

chmod +x  anyname.sh   

code:

#!/bin/bash
#pkginstalls.sh
#creates text file with a list of all packages installed by date

#first append all info from archived logs

i=2
mycount=$(ls -l /var/log/dpkg.log.*.gz | wc -l)
nlogs=$(( $mycount + 1 ))

while [ $i -le $nlogs ]
do
if [ -e /var/log/dpkg.log.$i.gz ]; then
zcat /var/log/dpkg.log.$i.gz | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))

done

#next append all info from unarchived logs

i=1
nulogs=$(ls -l /var/log/dpkg.log.* | wc -l)
nulogs=$(( $nulogs - $nlogs + 1 ))
while [ $i -le $nulogs ]
do
if [ -e /var/log/dpkg.log.$i ]; then
cat /var/log/dpkg.log.$i | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))

done

#next append current log

cat /var/log/dpkg.log | grep "\ install\ " >> $HOME/pkgtmp.txt

#sort text file by date

sort -n $HOME/pkgtmp.txt > $HOME/pkginstalls.txt

rm $HOME/pkgtmp.txt

exit 0

le crédit revient à la communauté ubuntu

rɑːdʒɑ
la source
Merci pour la réponse. Le script devra être modifié pour obtenir quelques détails supplémentaires comme la catégorie.
user1787572
1

Utiliser apt

Vous pouvez également répertorier les packs installés avec:

apt list --installed

Vos packages installés manuellement sont affichés avec:

apt list --manual-installed

et toutes les versions avec:

apt list --all-versions

Ce sont des commandes très utiles. Par exemple, si vous souhaitez installer des packages installés localement sur un autre ordinateur, il vous suffit de

apt list --installed | awk -F/ -v ORS=" " 'NR>1 {print $1}' > apt_packages.txt

ou si vous ne voulez que vos packages installés manuellement

 apt list --manual-installed | awk -F/ -v ORS=" " 'NR>1 {print $1}' > apt_packages.txt   

Maintenant, tous vos packages apt sont prêts à être installés sur un autre ou un nouveau système Ubuntu installé.

sudo apt-get install < apt_packages.txt

Description détaillée

Si vous voulez savoir exactement quand , quoi et quels paquets ont été supprimés, vous devez regarder dans votre

/var/log/apt

annuaire. Rechercher dans les history.logfichiers; utilisez sed , awk , grep ou simple votre éditeur de texte pour rechercher vos fichiers d'historique.

abu_bua
la source
0

J'ai une réponse partielle (et pas assez de points de représentation pour en faire un commentaire) - le journal d'installation est ici:

sudo less /var/log/apt/term.log 

Comme vous semblez être un peu plus averti de la ligne de commande que moi, vous pouvez essayer de modifier le script ici pour l'analyser:

http://lists.debian.org/debian-user/2002/08/msg01219.html

virtualxtc
la source