Debian 核心概念

FreeGuideOnline 最新 2026-07-16

bash

安装一个本地 .deb 包(若有依赖缺失会直接报错)

sudo dpkg -i package.deb

查看已安装包列表

dpkg -l

移除一个包但保留配置文件

sudo dpkg -r package_name

完全清除包括配置文件

sudo dpkg -P package_name


#### 2.2 APT:高级包管理工具

APT(Advanced Package Tool)在 `dpkg` 之上工作,自动处理依赖关系,从仓库下载并安装。常用命令:

```bash
# 更新本地包索引(获取仓库中最新软件列表)
sudo apt update

# 将所有已安装包升级到最新版本
sudo apt upgrade

# 升级并智能处理依赖变化(可能会卸载或新增包)
sudo apt full-upgrade

# 搜索软件
apt search keyword

# 安装软件
sudo apt install package_name

# 移除软件但保留配置文件
sudo apt remove package_name

# 彻底移除包括配置文件
sudo apt purge package_name

# 自动清理不再需要的依赖包
sudo apt autoremove

认知陷阱apt update 只更新“可安装软件的列表”,并非升级系统本身。一定要先 updateupgrade

3. 软件仓库与 sources.list

Debian 从哪里获取软件?答案在 /etc/apt/sources.list 文件中。每一行指定一个仓库,格式为:

deb 镜像地址 发行版代号 组件1 组件2 ...

例如,官方稳定版主仓库的典型行:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
  • 组件含义
    • main:完全符合《Debian 自由软件准则》的软件,官方支持。
    • contrib:遵守自由准则的软件,但依赖非自由软件(如某些驱动)。
    • non-free:不完全符合自由准则的软件。
    • non-free-firmware:从 Debian 12 开始独立出的固件组件,包含硬件固件。
  • 附加仓库bookworm-updates(正式发布前的更新)、bookworm-backports(从测试版反向移植的新软件)和 bookworm-security(安全更新,极其重要)。

在修改 sources.list 后,务必运行 sudo apt update 使更改生效。

4. 自由软件哲学与 DFSG

Debian 不仅是一个操作系统,更是一份社会契约。它的核心基石是 《Debian 自由软件准则 (DFSG)》。只有符合该准则的软件才能进入 main 仓库。

准则要点:自由使用、自由修改、自由分发、允许修改后的再分发、不得歧视任何人或用途。因此 Debian 默认不包含闭源驱动或部分有版权限制的解码器。你可以主动选择添加 non-free 仓库来获取这些组件,但这体现了 Debian 对用户知情权和软件自由底线的坚持。

5. 系统维护核心概念

5.1 包依赖与冲突

每个 .deb 包都定义了其依赖关系。APT 会确保在安装软件时,所有被依赖的包自动安装;当移除冲突包时,会提醒或自动处理。apt autoremove 就是为清理无人再依赖的“孤儿包”而生。

5.2 包保持与锁定

如果某个包升级会导致问题(例如特定内核版本),可以使用 apt-mark 将其“留住”:

# 标记包为手动安装,防止被 autoremove 移除
sudo apt-mark manual package_name

# 阻止一个包被升级
sudo apt-mark hold package_name
# 取消阻止
sudo apt-mark unhold package_name

5.3 包缓存管理

下载的 .deb 包被缓存在 /var/cache/apt/archives/,占据磁盘空间。定期清理:

# 仅删除过时的缓存包
sudo apt autoclean

# 清空所有缓存
sudo apt clean

6. Debian 网络支柱:镜像站与安全团队

Debian 的全球镜像网络确保你能从地理上最近的服务器获取软件。你可以使用 deb.debian.org 这类全球 CDN 自动选取最佳镜像,也可手动编辑 sources.list 使用教育网/企业特定镜像。

Debian 安全团队单独维护 security.debian.org 仓库。一旦稳定版发现安全漏洞,修复补丁会立即通过该仓库推送,而不等待整个发行版更新。保持安全更新开启是服务器安全的第一道闸门。

7. Debian 内核与启动概念

Debian 使用 Linux 内核,但同样提供 FreeBSD 内核的实验版本(Debian GNU/kFreeBSD)。对于主流系统,理解以下概念很有必要:

  • initramfs:包含启动必需驱动与脚本的临时根文件系统,确保内核能挂载真正的根分区。
  • DKMS:动态内核模块支持,允许第三方驱动(如 NVIDIA 驱动)在内核升级时自动重新编译匹配,避免系统启动失败。

8. 虚拟包与替代依赖

有些包并非真实软件,而是 虚拟包(如 mail-transport-agent)。当某个软件需要一个“能发邮件的程序”,它可以依赖这个虚拟包,任何提供该功能的真实包(如 postfix, exim4)都可以满足依赖。这增加了系统配置的灵活性。

9. 配置管理与 debconf

安装软件包时弹出的交互式配置界面由 debconf 控制。你可以预先配置或事后重新配置:

# 重新配置一个包(再次进入交互式设置)
sudo dpkg-reconfigure package_name