Debian 新手必懂的基本概念

Debian 是目前最强调“稳定性”和“自由软件原则”的通用 Linux 发行版之一。但它的设计哲学、包管理文化和版本策略,也让很多新手在前几个月反复踩坑。下面列出真正高频、真正容易搞混的核心概念,用对比和表格帮你快速理清。

1. Debian 到底是什么?

  • Debian = Linux 内核 + 海量自由软件 + 极其严格的整合、测试与政策审核流程
  • Debian 自己几乎不开发内核(主要使用上游 vanilla kernel 或极小幅修补)
  • Debian 的真正价值在于:它把几万个上游软件整合成一个能长期稳定运行的整体系统

所以你常听到的“Debian 软件很旧”“更新很慢”,其实是故意为之的设计结果,而不是 bug。

2. 三大版本分支(必须彻底搞懂)

分支代号命名规则软件新旧程度稳定性推荐使用场景2026年2月现状
stable玩具/角色名字较旧★★★★★服务器、生产环境、日常主力桌面Debian 13 "trixie"(13.3 已发布)
testing下一个稳定版代号中等偏新★★★☆☆愿意偶尔修 bug 的桌面用户forky(下一个稳定版候选)
unstablesid(永远是 sid)最新滚动★★☆☆☆开发者、必须追最新软件的人sid(永久滚动开发版)

新手最致命错误:上来就直接装 sid 或 testing,然后崩溃喊“系统又坏了”。

2026 年新手推荐路径

  • 桌面/服务器主力 → 直接用 stable(trixie)
  • 想要较新软件但不想太冒险 → stable + 少量从 testing 拉包(apt pinning)
  • 开发/追前沿 → sid + 学会用 apt-listbugs / apt-listchanges 提前看问题

3. 软件包命名、版本与组件(section)逻辑

常见软件包命名格式:

text
软件名_上游版本-Debian修订号_架构.deb
例子: vim_2:9.1.0016-1_amd64.deb
      ^^^  ^^^^^^^^^^^^^^^^   ^^^^^
      名称     上游版本-修订     架构

Debian 把软件包分为几个主要组件(在 sources.list 或软件中心可见):

  • main:完全符合 DFSG 自由软件准则
  • contrib:软件本身自由,但依赖非自由组件
  • non-free-firmware:2023年后独立出来的非自由固件区(很重要!网卡、显卡常用)
  • non-free:不自由的软件/驱动

常见疑问:为什么 nvidia-driver、broadcom-sta 在 non-free / non-free-firmware?因为包含厂商闭源代码或二进制固件。

4. 常用包管理命令对照表(建议背下来)

想做的事apt(现代首选)apt-get(经典版)aptitude(交互解决冲突神器)dpkg(底层命令)
更新软件源索引apt updateapt-get updateaptitude update
升级已安装软件(保守)apt upgradeapt-get upgradeaptitude safe-upgrade
完整升级(允许删除/安装依赖)apt full-upgradeapt-get dist-upgradeaptitude full-upgrade
安装软件apt install vim gitapt-get install vim gitaptitude install vimdpkg -i xxx.deb
卸载软件(保留配置文件)apt remove vimapt-get remove vimaptitude remove vim
连配置文件一起删除apt purge vimapt-get purge vimaptitude purge vim
清理无用依赖apt autoremoveapt-get autoremove
查看软件包详情apt show vimapt-cache show vimaptitude show vimdpkg -s vim
搜索软件包apt search neofetchapt-cache search neofetchaptitude search neofetch

2026 年日常建议:优先用 apt,冲突严重时改用 aptitude 交互式解决(它会给你几种方案选)。

5. 软件包状态标记(aptitude / dpkg 最直观)

常见标记字母:

  • i = installed(已安装)
  • p = purged(已彻底删除,包括配置)
  • c = config files(只剩配置文件)
  • h = hold(被手动 hold 住,不会升级)

快速查看被 hold 的包:apt-mark showhold 解除 hold:apt-mark unhold 包名

6. 配置文件在哪里?谁负责改?(最容易崩溃的地方)

路径内容性质主要维护者被覆盖风险
/etc/default/默认值(常被 override)软件包维护者
/etc/default/grubGRUB 引导参数系统管理员
/etc/apt/sources.list*软件源列表系统管理员极高
/etc/apt/apt.conf.d/apt 细粒度配置(分文件)软件包 + 管理员
/etc/systemd/systemd 单元文件软件包为主,可 override
~/.config/用户个人配置用户自己
/usr/share/只读的默认数据软件包安装时放置

生存法则:尽量不要直接改软件包自带的原始文件,建议:

  • 用 /etc/apt/apt.conf.d/99local 放 apt 自定义配置
  • 用 /etc/default/xxx 里的变量或 drop-in 方式覆盖 systemd
  • GRUB 修改后记得 update-grub

7. 依赖关系的关键字段(apt show 会显示)

  • Depends:硬性依赖(没装就无法使用)
  • Recommends:强烈推荐安装(默认会装,大部分人需要)
  • Suggests:可选建议(默认不装)
  • Conflicts / Breaks:会冲突/破坏其他包

遇到复杂依赖冲突时,aptitude 通常比 apt 更聪明,能给出多种解决方案让你选。

8. 新手 2026 年优先掌握顺序建议

  1. 彻底搞懂 stable / testing / sid 区别,并选定一个(建议从 trixie 开始)
  2. 熟练掌握 apt update && apt upgrade && apt full-upgrade 三连
  3. 学会用 apt search、apt show、apt-file search xxx 找文件归属
  4. 知道如何正确添加 non-free / non-free-firmware / contrib 源
  5. 看懂 /var/log/apt/history.log 和 journalctl -u apt-daily*
  6. 冲突时学会用 aptitude 交互解决(别一直狂按 y)
  7. 知道哪些包适合 apt-mark hold(kernel、nvidia、plymouth、firmware 等)
  8. 熟悉如何安全升级到下一个大版本(从 bookworm → trixie 已有很多教程)

掌握以上内容,你就已经超过 80% “只会 apt install”的新手了。

祝你在 Debian 世界里少砸键盘、多学到东西~

THE END