基于Debian的发行版(如Ubuntu和Linux Mint)使用的是dpkg命令。

基于Red Hat的发行版(如Fedora、openSUSE及Mandriva)使用的是rpm命令。

基于 Debian 的系统

dpkg命令是基于Debian系PMS工具的核心。包含在这个PMS中的其他工具有:

  • apt-get
  • apt-cache
  • aptitude

到目前为止,最常用的命令行工具是aptitude,这是有原因的。aptitude工具本质上是apt工具 和dpkg的前端。dpkg是软件包管理系统工具,而aptitude则是完整的软件包管理系统。
命令行下使用aptitude命令有助于避免常见的软件安装问题,如软件依赖关系缺失、系统环境不稳定及其他一些不必要的麻烦。本节将会介绍如何在命令行下使用aptitude命令工具。

如果使用的Linux发行版中已经安装了aptitude,只需要在shell提示符键入aptitude并按下回 车键就行了。紧接着就会进入aptitude的全屏模式。

  1. # 进入全屏页面交互显示
  2. $ aptitude
  3. # 显示指定的软件
  4. $ aptitude show mysql-client
  5. # 列出vim-common软件包所安装的全部文件
  6. $ dpkg -L vim-common
  7. # 查找某个特定文件属于哪个软件包。
  8. $ dpkg --search absolute_file_name
  9. $ dpkg --search /usr/bin/xxd
  10. vim-common: /usr/bin/xxd
  11. # 搜索软件
  12. # 在每个包名字之前都有一个p、i、v、c。
  13. # i,说明这个包现在已经安装到了你的系统上了。
  14. # p或v,说明这个包可用,但还没安装。
  15. # c,意味着软件已删除,但配置文件尚未从系统中清除。
  16. $ aptitude search package_name
  17. # 安装软件
  18. $ aptitude install package_name
  19. # 用软件仓库中的新版本妥善地更新系统上所有的软件包
  20. # 将所有已安装的包更新到软件仓库中的最新版本
  21. $ aptitude safe-upgrade
  22. # 只删除软件包而不删除数据和配置文件,使用remove选项
  23. # 要删除软件包和相关的数据和配置文件,可用purge选项
  24. $ sudo aptitude purge wine

aptitude 默认的软件仓库位置是在安装Linux发行版时设置的。 具体位置存储在文件 /etc/apt/sources. list 中。

  1. $ cat /etc/apt/sources.list
  2. #deb cdrom:[Ubuntu 14.04 LTS _Trusty Tahr_ - Release i386 (20140417)]/ trusty main restricted
  3. # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution.
  4. deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
  5. deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
  6. ## Major bug fix updates produced after the final release of the ## distribution.
  7. deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
  8. deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted

使用下面的结构来指定仓库源。
deb (or deb-src) address distribution_name package_type_list
deb或deb-src的值表明了软件包的类型。deb值说明这是一个已编译程序源,而deb-src 值则说明这是一个源代码的源。
distribution_name 条目是这个特定软件仓库的发 行版版本的名称。在这个例子中,发行版名称是trusty。
package_type_list 条目可能并不止一个词,它还表明仓库里面有什么类型的包。 你可以看到诸如main、restricted、universe和partner这样的值。