1.Debian版本信息
版本分类
Debian 发行版分为:稳定版、测试版、不稳定版
| 发行版 | 稳定性 | 软件包版本 | 更新频率 | 适用场景 | 风险等级 |
|---|---|---|---|---|---|
| 稳定版 | 最高 | 较旧 | 低 | 生产服务器,对稳定性要求极高的场景 | 最低 |
| 测试版 | 较高 | 较新 | 中等 | 对软件版本有一定的要求,希望系统相对稳定的用户,个人桌面环境,日常开发环境 | 中等 |
| 不稳定版 | 最 低 | 最新 | 高 | Debian 软件包开发者,对最新技术非常感兴趣,愿意承担风险的用户(仅供开发者和测试人员使用) | 最高 |
在安装 Debian 时,可以选择特定的发行版。安装完成后,可以通过修改 /etc/apt/sources.list 文件来切换发行版。
APT简介
Debian 的软件包管理系统 (APT, Advanced Package Tool)。 APT 是一个非常强大且灵活的工具,用于在 Debian 及其衍生发行版(如 Ubuntu)上安装、更新、卸载软件包,以及管理软件包依赖关系。
APT 的核心概念
- 软件包 (Packages): 包含了编译好的程序文件、配置文件、文档等。 Debian 的软件包格式为
.deb。 - 软件源 (Repositories): 存储软件包的服务器,APT 从这些服务器下载软件包。 软件源的信息保存在
/etc/apt/sources.list文件中,以及/etc/apt/sources.list.d/目录下的文件中。 - 元数据 (Metadata): 描述软件包的信息,例如软件包的名称、版本、依赖关系、描述等。 APT 使用元数据来管理软件包。
- 依赖关系 (Dependencies): 一个软件包可能依赖于其他软件包才能正常运行。 APT 会自动处理依赖关系,安装所需的软件包。
APT 的常用命令
apt update:- 更新软件包列表。从软件源下载最新的元数据,例如软件包的版本和依赖关系。
apt update不会更新已安装的软件包。
- 更新软件包列表。从软件源下载最新的元数据,例如软件包的版本和依赖关系。
apt upgrade:- 根据
apt update下载的元数据,将系统中已安装的软件包升级到最新版本。
- 根据
apt full-upgrade(或apt dist-upgrade):- 更全面的升级命令。除了升级已安装的软件包外,还会尝试解决依赖关系,可能会安装新的软件包或删除旧的软件包。
- 通常用于升级整个 Debian 发行版,例如从 Debian 11 升级到 Debian 12。
apt install <软件包名>:- 安装指定的软件包。APT 会自动下载并安装指定的软件包及其依赖项。
- 例如:
apt install nginx安装 Nginx Web 服务器。
apt remove <软件包名>:- 卸载指定的软件包,但保留配置文件。
- 例如:
apt remove nginx卸载 Nginx Web 服务器,但保留 Nginx 的配置文件。
apt purge <软件包名>:- 彻底卸载指定的软件包,包括配置文件。
- 例如:
apt purge nginx彻底卸载 Nginx Web 服务器及其配置文件。
apt autoremove:- 自动删除不再需要的依赖包。当你卸载一个软件包时,APT 会自动删除该软件包所依赖的,但不再被其他软件包使用的软件包。
apt autoclean:- 清理已下载的软件包缓存。APT 会将下载的软件包保存在
/var/cache/apt/archives/目录中。apt autoclean会删除已经卸载的软件包的缓存文件。
- 清理已下载的软件包缓存。APT 会将下载的软件包保存在
apt clean:- 清空所有已下载的软件包缓存,包括已安装和未安装的软件包。
apt show <软件包名>:- 显示软件包的详细信息,例如版本、描述、依赖关系等。
- 例如:
apt show nginx显示 Nginx 软件包的详细信息。
apt search <关键词>:- 搜索软件包。
- 例如:
apt search web server搜索包含关键词 "web server" 的软件包。
APT 的核心配置文件
/etc/apt/sources.list 和 /etc/apt/sources.list.d/
sources.list文件是 APT 的核心配置文件,用于指定软件源的地址。- 每行定义一个软件源,格式如下:
deb [选项] <软件源地址> <发行版代号> <组件1> <组件2> ...
deb-src <软件源地址> <发行版代号> <组件1> <组件2> ...
*deb: 指定软件源包含编译好的二进制软件包。
deb-src: 指定软件源包含源代码软件包。[选项]: 例如arch=amd64,arm64指定软件包的架构。<软件源地址>: 软件源的 URL 地址。<发行版代号>: Debian 发行版的代号,例如bookworm、bullseye或sid。也可以使用stable、testing或unstable,但不推荐。<组件>: 指定软件源包含的组件,例如main、contrib和non-free。
组件解释:
main: 包含符合 Debian 自由软件指南 (DFSG) 的软件包。contrib: 包含符合 DFSG 的软件包,但可能依赖于non-free组件中的软件包。non-free: 包含不符合 DFSG 的软件包,例如包含专有软件或受限软件。/etc/apt/sources.list.d/目录用于存放额外的软件源配置文件,方便管理。 例如,可以添加第三方软件源,或者启用 Debian Backports。
使用示例
sudo apt update # 更新软件包列表
sudo apt upgrade # 升级所有可升级的软件包
sudo apt install nginx # 安装 Nginx Web 服务器
sudo apt purge nginx # 彻底卸载 Nginx Web 服务器
apt search web server # 搜索包含关键词 "web server" 的软件包
apt show nginx # 查看 Nginx 软件包的详细信息
sudo nano /etc/apt/sources.list # 编辑 sources.list 增加 backports 源
# 添加如下内容:
# deb http://deb.debian.org/debian bookworm-backports main contrib non-free
# 然后执行 `sudo apt update` 更新源
其他 APT 工具
aptitude: 一个基于文本界面的 APT 工具,提供更高级的依赖关系管理功能。synaptic: 一个图形界面的 APT 工具,更易于使用。