5.1 Debian软件包简介
Debian包文件(Debian archive file)包含了可执行文件、库文件和相关程序的文档。
5.2 软件包关联性
Linux继承了很多UNIX系统构建和程序设计的思想——一个应用程序会利用更多现有的工具或应用来实现自己的目的。这种设计哲学很大程度上使Linux成为了一个有机的、各个部分都充满了活力的操作系统,但是也正是这种高度灵活性使得Linux面临着两个复杂的问题:程序依赖性问题,以及由依赖性问题衍生出来的程序冲突问题。
为了解决这些问题,Debian软件包管理系统引入了一套软件包“依赖性”定义,用来描述独立运行的程序A与现存系统中程序B之间存在的关联程度。
5.3 dpkg包管理简介
dpkg是Debian包管理系统的基础,它最初创建于1993年,类似于RPM,主要用于安装、删除deb包以及包信息的获取。
dpkg本身是一个底层的安装工具,如果需要从远程服务器上获取软件包,或者由系统自己处理复杂的软件包依赖性都需要比dpkg更高层的前段工具,比如Debian系统使用APT。
5.4 获取系统中已安装软件包的信息
dpkg -l 用于获取当前系统中所有已安装的deb软件包信息
eg: dpkg -l | grep -i vim
dpkg -s vim 进一步了解某一软件包的详细信息
dpkg -L vim 查询某一软件包所安装的文件
dpkg -S /bin/ls 查询系统中的某个文件属于哪个软件包
5.5 获取软件包的文件信息
dpkg -I 软件包名 查看deb包文件的详细信息
dpkg -c 软件包名 查询deb包文件中所包含的文件
5.6 安装软件包
dpkg -i 软件包名
解决依赖性问题可以使用apt-get -f install
5.7 卸载软件包
dpkg -r 软件名 只卸载软件包安装在系统中的文件,不去删除软件包的配置文件,不是完全意义上的卸载。
dpkg -P 软件名 实现指定软件包的完全卸载
5.8 重新配置软件包
dpkg-reconfigure 软件包名 实现对指定的软件包进行配置
5.9 dpkg 与 dpkg-deb 的关系
dpkg可以认为是dpkg-deb的前端,只用在遇到一些特定的参数时才会调用dpkg-deb命令。用户通常只使用dpkg命令,dpkg命令再自动调用dpkg-deb来实现功能。