Ubuntu 软件包管理工具 dpkg, APT 的一些命令
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
dpkg -S $(which top)
或者dpkg -S $(whereis top)
- 查看文件所属的包
procps: /usr/bin/topapt-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