将.deb文件作为依赖项添加到debian包

将.deb文件作为依赖项添加到debian包,debian,packaging,Debian,Packaging,我试图打包一个程序(FCL),但它有一个依赖项——libccd——我必须自己打包。因此,现在我使用check install创建了一个libccd_2.0-1.deb文件,我希望它作为FCL依赖项安装。因此,我在FCL Debian包的控制文件中添加了libccd(>=1.0)。但是FCL包抱怨它找不到依赖项libccd 当FCL包看到依赖项时,如何让它安装libccd_2.0-1.deb?另外,我应该在FCL Debian包中的哪里添加.deb文件?不,您不能。 dpkg(用于安装单个.deb

我试图打包一个程序(FCL),但它有一个依赖项——libccd——我必须自己打包。因此,现在我使用check install创建了一个
libccd_2.0-1.deb
文件,我希望它作为FCL依赖项安装。因此,我在FCL Debian包的控制文件中添加了
libccd(>=1.0)
。但是FCL包抱怨它找不到依赖项
libccd

当FCL包看到依赖项时,如何让它安装
libccd_2.0-1.deb
?另外,我应该在FCL Debian包中的哪里添加
.deb
文件?

不,您不能。
dpkg
(用于安装单个.deb文件)无法填充依赖项

依赖关系只能通过
apt get
/
aptitude
解决,但它们不能直接安装
。deb
文件,它们只能从存储库安装软件包。每个存储库都有一个元数据文件,并且apt会构建其知识数据库,因此当依赖项表示需要package
libccd
时,它将知道可以从存储库XY获得该文件

但是
dpkg
不知道在哪里搜索所需的软件包。您可以先安装
libccd*.deb
,然后安装
fcl*.deb
本身来安装软件包。或者,您最好将它们作为一个dpkg调用的参数,如下所示:
dpkg-i fcl*.deb libccd*.deb
,dpkg将自行决定首先安装这两个调用中的哪一个。(或者您可以创建自己的存储库,在其中您将拥有两个包含相关元数据的软件包。)

自apt 1.1版(目前在Debian实验版中)以来,您可以直接使用以下方式安装.deb文件:

% sudo apt-get install ./disorderfs_0.1.0-1_amd64.deb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'disorderfs' instead of 'disorderfs_0.1.0-1_amd64.deb'
The following additional packages will be installed:
  fuse
The following NEW packages will be installed:
  disorderfs fuse
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 70.8 kB/81.2 kB of archives.
After this operation, 175 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

我通常使用Ubuntu软件中心安装单独的.deb文件,它也会安装所有依赖项(不知道它们是否内部使用aptitude),这是aptitude/dpkg的GUI前端,所以我猜它会从dpkg输出解析依赖项,通过aptitude安装它们,然后通过dpkg安装.deb文件。依赖解析系统称为
apt
,其中
apt get
aptitude
(以及
synaptics
等等)是前端。