Kurulu paket ve ubuntudaki ayrıntıları nasıl listelenir?


27

Ubuntu'da yeniyim ve kurulu tüm paketleri ve sürüm, sürüm, yükleme süresi, kategori gibi detayları Ubuntu'da listelemenin yolunu bulmaya çalışıyorum. Aşağıdaki komutların bu bilgilerin bir kısmını edinmeme yardım edeceğini buldu:

1) dpkg -l

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

Redhat'tan farklı olarak yükleme süresi ve kategori bilgisi bu konuda eksik. Bu ayrıntıları almanın bir yolunu bilen var mı?

Şimdiden teşekkürler.

Yanıtlar:


33

Basit ve şık:

sudo dpkg -l | more

veya

sudo dpkg -l | less

Bazı özel paketlerin açıklamasını almak istiyorsanız firefox:

sudo dpkg -l | grep firefox

İşte benim çıktım:

$ 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--

Kurulu paketlerin tarih ve saatini almak için

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

Belirli bir pakete ulaşmak için:

$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

Bölümü almak için

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

Ayrıca Bakınız: ListInstalledPackagesByDate


Bu iki yolu görmüştüm, ancak bunların Ubuntu'nun tüm sürümlerinde kullanmanın tutarlı bir yolu olup olmadığından emin değildim. Bir başka endişe, apt-cache’in yalnızca belirli koşullarda bildirmesiydi (önbelleğe alma etkinse) Ayrıntıları almak için bu komutlara güvenebilir miyim?
user1787572 16:13

Apt önbelleğinin silinebildiği ve bu komutun tüm bilgileri döndürmeyeceği anlaşılıyor. Yanlışım varsa düzelt. Dpkg --print-avail <package_name>, uygun önbellek silinirse aynı bilgileri almama yardımcı olur mu?
user1787572 16:13

@ user224730: Nasıl sileceğinizi bilmiyorum apt-cacheama evet haklısınız. dpkg --print-availyeterli bilgi almak istiyorsanız aynı işi yapacak. Dikkat etmeniz gereken bir şey, sudo apt-cache showkomutun size her zaman bazı ekstra bilgiler vermesidir. Bu iki komut çıktısını karşılaştırarak doğrulayabilirsiniz. 1. sudo apt-cache show firefox | wcve 2. sudo dpkg --print-avail firefox | wcSen fark edeceksiniz 1 komut döndürür daha hatları, kelime ve karakter daha sayısını 2 one. Hala biraz
şüphen

apt-get clean önbelleği silen hakkında öğrendiğim komut. Bahsettiğim her iki komutu da sistemimde çalıştırdım ve apt-cache show firefox | wc bana bir kayıt verdi, ancak dpkg --print-avail | WC yapmadı. Firefox'un sistemime yüklenip yüklenmediğini kontrol ettim dpkg -l | grep firefox ve ben hiçbir şeyim yok. Sistemde yüklü olan paket için aynı komutları çalıştırdım ve apt-cache show komutunun da bu paket için mevcut olan en son yama hakkındaki bilgileri yazdığını gördüm. Bu, paketin güncellenmeye aday olduğu anlamına gelir.
user1787572

Peki, bu beni dpkg --print-avail'in aradığım komut olduğu kararını bana veriyor; bu da sistemde kurulu olan paket seviyesinin gerçek bilgilerini veriyor.
user1787572 16:13

5

apt-cache showpkg <package> hangi paket sürümlerinin mevcut olduğu, ileri ve geri bağımlılıklar vb. hakkında ayrıntılı bilgi verecektir.

apt-cache show <package> açıklama, kategori (Bölüm) vb.

Bir paketin ne zaman kurulu olduğunu görmenin bir yolunun farkında değilim.


3

Artık paketlerin kurulum detaylarını almak çok daha kolay.

İşte basit adımlar:

  1. Aşağıdaki komut dosyasını bir dosyaya kopyalayıp yapıştırın ve herhangi bir adla kaydedin 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. Dosyayı çalıştırılabilir hale getirin ve /binkomut olarak kullanmak için kopyalayın .

    chmod a+x pkgdetails && sudo cp pkgdetails /bin/
    
  3. Şimdi pkgdetailskurulum ayrıntılarını ve paketlerin bölümünü almak için komutu kullanın:

    pkgdetails qbittorrent artha
    

İşte çıkışım:

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

1

metin editörünü açın ve anyname.sh ile takip edip yapıştırın

chmod +x  anyname.sh   

kod:

#!/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

kredi ubuntu topluluğuna gidiyor


Yanıt için teşekkürler. Kategori gibi birkaç detay daha alabilmek için betiğin değiştirilmesi gerekecek.
user1787572 16:13

1

Apt kullanarak

Yüklü paketleri ayrıca şu şekilde de listeleyebilirsiniz:

apt list --installed

El ile kurulan paketleriniz aşağıdakilerle gösterilmiştir:

apt list --manual-installed

ve ile tüm sürümler:

apt list --all-versions

Bunlar çok faydalı komutlar. Örneğin, yerel yüklü paketleri başka bir bilgisayara yüklemek istiyorsanız, yalnızca

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

ya da sadece el kitabının kurulu paketlerini istiyorsanız

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

Artık tüm apt paketleriniz başka veya yeni kurulmuş bir Ubuntu sistemine kurulmaya hazır.

sudo apt-get install < apt_packages.txt

Detaylı Açıklama

Tam olarak bilmek istiyorsanız zaman , neyi ve hangi paketleri kaldırılmış içeri bakmak zorunda senin

/var/log/apt

dizin. history.logDosyalarda ara ; kullanmak sed , awk , grep senin geçmiş dosyaları aramak için veya basit metin editörü.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.