出于某种原因,我必须在 Ubuntu 17.10 上安装一些 Ubuntu 16.04 的软件包。我试过了,apt update && apt install pkgname
但总是有一些依赖问题。
我正在尝试的是使用命令获取某些包的来源apt source pkgname
。
我发现我得到了三件事:
pkgname.dsc
pkgname.orig.tar.gz
pkgname.debian.tar.xz
该.dsc
文件似乎包含一些信息pkgname
,该.orig.tar.gz
文件是源代码,但我不知道该.debian.tar.xz
文件是什么。
例如,要安装libpcl-dev
,我做了以下事情:
apt source libpcl-dev && tar xzvf pcl.orig.tar.gz && cd pcl && mkdir build && cd build && cmake .. && make install && make
.
它似乎可以工作,但我无法得到我需要的东西,这意味着没有名为libpcl-dev
./usr
在 17.10 系统上安装来自 16.04 存储库的二进制 (
.deb
) 包libpcl-dev
很困难,如果不是不可能的话,因为它有许多依赖项,其中一些必须从 16.04 安装,并且可能与从 17.10 安装的包冲突。但是,可以在 17.10 系统上从 16.04 构建源包,因为所有构建依赖项都在 17.10 中可用。
首先创建一个工作目录
获取源码包
可能当你运行时,
debuild
你会得到一个“找不到命令”告诉你安装devscripts
;安装它并debuild
再次运行。现在它会抱怨缺少一些构建依赖项;安装它们并debuild
再次运行,现在构建应该是成功的(关于错误debsign
可以忽略)。您的目录中将有一些.deb
s,~/libpcl
您可以像往常一样安装它们。警告:如果在这个版本的 PCL 中发现一些 bug,包括安全问题,并且在 16.04 发布了修复版本,您将不会自动获取;相反,您必须使用新的源包重复上述过程。