ubuntu@ubuntu-desktop:~$ sudo apt-cache depends dpkg-dev
dpkg-dev
依赖: dpkg
依赖: <perl5>
perl
依赖: perl-modules
依赖: cpio
依赖: bzip2
依赖: lzma
依赖: patch
依赖: make
依赖: binutils
依赖: libtimedate-perl
建议: gnupg
建议: debian-keyring
|推荐: gcc
推荐: <c-compiler>
bcc
gcc
gcc-3.4
gcc-4.1
gcc-4.2
gcc-4.3
tcc
推荐: build-essential
冲突: devscripts
冲突: dpkg-cross
替换: manpages-pl
=================================================
From ubuntu 标准教程 人民邮电出版社
依赖:depends 要运行的软件包A必须安装软件包B,甚至还依赖于B 的某些特殊版本,通常依赖版本有最低限制
推荐:recommeds 软件包A 的某些必要功能需要软件包B 来提供。
建议:suggests B能增强软件包A 的功能
替换:replaces B安装的文件被A 中的文件删除或者覆盖了
冲突:confilcts 如果系统安装了B ,那么软件包A 将无法运行
===========================================================
From baidu
为什么会依赖: 编写软件的人不想自己一个人做完所有的事情,就像寻求外援,于是就找上了各种各样的软件包。 举个例子,我只是想写一个QQ,但是如果没有图形界面库(或者说我不用图形界面库),我就得自己想办法怎么在屏幕上画一个窗口,怎么显示按钮,怎么显示列表,怎么…… 好了,现在我们知道有GTK库,Qt库,在编写程序的时候,我们只要调用他,告诉他我要在哪里哪里创建一个窗口,然后有什么控件,映射什么信号,等等等等,等我们描述完了,图形界面库就开始在屏幕上绘图,这个过程就不需要我们管了。 实际上,linux上的大多数图形程序不是依赖GTK,就是依赖Qt,所以要是这些基本的库不安装的话,依赖关系肯定出问题,但不幸的是,一般发行版只装一种库,而你两种库的程序都用,就得自己装另一种库了(通常APT-GET给你解决)。 你要想安装这些东西,就必须解决依赖关系,否则软件无法运行。