如何仅升级特定的包依赖项?

如何仅升级特定的包依赖项?

假设我有一个文件中A包含的包。Depends: B (>= 1.0.0)control

不久前B作为依赖项与版本一起安装。A1.0.0

现在B存储库中的1.0.42版本已更新,我喜欢upgrade它。

我不喜欢做的是:apt-get install B因为它会标记为“手动安装”(不确定如何正确命名)包,如果我决定停止使用,B它将不会被删除。autoremoveA

那么,是否存在类似的东西apt-get upgrade,只升级特定的包及其依赖项(可能是递归的,对我来说这并不重要,因为它B不依赖于其他任何东西)?

附言:我问的是目前可用的 LTS 版本。所以是 10.04 和 12.04

答案1

好吧,如果没有其他答案——这里有一种方法可以做到:

只需apt-get install B明确安装它,然后使用将其标记为自动安装apt-mark markauto B

答案2

针对你的问题,我会这样做:

  • apt-get update从其源重新同步包索引文件。
  • apt-get install B将安装最新版本。
  • apt-mark auto B标记它自动安装

要升级特定包:

  • apt-get update
  • apt-get install <package_name>这将安装更新的软件包...那里...该软件包已升级,不像apt-get upgrade升级所有可升级的软件包那样。

如果你想要某个包的特定版本,你可以这样做:

  • apt-get <package_name>=<verson>或者apt-get -t <version> <package_name>

使用apt-get -t <version> <package_name>,您可以将目标版本指定为 -t '2.1*'、-t stable 或 -t sid。

如果您需要可用版本的列表:

  • apt-cache showpkg <package_name>

相关内容