Skip to main content

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 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 发行版的代号,例如 bookwormbullseyesid。也可以使用 stabletestingunstable,但不推荐。
  • <组件>: 指定软件源包含的组件,例如 maincontribnon-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 工具,更易于使用。