由于某种原因,我必须将 Ubuntu 16.04 的一些软件包安装到 Ubuntu 17.10。我试过了,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
。
答案1
在 17.10 系统上安装来自 16.04 存储库的二进制(.deb
)包libpcl-dev
非常困难,甚至是不可能的,因为它有许多依赖项,其中一些必须从 16.04 安装,并且可能与已从 17.10 安装的包冲突。
但是,在 17.10 系统上从 16.04 构建源包是可能的,因为所有构建依赖项在 17.10 中均可用。
首先创建一个工作目录
mkdir ~/libpcl
cd ~/libpcl
获取源码包
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pcl/pcl_1.7.2.orig.tar.gz
tar xf pcl_1.7.2.orig.tar.gz
cd pcl-pcl-1.7.2
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pcl/pcl_1.7.2-14build1.debian.tar.xz -O - | tar xJ
debuild
运行时,debuild
您可能会收到“命令未找到”提示,提示您安装devscripts
;安装并debuild
再次运行。现在它会抱怨缺少一些构建依赖项;安装它们并debuild
再次运行,现在构建应该成功(debsign
可以忽略有关的错误)。您的目录中将有一些.deb
s ~/libpcl
,您可以像往常一样安装它们。
警告:如果在此版本的 PCL 中发现一些错误(包括安全问题),并且在 16.04 中发布了修复版本,您将不会自动获取它;而是必须使用新的源包重复上述过程。