apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。
用法: apt-get [选项] 命令
apt-get [选项] install|remove 软件包1 [软件包2 ...]
apt-get [选项] source 软件包1 [软件包2 ...]
常用命令:
update - 取回更新的软件包列表信息
upgrade - 进行一次升级
install - 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)
remove - 卸载软件包
purge - 卸载并清除软件包的配置
autoremove - 卸载所有自动安装且不再使用的软件包
dist-upgrade - 发布版升级,见 apt-get(8)
dselect-upgrade - 根据 dselect 的选择来进行升级
build-dep - 为源码包配置所需的编译依赖关系
clean - 删除所有已下载的包文件
autoclean - 删除已下载的旧包文件
check - 核对以确认系统的依赖关系的完整性
source - 下载源码包文件
download - 下载指定的二进制包到当前目录
changelog - 下载指定软件包,并显示其changelog
参见 apt-get(8) 以获取更多关于可用命令的信息。
程序配置选项及语法都已经在 apt.conf(5) 中阐明。
欲知如何配置软件源,请参阅 sources.list(5)。
软件包及其版本偏好可以通过 apt_preferences(5) 来设置。
关于安全方面的细节可以参考 apt-secure(8).
4.1 更新软件
deng@itcast:~/test$ sudo apt-get update
4.2 安装tree软件
deng@itcast:~/test$ sudo apt install tree
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
tree
4.3 安装nginx
deng@itcast:~/test$ sudo apt-get install nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream
nginx-common nginx-core
建议安装:
fcgiwrap nginx-doc
4.4 卸载nginx
deng@itcast:~/test$ sudo apt-get remove nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了
4.5 卸载并清除软件包的配置
deng@itcast:~/test$ sudo apt-get --purge remove nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
软件包 nginx 未安装,所以不会被卸载
4.6 删除已下载的旧包文件
deng@itcast:~/test$ sudo apt-get autoclean tree
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
deng@itcast:~/test$
4.7 删除所有已下载的包文件
deng@itcast:~/test$ sudo apt-get clean
deng@itcast:~/test$
把安装的软件的备份也删除,不过这样不会影响软件的使用
4.8 更新所有已安装的软件包
deng@itcast:~/test$ sudo apt-get upgrade
4.9 将系统升级到新版本
deng@itcast:~/test$ sudo apt-get dist-upgrade
4.10 删除已下载的旧包文件
deng@itcast:~/test$ sudo apt-get autoclean
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
deng@itcast:~/test$
定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean
以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。
4.11 检查是否有损坏的依赖
deng@itcast:~/test$ sudo apt-get check
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
deng@itcast:~/test$
4.12 下载该包的源代码
deng@itcast:~/test$ sudo apt-get source tree
4.13 源码包配置所需的编译依赖关系
deng@itcast:~/test$ sudo apt-get build-dep tree
正在读取软件包列表... 完成
4.14 卸载所有自动安装且不再使用的软件包
deng@itcast:~/test$ sudo apt-get autoremove
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包将被【卸载】:
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream
nginx-common nginx-core
升级了 0 个软件包,新安装了 0 个软件包,要卸载 7 个软件包,有 625 个软件包未被升级。
解压缩后将会空出 2,076 kB 的空间。
您希望继续执行吗? [Y/n]
4.15 根据 dselect 的选择来进行升级
deng@itcast:~/test$ sudo apt-get dselect-upgrade
4.16 重新安装软件包
deng@itcast:~/test$ sudo apt-get install tree --reinstall
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream
nginx-common nginx-core
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,重新安装了 1 个软件包,要卸载 0 个软件包,有 625 个软件包未被升级。
需要下载 40.7 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
获取:1 http://mirrors.aliyun.com/ubuntu bionic/universe amd64 tree amd64 1.7.0-5 [40.7 kB]
已下载 40.7 kB,耗时 0秒 (87.9 kB/s)
(正在读取数据库 ... 系统当前共安装有 172253 个文件和目录。)
正准备解包 .../tree_1.7.0-5_amd64.deb ...
正在将 tree (1.7.0-5) 解包到 (1.7.0-5) 上 ...
正在设置 tree (1.7.0-5) ...
正在处理用于 man-db (2.8.3-2) 的触发器 ...
deng@itcast:~/test$
参考:【Linux】一步一步学Linux系列教程汇总