如何使用 aptitude 删除指定版本的软件包

如何使用 aptitude 删除指定版本的软件包

我对软件包有点小问题libc6。有一些输出:

root@xubuntu:/# aptitude versions libc6
Package libc6:                        
p   2.17-93ubuntu4  saucy   500 
H   2.18-4                  100 

root@xubuntu:/# aptitude show libc6
Package: libc6                           
State: partially installed
Automatically installed: no
Multi-Arch: same
Version: 2.18-4
Priority: required
Section: libs
Maintainer: GNU Libc Maintainers <[email protected]>
Architecture: amd64
Uncompressed Size: 10.5 M
Depends: libgcc1
Suggests: glibc-doc, debconf | debconf-2.0, locales
Conflicts: prelink (<= 0.0.20090311-1), prelink (<= 0.0.20090311-1), tzdata (< 2007k-1), tzdata (< 2007k-1), tzdata-etch, tzdata-etch
Breaks: hurd (< 1:0.5.git20140203-1), hurd (< 1:0.5.git20140203-1), locales (< 2.18), locales (< 2.18), locales-all (< 2.18), locales-all (< 2.18), lsb-core (<=
    3.2-27), lsb-core (<= 3.2-27), nscd (< 2.18), nscd (< 2.18), libc6 (!= 2.18-4)
Replaces: libc6-amd64, libc6-amd64, libc6 (< 2.18-4)
Provides: glibc-2.18-1
Description: Embedded GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs on the system.     This package includes shared versions of the standard C library and the standard math library, as well as many others.
Homepage: http://www.eglibc.org

root@xubuntu:/# aptitude reinstall libc6
The following packages will be REINSTALLED:
  libc6 libc6:i386 
0 packages upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 26 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
E: I wasn't able to locate a file for the libc6 package. This might mean you need to manually fix this package.
E: I wasn't able to locate a file for the libc6 package. This might mean you need to manually fix this package.
E: Internal error: couldn't generate list of packages to download

我想我需要卸载版本2.18-4而不删除依赖项和旧软件包版本。那么,该怎么做呢?

答案1

您可以使用apt-get安装软件包的特定版本,只要它位于 apt 知道的存档中。摘自apt-get手册页:

A specific version of a package can be selected for installation by following the package name with an equals and the version of the package to select. This will cause that version to be located and selected for install. Alternatively a specific distribution can be selected by following the package name with a slash and the version of the distribution or the Archive name (stable, frozen, unstable).

例如,你可以这样做:

sudo apt-get install apache2=2.2.20-1ubuntu1 请注意,在这种情况下,您可能需要自己解决一些依赖关系,但如果出现任何问题,apt-get 会告诉您导致问题的原因。在我的 11.10 系统上,我需要执行以下操作才能使其正常工作:

sudo apt-get install apache2=2.2.20-1ubuntu1 \ apache2.2-common=2.2.20-1ubuntu1 \ apache2.2-bin=2.2.20-1ubuntu1 \ apache2-mpm-worker=2.2.20-1ubuntu1

原始答案:如何安装特定的 Ubuntu 软件包(包括精确的版本)?

相关内容