相关疑难解决方法(0)

从较新版本安装软件包而无需构建(apt pinning)

我需要这些带有为 ubuntu/natty 反向移植的最新上游版本的软件包

  • libccid_1.4.5-0ubuntu1_amd64.deb
  • libpcsclite1_1.8.1-0ubuntu1_amd64.deb
  • libpcsclite-dev_1.8.1-0ubuntu1_amd64.deb
  • libusb-1.0-0_1.0.9-0ubuntu1_amd64.deb
  • libusb-1.0-0-dev_1.0.9-0ubuntu1_amd64.deb
  • opensc_0.12.2-1ubuntu1ppa1~natty1_amd64.deb
  • pcscd_1.8.1-0ubuntu1_amd64.deb pcsc-tools_1.4.18-0ubuntu1_amd64.deb

我试图通过更新从源代码构建它们,但它失败了。我不是包装专家,那里有很多教程和食谱。

你知道一个很好的和最新的向后移植 Ubuntu 包的教程吗?

如何从其他版本获取包而不必自己构建它们?

package-management pinning

38
推荐指数
1
解决办法
2万
查看次数

用于新 Ubuntu 的旧版 gcc

对于最新的 Ubuntu,是否有包含旧版 gcc 软件包的存储库。我想将 gcc3 与 gcc 4 一起安装,用于专门需要 gcc3 的程序。

apt gcc backport

16
推荐指数
3
解决办法
7万
查看次数

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

我正在尝试安装已从我的 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 ×2

package-management ×2

backport ×1

gcc ×1

pinning ×1