dpkg

dpkg 是由 Debian 开发的包管理系统,是一个比较底层的工具,它的最常见的前端是 APT

  • 常用的命令

    • dpkg -i debFileName - 安装一个 deb 的包
    • dpkg -I debFileName - 查看一个包的信息
    • dpkg -r packageName - 删除包(保留配置文件)
    • dpkg -P packageName - 彻底删除包(包括配置文件等)
    • dpkg -l [packageName] - 查看己安装包,常与 grep 搭配使用
    • dpkg -L packageName - 查看包所拥有的文件
  • 下载某个工具的源代码,例如 top

    1. dpkg -S $(which top) 或者 dpkg -S $(whereis top) - 查看文件所属的包
      procps: /usr/bin/top
    2. apt-get source -d procps - 获取这个包的源码,不解包,之后你需要自己解包
      dpkg-source -x foo_version-revision.dsc 或者
      apt-get source procps - 获取源码并解包

APT

在 Debian 类系统中作为 dpkg 的前端,可以自动下载,配置,安装软件包,还能解决包的依赖关系

APT 的软件源地址在 /etc/apt/sources.list
还可以在 /etc/apt/sources.list.d 目录中添加更多源

  • 一些参数

    • -h - 帮助
    • -q - 输出到日志,无提示
    • -qq - 什么都不输出,错误除外
    • -d - 不安装或解压归档文件
    • -s - 不实际安装,只模拟执行命令
    • -y - 所有的询问选是,不提示
    • -f - 当没有通过完整性测试时,仍然尝试继续执行
    • -m - 当有包归档无法找到时,仍然尝试继续执行
    • -u - 同时显示更新软件包的列表
    • -b - 获取源码包后编译
    • -V - 显示详细的版本号
    • -c=? - 读取指定的配置
    • -o=? - 设定任意指定的配置选项,例如 -o dir::cache=/tmp
  • 更新/升级

    • apt-get update - 更新软件源索引
    • apt-get upgrade - 升级所有软件包,并重新分析依赖关系并安装相关的包
    • apt-get dselect-upgrade - 根据 dselect(一个传统的前端包管理工具)的选择对软件包进行升级
    • apt-get dist-upgrade - 升级系统及所有软件包,慎用
  • 安装/卸载

    • apt-get install pkg - 安装软件包
    • apt-get build-dep pkg - 安装该包的所有依赖
    • apt-get remove pkg - 卸载软件包
    • apt-get purge pkg - 彻底卸载软件包(包括配置文件等)
    • apt-get remove --purge pkg - 和上面的命令等价,彻底卸载软件包(包括配置文件等)
    • apt-get autoremove - 清理因依赖关系而被安装,而后又不需要的包
  • 清理/维护

    • apt-get clean - 清除下载的包
    • apt-get autoclean - 只清除过时的包
    • apt-get check - 检查是否有不正确的依赖关系
  • 搜索/下载

    • apt-cache search pkg - 搜索包
    • apt-cache show pkg - 显示包的信息
    • apt-cache showpkg pkg - 显示包的信息
    • apt-cache depends pkg - 显示包所依赖的包
    • apt-cache rdepends pkg - 显示该包被哪项包依赖
    • apt-cache stats - 显示统计信息
    • apt-get download pkg - 下载软件包
    • apt-get source pkg - 下载源码包并解包
    • apt-get source -d pkg 只下载源码包
  • 彩蛋

    • apt-get moo