以类似于 pip 的方式安装特定版本的 Ubuntu 软件包

以类似于 pip 的方式安装特定版本的 Ubuntu 软件包

这个问题之前已经问过这里这里,但我的问题略有不同。具体来说,假设我想在git与我的机器相同的机器上安装相同的版本。我首先运行sudo apt-cache policy git,它给了我:

  Installed: 1:2.32.0-1~ppa0~ubuntu20.04.1
  Candidate: 1:2.32.0-1~ppa0~ubuntu20.04.1
  Version table:
 *** 1:2.32.0-1~ppa0~ubuntu20.04.1 500
        500 http://ppa.launchpad.net/git-core/ppa/ubuntu focal/main amd64 Packages
        100 /var/lib/dpkg/status
     1:2.25.1-1ubuntu3.1 500
        500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
     1:2.25.1-1ubuntu3 500
        500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages

我注意到版本是 2.32.0。如果git是 Python 包,使用pip,我只需执行pip install git==2.32.0即可安装它。但是使用apt-get,我必须执行以下操作:

sudo apt-get install git=1:2.32.0-1~ppa0~ubuntu20.04.1

具体来说,我必须指定1:2.32.0-1~ppa0~ubuntu20.04.1。有没有办法只指定我想要 2.32.0 而不指定其他内容?

编辑:为了了解更多背景信息,我正在尝试使用特定软件包版本创建 Docker 映像。根据Docker 文档,我应该能够做到:

RUN apt-get update && apt-get install -y \
    package-bar \
    package-baz \
    package-foo=1.3.*

注意部分package-foo=1.3.*。我在我的机器上用 git 尝试了这个: sudo apt-get install git=2.32.* 但是我得到了:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Version '2.32.*' for 'git' was not found

而做的只是sudo apt-get install git工作

相关内容