Как вывести список установленных пакетов и их детали в Ubuntu?

Я новичок в Ubuntu и пытаюсь найти способ перечисления всех установленных пакетов и их подробностей, таких как версия, выпуск, время установки, категория в Ubuntu. Обнаружено, что следующие команды помогут мне получить некоторую эту информацию:

1) dpkg -l

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

В отличие от Redhat информация о времени установки и категории отсутствует в этом. Кто-нибудь может знать, как получить эти данные?

Заранее спасибо.

27
задан 28.04.2020, 03:26

7 ответов

Просто и элегантно:

sudo dpkg -l | more

или

sudo dpkg -l | less

Если вы хотите получить описание некоторых конкретных пакетов, скажите firefox:

sudo dpkg -l | grep firefox

Вот мой вывод:

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

Чтобы получить дату и время установки пакетов

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

Чтобы получить для конкретного пакета:

$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

Чтобы получить раздел

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

См. Также: ListInstalledPackagesByDate

32
ответ дан 28.04.2020, 03:29
  • 1
    Кажется, что способный кэш может быть удален и что команда won' t возвращают всю информацию. Исправьте меня, если я неправ. Будет dpkg - польза печати < package_name> помогите мне получить те же детали, если способный кэш удален? – basZero 28.04.2020, 03:29
  • 2
    Я видел эти два пути, но не был уверен, ли это последовательные способы использовать на всех версиях Ubuntu. Еще одно беспокойство было то, если отчеты способного кэша в определенных условиях только (как то, если кэширование включено). Я могу полагаться на эти команды для получения деталей? – BalusC 28.04.2020, 03:30
  • 3
    склонный - становятся чистыми, команда, которую я изучил, о котором удаляет кэш. Я выполнил обоих команды, о которых Вы упомянули в моей системе и нашли, что выставочный Firefox способного кэша | туалет возвратил меня некоторая запись, однако dpkg - польза печати |, туалет не сделал. Я проверил, установлен ли Firefox в моей системе путем выполнения dpkg-l | grep Firefox, и я ничего не получил. Я выполнил те же команды для пакета, который установлен в системе и найден, та выставочная команда способного кэша также печатает информацию о последнем патче, который доступен для этого пакета. Это означает, пакет является кандидатом на обновление. – Jafar Ali 28.04.2020, 03:30
  • 4
    Ну, это берет меня к решению, что dpkg - польза печати является командой, которую я ищу, который дает мне фактическую информацию уровня пакета, установленного в системе. – Dmitry Pashkevich 28.04.2020, 03:30
  • 5
    @user224730: Я don' t знают как you' ll удаляют apt-cache, но да Вы правы. dpkg --print-avail сделает то же задание, если Вы захотите получить достаточную информацию. Одна вещь необходимо отметить, что sudo apt-cache show команда всегда дает Вам некоторую дополнительную информацию. Можно проверить его путем сравнения этих двух команд вывод. 2. 1. sudo apt-cache show firefox | wc и 2. sudo dpkg --print-avail firefox | wc You' ll замечают, что 1-й команда возвращает больше количества строк, слов и символов, чем 2-й один. Ответ, если you' ve все еще некоторые сомнения.. – Peter O. 28.04.2020, 03:31

Теперь гораздо проще получить подробную информацию об установке пакетов.

Вот простые шаги:

  1. Скопируйте и вставьте следующий скрипт в файл и сохраните его под любым именем, скажем 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. Сделайте файл исполняемым и скопируйте его в /bin, чтобы использовать его в качестве команды.

    chmod a+x pkgdetails && sudo cp pkgdetails /bin/
    
  3. Теперь используйте команду pkgdetails, чтобы получить подробности установки и раздел пакетов:

    pkgdetails qbittorrent artha
    

Вот мой вывод :

--------------------- 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
3
ответ дан 28.04.2020, 03:27

Использование apt

Вы также можете перечислить установленные пакеты с помощью:

apt list --installed

Ваши установленные вручную пакеты отображаются с:

apt list --manual-installed

и все версии с :

apt list --all-versions

Это очень полезные команды. Например, если вы хотите установить локально установленные пакеты на другой компьютер, вам нужно только

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

или если вы хотите только свои установленные вручную пакеты

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

Теперь все ваши apt- пакеты готовы к установке в другой или новой установленной системе Ubuntu.

sudo apt-get install < apt_packages.txt

Подробное описание

Если вы хотите точно знать , когда , , какие и какие пакеты были удалены, вы должны посмотрите в вашем каталоге

/var/log/apt

. Поиск в history.log файлах; используйте sed , awk , grep или просто текстовый редактор для поиска в файлах истории.

1
ответ дан 28.04.2020, 03:28

apt-cache showpkg <package> предоставит вам подробную информацию о доступных версиях пакетов, прямых и обратных зависимостях и т. Д.

apt-cache show <package> предоставит описание, категорию (раздел) и т. Д.

Я не знаю, как узнать, когда пакет был установлен.

5
ответ дан 28.04.2020, 03:28

откройте текстовый редактор и вставьте следующий с anyname.sh и сделайте его исполняемым с кодом

chmod +x  anyname.sh   

:

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

кредит переходит в сообщество Ubuntu

1
ответ дан 28.04.2020, 03:30
  • 1
    Спасибо за ответ. Сценарий должен будет быть изменен для получения еще немногих деталей как категория. – jaime 28.04.2020, 03:30

Вы должны посмотреть этот сайт https://help.ubuntu.com/community/AptGet/Howto Вы увидите здесь,

apt-cache show

apt-cache pkgnames

0
ответ дан 28.04.2020, 03:30

У меня есть частичный ответ (и недостаточно точек повторения, чтобы сделать это комментарием) - журнал установки находится здесь:

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

Поскольку вы, кажется, немного более опытны в командной строке, чем я, вы можете попробовать изменить скрипт здесь, чтобы разобрать его:

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

0
ответ дан 28.04.2020, 03:31

Теги

Похожие вопросы