从ppa获取旧版本软件包

我可以从ppa安装特定软件包的旧版本吗?具体来说,我想从xorg-edgers ppa获取xserver-xorg-video-intel的旧版本(以及其依赖项)。原因是旧版本似乎与我的硬件兼容。目前的版本似乎存在严重崩溃问题(我想找出是否真的是源头),而这个软件包的当前稳定版本也有类似问题。我尝试过...
apt-get install pkg=version

但是没有成功。我担心缓存中的软件包丢失了。
apt-get clean

我甚至不知道上一个版本的精确版本号,假设它不一定要比当前版本少一个。当前版本是xserver-xorg-video-intel-2.20.15。 或者:有没有地方,比如在launchpad上,我可以手动下载包的上一个版本?

我认为旧的PPA软件包根本不可用。如果找不到deb软件包,您必须自己从源代码构建它。 - FSMaxB
这可不是好消息... 这个软件包有很多严格的依赖关系,包括内核,我想。 - highsciguy
2个回答

是的,你可以使用apt-get install pkg=version命令安装特定版本的软件包,但你想要的版本必须在你的APT源之一中可用。
例如:
$ apt-cache policy dpkg
dpkg:
  Installed: 1.16.12
  Candidate: 1.16.12
  Version table:
     1.17.1 0
        800 http://localhost:3142/debian/ unstable/main amd64 Packages
 *** 1.16.12 0
        900 http://localhost:3142/debian/ testing/main amd64 Packages
        100 /var/lib/dpkg/status

在这种情况下,APT可用的版本有1.17.11.16.12。已安装的是1.16.12
与主要的Ubuntu存档一样,PPA也会删除被取代的软件包。因此,在PPA中,每个Ubuntu发行版只有一个版本可用。

12如果我想安装一个“被取代”的软件包的旧版本,该怎么办? - user366546
看起来你需要手动下载并使用dpkg来安装旧版本的软件包。 - pbhj
4我觉得他们移除旧版本的软件包太疯狂了。我们在哪里可以手动下载这些旧版本呢? - Paul Knopf
@user3892683:非常简单,你不能找回它们,它们已经消失了。除非它们仍然发布在旧版本中。 - tumbleweed
如果他们已经被Wayback Machine存档,可以联系@PaulKnopf。 - Parsa Mousavi

你可以从Ubuntu Archive和PPAs恢复旧版本的软件包,但它们不能直接通过apt获取。您需要跟随launchpad构建链接,寻找“Superseded”构建,并下载.deb文件。这可以通过'pull-lp-debs'、'pull-ppa-debs'等来自'ubuntu-dev-tools'软件包的工具自动完成。
然后,您可以使用apt install ./deb1 ./deb2 ./deb3等命令,同时安装所有匹配的deb文件。要获取匹配的deb列表,请安装'dctrl-status'软件包。

很遗憾,“pull-ppa-debs” 在 PPA 不再包含旧版本的软件包时似乎无法提供帮助。 - balu
请问你能解释一下如何使用dctrl-status吗?因为我找不到这个工具,也不知道如何使用它!顺便感谢你的回答。 - Dreamcat4