介绍
大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。
包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可。
在配置服务器或开发环境时,我们最好了解下包在官方存储库之外的情况。某个发行版的稳定版本中的包有可能已经过时了,尤其是那些新的或者快速迭代的软件。然而,包管理无论对于系统管理员还是开发人员来说都是至关重要的技能,而已打包的软件对于主流 Linux 发行版来说也是一笔巨大的财富。
本指南旨在快速地介绍下在多种 Linux 发行版中查找、安装和升级软件包的基础知识,并帮助您将这些内容在多个系统之间进行交叉对比。
包管理系统:简要概述
大多数包系统都是围绕包文件的集合构建的。包文件通常是一个存档文件,它包含已编译的二进制文件和软件的其他资源,以及安装脚本。包文件同时也包含有价值的元数据,包括它们的依赖项,以及安装和运行它们所需的其他包的列表。
虽然这些包管理系统的功能和优点大致相同,但打包格式和工具却因平台而异:
操作系统格式工具
Debian.debapt,apt-cache,apt-get,dpkg
Ubuntu.debapt,apt-cache,apt-get,dpkg
CentOS.rpmyum
Fedora.rpmdnf
FreeBSDPorts,.txzmake,pkg
Debian 及其衍生版,如Ubuntu、Linux Mint 和Raspbian,它们的包格式是.deb。APT 这款先进的包管理工具提供了大多数常见的操作命令:搜索存储库、安装软件包及其依赖项,并管理升级。在本地系统中,我们还可以使用dpkg程序来安装单个的deb文件,APT 命令作为底层dpkg的前端,有时也会直接调用它。
最近发布的 debian 衍生版大多数都包含了apt命令,它提供了一个简洁统一的接口,可用于通常由apt-get和apt-cache命令处理的常见操作。这个命令是可选的,但使用它可以简化一些