![如何仅升级特定的包依赖项?](https://linux22.com/image/1115845/%E5%A6%82%E4%BD%95%E4%BB%85%E5%8D%87%E7%BA%A7%E7%89%B9%E5%AE%9A%E7%9A%84%E5%8C%85%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9F.png)
假设我有一个文件中A
包含的包。Depends: B (>= 1.0.0)
control
不久前B
作为依赖项与版本一起安装。A
1.0.0
现在B
存储库中的1.0.42
版本已更新,我喜欢upgrade
它。
我不喜欢做的是:apt-get install B
因为它会标记为“手动安装”(不确定如何正确命名)包,如果我决定停止使用,B
它将不会被删除。autoremove
A
那么,是否存在类似的东西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>