列出包的所有版本

列出包的所有版本

yum list kernel-headers --showduplicates在 Ubuntu 等上是否有这个命令的等效项。apt-get, apt-cache上述命令列出了 F20/RHEL 或安装上可用的内核头 rpm 的各种版本。

我可以使用壁橱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

这将帮助我简单地降级或升级到特定版本。

答案1

您有正确的命令,但 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

编辑2

获取有关不同但名称相似的包(例如linux-image*)的信息的另一种方式是使用aptitude search

$ aptitude search linux-image

您还可以使用 grep 进行过滤语法不通解决能力缺陷/特性。

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

第一列中的表示i已安装。man aptitude其他字符请参见。

答案2

我认为你正在寻找麦迪逊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 的更多信息,请参阅手册页:

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

答案3

您可以使用dpkg以下命令查看所有已安装的包:

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

在 Debian 上调用 Linux 内核元包linux-image-generic

$ apt-cache madison linux-image-generic

将为您提供 APT 存储库中可用的所有版本(不一定安装在您的系统上)。

答案4

您是否尝试过启动旧内核,并在终端中输入:

showpkg kernel-header.list

我认为它可能在启动目录中,并且所有内核都位于那里,并且它可能工作正常。

然后您只需在终端中输入降级即可:

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

这样也许能很好地发挥作用。

相关内容