安装未使用麦迪逊列出的特定版本版本

我正在尝试安装特定版本的CrateDB,例如:

$sudo apt-get -s install crate=2.1.8-1~wheezy 

但是找不到这个包裹。

运行’apt-cache madison’只显示最新版本:

 $sudo apt-cache madison crate crate | 2.2.3-1~wheezy | https://cdn.crate.io/downloads/apt/stable wheezy/main amd64 Packages crate | 2.2.3-1~wheezy | https://cdn.crate.io/downloads/apt/stable wheezy/main i386 Packages 

sources.list中的Crate.io存储库:

 deb https://cdn.crate.io/downloads/apt/stable/ wheezy main deb-src https://cdn.crate.io/downloads/apt/stable/ wheezy main 

所有实际可用的版本(包括2.1.8-1~woezy): https ://cdn.crate.io/downloads/apt/stable/pool/main/c/crate/

我怎样才能看到所有可用的包而不仅仅是最新的包?

(我在Ubuntu 16.04.1 LTS上)

Debian存储库(包括Ubuntu)被设计为只有一个候选可用于一个包。 默认情况下,这是该版本可用的最新版本。 您无法更改它 – 它位于上游,并且版本在存储库的Release文件中指定。

警告 :在Ubuntu中使用Debian软件包通常是不明智的,除非你真的知道自己在做什么。 这件事情是由很多原因导致的。

警告 :可以降级包,但不支持 。 如果您尝试它,并且由于任何原因它不起作用,那么您将获得的最佳建议是恢复到您的Ubuntu版本的正确版本。 错误的版本包可能会导致各种依赖性问题。 (这就是Debian repos不玩那个游戏的原因)

第1步:将软件包下载到您将再次找到它的位置。 在这种情况下,让我们放入下载目录:

 wget -o ~/Downloads/ https://cdn.crate.io/downloads/apt/stable/pool/main/c/crate/crate_2.1.8-1~wheezy_all.deb 

第2步:卸载较新的包装箱,安装较旧的包装箱:

 sudo apt remove crate sudo apt install ~/Downloads/crate_2.1.8-1~wheezy_all.deb 

第3步:防止自动升级包

 sudo apt-mark hold crate sudo apt-mark unhold crate <---- Someday (not today) you will need this to undo the hold 

谢谢让我们注意到这个。 – 这是因为我们使用了reprepo工具来管理我们的Debian和Ubuntu存储库,遗憾的是它的每个包和分发只允许一个版本。 我们将移动我们的发布基础架构,以使用允许我们保留旧版本的内容。

但是,对于Ubuntu,建议从我们的DEB版本( https://cdn.crate.io/downloads/deb/ .. )安装CrateDB软件包,而不是我们的APT,如此处所述。