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


18

Чи є еквівалент цієї команди; yum list kernel-headers --showduplicatesна Ubuntu і apt-get, apt-cacheт. д. Згадана вище команда перераховує різні версії оборотів у заголовку ядра, доступні для 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

Найближче мені вдалося скористатисьdpkg --list | grep linux-image
askb

dpkg --listпоказує подробиці всіх встановлених пакетів.
Авінаш Радж

Відповіді:


13

Ви маєте правильну команду, за винятком того, що linux-зображення не є справжнім пакетом.

$ 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) знаходяться в окремих пакетах і називаються незалежно відповідно до версії. Вони не всі версії одного пакета.


EDIT

У цьому списку перераховані всі доступні пакети. Щоб показати, що встановлено, ви можете використовувати 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

Ви також можете фільтрувати за допомогою грепа незручний синтаксис, щоб обійти помилку / функцію придатності.

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

У iпершому стовпці йдеться про те, що він уже встановлений. Перегляньте man aptitudeінші символи.


висновок, який я отримую з yumчітко показує, що встановлено, видалено та доступно.
askb

Добре. Вам, мабуть, слід додати це до свого питання, оскільки багато користувачів Ubuntu (включаючи мене) не знають, що yumдає результат. Я додав більше інформації у відповідь.
Спархак

@askb Дякую за редагування. Як я нагадав у своїй відповіді, я думаю, що частина проблеми полягає в тому, що Ubuntu змінює ім'я кожного ядра залежно від версії, тоді як Fedora використовує те саме ім’я незалежно від версії. Однією з переваг першої є те, що у вас можуть бути встановлені кілька версій одночасно, і відкат до старої версії на grub, якщо є проблеми. У будь-якому випадку apt-cache searchстратегія повинна працювати.
Спархак

дякую за відповідь. На rpmбазі встановлених установок можливо його кілька версій ядра, встановлених до тих пір, поки версії не відрізняються, але це, як правило, не застосовується для всіх пакетів, встановлених на основі оборотів у хвилину, або не прямо перед AFAIK. Однак я все ще намагаюся знайти чистий спосіб, де я отримую деталі як встановлених, так і доступних (у репостах) pkgs на ubuntu, наскільки apt-cache search ідея , застосовно до лише локальних пакетів і не заглядає у репост . Найближчий я міг приїхати був зshowpkg
askb

@askb Ні, apt-cache searchвиглядає в репості , а не локально. AFAIK не повідомляє нічого про локально встановлені пакети. Вам це потрібно dpkgдля моєї першої редакції. Я додав у другій редакції, яка є єдиною командою, застосовною до ядер.
Спархак

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

0

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

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

Мета-пакет ядра Linux викликається на Debian linux-image-generic.

$ apt-cache madison linux-image-generic

надасть усі версії, доступні у сховищах APT (необов’язково встановлюватись у вашій системі).


-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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.