apt
是Debian及其衍生发行版使用的包管理工具,它提供了一组命令用来查看、安装和卸载软件包,我们最熟悉的Debian、Ubuntu等Linux发行版都是使用apt
作为包管理器。Debian/Ubuntu维护了远程的软件资源服务器,它被称为软件源,我们的Linux操作系统从软件源安装软件包前,会先从软件源同步软件包的索引存储在本地,这被称为包管理数据库,具体安装时再根据数据库从服务器下载软件的安装包和其依赖包,apt
工具实际上操作的就是包管理数据库。
刷新本地软件包数据库信息:
apt-get update
更新所有可更新的软件包:
apt-get upgrade
大幅更新系统软件包,通常用于系统升级,例如系统大版本更新或将stable
源切换到test
源:
apt-get dist-upgrade
安装软件包,如果是已安装的软件包,检查源中是否有新版本,如果有,就更新它:
apt-get install <软件包名>
修复依赖,由于某些非正常原因(比如强制手动删除了一个软件包)可能导致依赖树破损,通常不会出现,如果出现系统会提示我们执行这条命令:
apt-get -f install
删除软件包:
apt-get remove <软件包名>
彻底删除软件包,和remove
不同的是,remove
会保留一部分配置文件,purge
会按照deb包的清单文件删除所有安装文件:
apt-get purge <软件包名>
我们安装软件包后,软件的安装deb包会在本地缓存,clean
可以清除这些安装包缓存:
apt-get clean
注意:从Ubuntu 16.04 LTS(Xenial Xerus)和Debian 8(Jessie)开始,apt-get
可以简写为apt
,使用方式形如apt update
、apt install nginx
。
查找软件包:
apt-cache search <软件包名正则表达式>
显示软件包详细信息:
apt-cache show <软件包名>
显示一个软件包的依赖信息:
apt-cache depends <软件包名>
显示哪些软件包依赖此软件包:
apt-cache redepends <软件包名>
dpkg
命令也可以用于包管理,包括查看软件包信息、安装卸载等。但是要注意,dpkg
是一个底层工具,使用dpkg
安装的软件包会绕过apt
包管理数据库,它负责的只是单纯的软件包(即.deb
包)安装与卸载,直接使用它安装、卸载命令时需要格外谨慎。
安装软件包:
dpkg -i <软件包文件>
列出已安装软件包:
dpkg -l
删除软件包:
dpkg -r <软件包名>
彻底删除软件包:
dpkg -P <软件包名>
列出软件包都安装到哪里去了:
dpkg -L <软件包名>