APT 的全称是 Advanced Package Tool。最早的 APT 工具是
apt-get
和apt-cache
,简单来说,apt-get
负责更新安装包状态, apt-cache
负责查询安装包状态,常用的命令有:apt-get update
: 更新应用信息
apt-get install
: 安装应用
apt-get remove
:删除应用
apt-cache search
:搜索应用
apt-cache show
: 查询应用信息
apt-cache depends
:查询应用依赖
有人要吐槽了,用两个命令来管理安装包好麻烦啊。为什么没有人尝试把这些功能都合并在同一个程序中?有的,这就是
apt
了。由于apt
就是设计用来替代apt-get
和apt-cache
的,所以apt-get
和apt-cache
常用的子命令apt
都有,大概的对应关系如下:ㅤ | apt-get | apt-cache | apt |
Update package information | apt-get update | N/A | apt update |
Install a package | apt-get install | N/A | apt install |
Remove a package | apt-get remove | N/A | apt remove |
Search for a package | N/A | apt-cache search | apt search |
Show information about a package | N/A | apt-cache show | apt show |
Show package dependencies | apt-cache depends | N/A | apt depends |
有没有发现,从
apt-*
命令迁移到apt
命令,单纯的把apt-*
换成apt
就行了(要不然怎么都说程序员喜欢造轮子呢?)。但方便也是真的方便,因为敲命令的时候再也不用停下来想想,这个命令到底是用apt-get
还是apt-cache
了。我自己最常用的就是
apt
命令,但需要注意的是在写 Dockerfile 的时候,推荐的是用apt-get
命令。因为apt
命令在早期版本的api和现代版本的还不太一样,可能会导致命令在有些基础镜像里面可以运行,有些却会报错。除了
apt
之外,还有aptitude
项目也在尝试用一个命令管理系统应用。在提供了所有常用管理命令的基础上,aptitude
还提供了一个 GUI,并相比于apt
,有着更强的应用依赖冲突处理能力。很多时候安装应用,遇到apt
处理不了的依赖冲突,用aptitude
会有意想不到的惊喜。