Ubuntu apt-get和apt-key

APT为Advanced Packaging Tools的缩写,是Debian及其派生发行版的软件包管理器。

APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。

APT最早被设计成dpkg的前端,用来处理deb格式的软件包,现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。

APT是一个客户/服务器系统。在服务器上先复制所有DEB包(DEB是Debian软件包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT服务器的DEB索引清单置于base文件夹内。一旦APT 服务器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get installapt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。

apt-get

apt-get 是一个下载安装软件包的简单命令行接口,最常用的命令是update(更新)和install(安装)。

用法:

apt-get [选项] 命令

apt-get [选项] install|remove pkg1 [pkg2 …]

apt-get [选项] source pkg1 [pkg2 …]

命令 释义
update 重新获取软件包列表
upgrade 进行更新
install 安装新的软件包
remove 移除软件包
autoremove 自动移除全部不使用的软件包
purge 移除软件包和配置文件
source 下载源码档案
build-dep 为源码包配置编译依赖
dist-upgrade 发行版升级,
dselect-upgrade 依照
clean 清除下载的归档文件
autoclean 清除旧的的已下载的归档文件
check 检验是否有损坏的依赖
选项 释义
-h 本帮助文件
-q 输出到日志,无进展指示
-qq 不输出信息,错误除外
-d 仅下载,不安装或解压归档文件
-s 不实际安装。模拟执行命令
-y 假定对所有的询问选是,不提示
-f 尝试修正系统依赖损坏处
-m 如果归档无法定位,尝试继续
-u 同时显示更新软件包的列表
-b 获取源码包后编译
-V 显示详细的版本号
-c=? 阅读此配置文件
-o=? 设置自定的配置选项,如 -o dir::cache=/tmp

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 搜索包
apt-cache search firefox

# 获取包的相关信息,如说明、大小、版本等
apt-cache show firefox

# 安装包
apt-get install firefox

# 重新安装包
apt-get install firefox --reinstall

# 修复安装"-f = --fix-missing"
apt-get -f install firefox

# 删除包
apt-get remove firefox

# 删除包,包括删除配置文件等
apt-get remove firefox --purge

# 更新源
apt-get update

# 更新已安装的包
apt-get upgrade

# 升级系统
apt-get dist-upgrade

# 使用 dselect 升级
apt-get dselect-upgrade

# 了解使用依赖
apt-cache depends firefox

# 查看该包被哪些包依赖
apt-cache rdepends firefox

# 安装相关的编译环境
apt-get build-dep firefox

# 下载该包的源代码
apt-get source firefox

# 将已经删除了的软件包的.deb安装文件从硬盘中删除掉
apt-get autoclean

# 类似上面的命令,但它删除包缓存中的所有包
apt-get clean

# 检查是否有损坏的依赖
apt-get check

apt-key

apt-key是Debian软件包的安全管理工具。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。

用法:apt-key [–keyring file][command][arguments]

参数 释义
apt-key add 把下载的key添加到本地trusted数据库中
apt-key del 通过keyid删除key
apt-key export 通过keyid导出key
apt-key exportall 导出本地trusted数据库中的所有key
apt-key update 通过key包来更新key
apt-key net-update 通过网络更新key
apt-key list 列出所有的key
apt-key finger 列出所有验证指纹
apt-key adv 设置key的高级配置

参考资料:
apt-get
apt-key