Список всех версий пакета

17

Есть ли эквивалент этой команды; yum list kernel-headers --showduplicatesв Ubuntu apt-get, apt-cacheи т. д. Приведенная выше команда перечисляет различные версии rpm-заголовков ядра, доступные на F20 / RHEL или в инсталляциях.

Шкаф я могу использовать apt-cache showpkg, не уверен, есть ли лучший способ?

$ apt-cache showpkg linux-image  
Package: linux-image  
Versions:   

Reverse Depends:  
  firmware-crystalhd,linux-image  
  systemtap,linux-image  
  fiaif,linux-image  
Dependencies:  
Provides:  
Reverse Provides:  
linux-image-3.13.0-27-lowlatency 3.13.0-27.50  
linux-image-3.13.0-27-generic 3.13.0-27.50  
linux-image-3.13.0-24-lowlatency 3.13.0-24.47  
linux-image-3.13.0-24-generic 3.13.0-24.47  
linux-image-3.13.0-24-lowlatency 3.13.0-24.46  
linux-image-3.13.0-24-generic 3.13.0-24.46  

Ожидая аналогичного выхода:

$ yum list kernel-headers --showduplicates
Loaded plugins: langpacks, refresh-packagekit
Installed Packages
kernel-headers.x86_64 3.11.10-301.fc20 @fedora
Available Packages
kernel-headers.x86_64 3.11.10-301.fc20 fedora 
kernel-headers.x86_64 3.14.4-200.fc20 updates

Это помогло бы мне просто выполнить обновление или перейти на конкретную версию.

askb
источник
Вы имели в виду перечисление версии всех установленных пакетов вместе с именами пакетов?
Авинаш Радж
И установлены, и удалены, аналогично приведенной выше команде:
askb
Самое близкое, что я мог получить, это использоватьdpkg --list | grep linux-image
askb
dpkg --listпоказывает детали всех установленных пакетов.
Авинаш Радж

Ответы:

13

У вас правильная команда, за исключением того, что linux-image не является настоящим именем пакета.

$ apt-cache show linux-image
N: Can't select versions from package 'linux-image' as it is purely virtual
N: No package found

apt-cache showpkgдолжен работать для реальных пакетов, хотя. например

$ apt-cache showpkg lyx
Package: lyx
Versions: 
2.1.0-1~trusty~ppa4 (/var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 8c75d53cfd29c5b19c2172cb07b7fe9a

2.0.6-1build1 (/var/lib/apt/lists/ftp.iinet.net.au_pub_ubuntu_dists_trusty_universe_binary-amd64_Packages)

Если вы хотите увидеть все версии linux-image-подобных пакетов, вы можете просто выполнить поиск, например

$ apt-cache search linux-image | grep '^linux-image'

Проблема в том, что разные версии ядра (linux-image ) находятся в отдельных пакетах и ​​называются независимо в зависимости от версии. Они не все версии одного пакета.


РЕДАКТИРОВАТЬ

Это список всех доступных пакетов. Чтобы показать, что установлено, вы можете использовать dpkg -l. например

$ dpkg -l lyx
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                      Architecture                 Description
+++-==============================================-============================-============================-==================================================================================================
ii  lyx                                            2.1.0-1~trusty~ppa4          amd64                        Document Processor

EDIT2

Другой способ получить информацию о разных, но с одинаковыми именами пакетов (например linux-image*), с помощью aptitude search.

$ aptitude search linux-image

Вы также можете фильтровать с помощью grep, используя этот неуклюжий синтаксис, чтобы обойти ошибку / функцию aptitude.

$ aptitude -w $COLUMNS search linux-image | grep '32 bit'

В iпервом столбце говорится, что он уже установлен. Смотрите man aptitudeдля других персонажей.

Sparhawk
источник
вывод, из которого я получаю, yumясно показывает, что установлено, удалено и доступно.
askb
Ладно. Вероятно, вам следует добавить это к вашему вопросу, так как многие пользователи Ubuntu (включая меня) не знают, что выводит yum. Я добавил больше информации в ответ.
Sparhawk
@askb Спасибо за редактирование. Как упоминалось в моем ответе, я думаю, что отчасти проблема в том, что Ubuntu меняет имя каждого ядра в зависимости от версии, тогда как Fedora использует одно и то же имя независимо от версии. Одним из преимуществ первого является то, что вы можете установить несколько версий одновременно и выполнить откат к старой версии в grub, если возникнут проблемы. В любом случае apt-cache searchстратегия должна работать.
Sparhawk
спасибо за ответ, при rpmустановках на основе его возможно несколько версий ядра установлены до тех пор, пока версии отличаются, но это обычно не применимо для всех пакетов при установке на основе rpm или не прямо AFAIK. Тем не менее, я все еще пытаюсь найти чистый способ, где я получаю подробную информацию как об установленных, так и доступных (в репозиториях) pkgs в ubuntu, поскольку apt-cache search идея применима только к локальным пакетам и не просматривает репозитории. , Самый близкий, который я мог получить, былshowpkg
askb
@askb Нет, apt-cache searchсмотрит в репозитории, а не локально. AFAIK ничего не говорит о локально установленных пакетах. Вам нужно dpkgдля этого, согласно моему первому редактированию. Я добавил второе редактирование, которое представляет собой одну команду, применимую к ядрам.
Sparhawk
8

Я думаю, что вы ищете команду Madison в apt-cache:

apt-cache madison chromium-browser

Выход:

chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://archive.ubuntu.com/ubuntu/ trusty-updates/universe amd64 Packages
chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://security.ubuntu.com/ubuntu/ trusty-security/universe amd64 Packages
chromium-browser | 34.0.1847.116-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

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

Больше информации о Мэдисоне со страницы руководства:

madison pkg...
           apt-cache's madison command attempts to mimic the output format and a subset of the functionality of the Debian archive management tool,
           madison. It displays available versions of a package in a tabular format. Unlike the original madison, it can only display information
           for the architecture for which APT has retrieved package lists (APT::Architecture).
asyncopation
источник
0

Вы можете использовать dpkgдля просмотра всех установленных пакетов:

$ dpkg --get-selections | grep -v deinstall | grep linux-image

Метапакет ядра Linux вызывается в Debian linux-image-generic.

$ apt-cache madison linux-image-generic

предоставит вам все версии, доступные в репозиториях APT (необязательно установленные в вашей системе).

Tombart
источник
-1

Вы пытались загрузить старое ядро, и в терминале введите:

showpkg kernel-header.list

и я думаю, что это может быть в загрузочном каталоге, и все ядро ​​лежит там, и это может работать нормально.

а затем вы можете просто ввести, чтобы понизить это в терминале:

 sudo apt-get -y --force-yes purge linux-shim-efi shim-amd64-generic linux-shim-amd64 

и это может нормально работать таким образом.

Майкл
источник
Я не уверен, что это значит. Существует нет /dirctory, /directoryили /grubв моей системе, и файл не называется kernel-headers.list. Кроме того, чтение локального файла, вероятно, не скажет вам, какие удаленные версии доступны. -1 (но я вернусь, если вы сможете уточнить).
Sparhawk
Я, наверное, имею ввиду в / boot каталог, где лежит файл grub.
Майкл
У меня нет файла в /boot/kernel-headers.list. Однако вы можете получить список установленных ядер из (например) /boot/grub/grub.cfg, но, опять же, это только локально установленные ядра, а не удаленные версии в репозиториях.
Sparhawk
Я, может быть, нет, что это расширение .cfg / boot
Майкл
Я просмотрел все файлы из find /boot -name '*.cfg' , но ни один из них не содержал информацию об удаленных версиях ядра.
Sparhawk