温馨提示×

怎么配置Ubuntu From Scratch

小樊
36
2026-08-24 20:27:30
栏目: 智能运维

Ubuntu From Scratch(UFS)是一个非官方项目,目标是让用户从源码或基础包一步步构建一个 Ubuntu 系统,类似 Linux From Scratch(LFS),但更偏向 Ubuntu 体系。它不是官方推荐的安装方式,主要用于学习或研究用途。

下面我分 概念说明 → 准备工作 → 构建流程 → 常见问题 来介绍如何配置 Ubuntu From Scratch。


一、Ubuntu From Scratch 是什么?

Ubuntu From Scratch 通常有两种理解方式:

  1. 基于 Ubuntu 源码/基础包手动构建系统(类似 LFS)

    • 使用 Ubuntu 的包管理理念(dpkg / apt)
    • 从最小化环境开始,手动安装核心组件
  2. 使用 UFS 脚本/工具链

    • 社区项目(如 ubuntu-from-scratch
    • 自动化部分流程,但仍需手动干预

⚠️ 注意:Ubuntu 官方并不提供“From Scratch”指南,以下内容基于社区实践。


二、准备环境

1️⃣ 准备宿主机(推荐)

建议使用一台已有的 Ubuntu 系统作为构建环境:

sudo apt update
sudo apt install -y build-essential \
    debootstrap \
    schroot \
    git \
    wget \
    curl

2️⃣ 准备磁盘或目录

你可以选择:

  • 真实分区(适合最终安装)
  • chroot 目录(推荐学习和测试)

示例(chroot 方式):

mkdir -p /mnt/ufs

三、使用 debootstrap 构建基础系统(推荐方式)

这是最接近“Ubuntu From Scratch”的官方可行方案。

1️⃣ 使用 debootstrap 安装最小 Ubuntu

sudo debootstrap \
  --arch=amd64 \
  jammy \
  /mnt/ufs \
  http://archive.ubuntu.com/ubuntu

说明:

  • jammy = Ubuntu 22.04
  • /mnt/ufs = 目标系统根目录

2️⃣ 进入新系统(chroot)

sudo mount --bind /dev /mnt/ufs/dev
sudo mount --bind /proc /mnt/ufs/proc
sudo mount --bind /sys /mnt/ufs/sys

sudo chroot /mnt/ufs

3️⃣ 基础系统配置

设置主机名

echo ufs-host > /etc/hostname

配置网络(示例)

cat > /etc/netplan/01-net.yaml <<EOF
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
EOF

设置 APT 源

cat > /etc/apt/sources.list <<EOF
deb http://archive.ubuntu.com/ubuntu jammy main restricted
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu jammy-security main restricted
EOF

更新系统

apt update
apt upgrade -y

四、安装核心系统组件

1️⃣ 安装内核

apt install -y linux-image-generic linux-headers-generic

2️⃣ 安装引导程序(GRUB)

apt install -y grub-pc

(真实磁盘安装时再执行 grub-install

3️⃣ 安装基础用户环境

apt install -y sudo vim bash-completion

4️⃣ 创建用户

adduser yourname
usermod -aG sudo yourname

五、构建一个“可用系统”

安装桌面(可选)

apt install -y ubuntu-desktop

或最小桌面:

apt install -y xfce4 lightdm

六、真实磁盘安装(进阶)

如果你是从零开始安装到硬盘:

  1. 分区并格式化磁盘
  2. 挂载到 /mnt/ufs
  3. 按上述步骤构建
  4. 安装 GRUB:
grub-install /dev/sda
update-grub

七、Ubuntu From Scratch 与 LFS 的区别

项目 LFS Ubuntu From Scratch
包管理 dpkg / apt
构建方式 源码 源码 + 预编译包
难度
官方支持 ❌ 无
学习重点 编译系统 Ubuntu 系统结构

八、常见问题

❓ Ubuntu 官方支持吗?

❌ 不支持,属于社区实验性项目。

❓ 适合生产环境吗?

❌ 不适合。

❓ 和 LFS 哪个好?

  • 想学 Linux 原理 → LFS
  • 想理解 Ubuntu 结构 → UFS / debootstrap

九、推荐学习路径

  1. ✅ 先学会 debootstrap + chroot
  2. ✅ 理解 Ubuntu 启动流程
  3. ✅ 阅读 LFS 书(即使不做)
  4. ✅ 尝试最小化 Ubuntu 定制系统

如果你愿意,我可以:

  • ✅ 给你一份 可复制的完整脚本
  • ✅ 帮你做 最小 Ubuntu(无桌面)
  • ✅ 对比 Ubuntu / Debian / LFS
  • ✅ 指导 从 ISO 到 From Scratch

你打算用在 学习 / 嵌入式 / 定制发行版 / 服务器 哪一类?

0