![使用 apt 下载特定版本的软件包](https://linux22.com/image/1080255/%E4%BD%BF%E7%94%A8%20apt%20%E4%B8%8B%E8%BD%BD%E7%89%B9%E5%AE%9A%E7%89%88%E6%9C%AC%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我想下载某个软件包的特定版本。该软件包ruby1.9.3
有一个 Ubuntu 原生版本和一个 Brightbox PPA 版本。我安装了 PPA 版本,效果很好。来自apt-cache showpkg ruby1.9.3
:
Package: ruby1.9.3
Versions:
1:1.9.3.392-1bbox1~quantal1 (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_raring_universe_binary-amd64_Packages
MD5: aa611a7522ee6c493d69294af0dd1d4b
Description Language: en
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_raring_universe_i18n_Translation-en
MD5: aa611a7522ee6c493d69294af0dd1d4b
1.9.3.194-8.1ubuntu1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_raring_universe_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_raring_universe_binary-amd64_Packages
MD5: aa611a7522ee6c493d69294af0dd1d4b
Description Language: en
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_raring_universe_i18n_Translation-en
MD5: aa611a7522ee6c493d69294af0dd1d4b
下载 Ubuntu 原生软件包没有问题:apt-get source ruby1.9.3=1.9.3.194-8.1ubuntu1
但下载其他的软件包:
$ apt-get source ruby1.9.3=1:1.9.3.392-1bbox1~quantal1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Picking 'ruby1.9.1' as source package instead of 'ruby1.9.3'
E: Ignore unavailable version '1:1.9.3.392-1bbox1~quantal1' of package 'ruby1.9.3'
E: Unable to find a source package for ruby1.9.1
不起作用。
我正在运行从 12.10 升级而来的 13.04。PPA 定义如下:
deb http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu quantal main
deb-src http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu quantal main
我想这样做是因为我想创建一个 Ruby 2.0 包,因为 Brightbox 的发布时间滞后了,我想弄清楚他们是如何做到的。
答案1
您从 PPA 安装了软件包。升级到新版本的 Ubuntu 时,PPA 会自动禁用。因此,该deb-src
行不再使用,因此apt-get
无法找到源软件包。您需要重新启用 PPA,然后运行apt-get update
才能提取该特定源。