小编drm*_*elr的帖子

从以前的版本安装软件包的“正确”方法

我正在尝试安装已从我的 Ubuntu 版本 (17.10) 中删除的软件包。具体来说,我正在尝试安装libpng12-dev,它是我尝试安装的另一个程序的依赖项,与此问题所询问的非常相似。

正如那个问题中所讨论的,我可以很容易地手动安装包,但使用包管理器是安装包的首选方式,我同意这一点。

我尝试改编ffmurray 的答案,并将其与help.ubuntu.com上的说明结合起来,得出以下结论

sudo add-apt-repository "deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/ xenial main"
Run Code Online (Sandbox Code Playgroud)

但是,apt-get update给了我这个错误:

存储库“http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng xenial Release”没有发布文件。

我不确定出了什么问题,或者这样的事情是否可以工作。


问题

使用 apt(或其他包管理器),是否有正确的方法来安装来自以前的 Ubuntu 版本的包?我意识到这样做时兼容性和稳定性变得可疑,但我仍然喜欢一种半干净的方法。

请注意,我正在寻找以前版本包的一般答案,而不仅仅是 libpng。


写这个问题时的部分解决方案

libpng12-dev 包页面上,在“libpng12-dev 链接”部分、“下载源包”小节中,有一个包描述链接。凭直觉,我从链接地址中删除了文件名,这样我就可以浏览档案并找出一些约定。

事实证明,我过度指定了站点 URL,而我只需要http://site.domain/ubuntu/URL的一部分。其余部分通过提供 Ubuntu 发行版名称 (xenial)、类别 (main) 和apt-get(libpng12-dev) 中的包来解决。

所以相反,我应该这样做:

sudo add-apt-repository "deb http://mirrors.kernel.org/ubuntu/ xenial main"
sudo apt-get update
sudo apt-get install libpng12-dev
Run Code Online (Sandbox Code Playgroud)

跑得无懈可击! …

package-management apt

12
推荐指数
2
解决办法
7493
查看次数

标签 统计

apt ×1

package-management ×1