两种方式

  1. https://fai-project.org/ 适合大规模的安装,使用 https://fai-project.org/FAIme/ 在线构建安装包
  2. 使用 preseed 预配置文件安装

在 Debian Linux 中,可以使用预置文件(Preseed)来实现自动化安装。预置文件包含了一系列的配置选项,可以在安装过程中自动回答安装程序的问题,从而实现无人值守的安装。

以下是使用预置文件实现 Debian 自动安装的步骤:

1. 创建预置文件

首先,创建一个预置文件(例如 preseed.cfg),其中包含了你希望在安装过程中自动回答的配置选项。以下是一个简单的预置文件示例:

# 选择语言和区域设置
d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us

# 配置网络
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string debian
d-i netcfg/get_domain string example.com

# 设置镜像源
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# 设置用户和密码
d-i passwd/user-fullname string Debian User
d-i passwd/username string debian
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure

# 分区设置
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# 安装基础系统
d-i base-installer/kernel/image string linux-image-amd64

# 安装引导加载程序
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string /dev/sda

# 完成安装
d-i finish-install/reboot_in_progress note

2. 将预置文件放入安装介质

将预置文件放入 Debian 安装介质中。你可以通过以下几种方式实现:

  • USB 安装介质:将 preseed.cfg 文件放入 USB 驱动器的根目录。
  • 网络安装:将预置文件放在一个可以通过 HTTP 或 FTP 访问的服务器上。

3. 修改引导参数

在启动安装介质时,修改引导参数以指定预置文件的位置。例如:

  • USB 安装介质

    linux /install.amd/vmlinuz preseed/file=/cdrom/preseed.cfg
  • 网络安装

    linux /install.amd/vmlinuz preseed/url=http://example.com/preseed.cfg

4. 启动安装

启动安装介质,安装程序将自动读取预置文件并根据其中的配置进行安装。

5. 完成安装

安装完成后,系统将自动重启,并根据预置文件中的配置进行初始化设置。

注意事项

  • 预置文件中的密码应以明文形式存储,因此在实际生产环境中应谨慎处理。
  • 预置文件中的配置选项应根据实际需求进行调整。

通过以上步骤,你可以使用预置文件实现 Debian Linux 的自动安装。

要基于 preseed.cfg 文件构建一个自定义的 Debian 安装镜像,你可以按照以下步骤操作。这种方法允许你创建一个包含预配置的 ISO 文件,从而实现完全自动化的安装。


根据preseed.cfg构建安装镜像

1:准备工作

  1. 安装依赖工具
    确保你的系统上安装了以下工具:

    sudo apt update
    sudo apt install debian-archive-keyring debootstrap xorriso isolinux syslinux-utils
  2. 下载官方 Debian ISO
    Debian 官方网站 下载一个官方的 Debian ISO 文件(例如 debian-XX.X.X-amd64-netinst.iso)。
  3. 创建工作目录
    创建一个工作目录,用于构建自定义镜像:

    mkdir ~/custom-debian-iso
    cd ~/custom-debian-iso

2:提取官方 ISO 文件

  1. 挂载官方 ISO 文件:

    sudo mount -o loop /path/to/debian-XX.X.X-amd64-netinst.iso /mnt
  2. 将 ISO 内容复制到工作目录:

    mkdir iso
    rsync -a /mnt/ iso/
    sudo umount /mnt

3:添加预置文件

  1. 将你的 preseed.cfg 文件放入 ISO 的根目录:

    cp /path/to/preseed.cfg ~/custom-debian-iso/iso/
  2. 修改引导配置以加载预置文件:
    编辑 isolinux/isolinux.cfg 文件,在 default 引导条目中添加 preseed/file=/cdrom/preseed.cfg

    label install
        menu label ^Install
        kernel /install.amd/vmlinuz
        append vga=788 initrd=/install.amd/initrd.gz preseed/file=/cdrom/preseed.cfg ---

    如果你希望通过网络加载预置文件,可以使用 preseed/url

    append vga=788 initrd=/install.amd/initrd.gz preseed/url=http://example.com/preseed.cfg ---

4:重新生成 ISO 文件

  1. 使用 xorriso 重新生成 ISO 文件:

    xorriso -as mkisofs \
        -r -V "Custom Debian ISO" \
        -o custom-debian.iso \
        -J -J -joliet-long \
        -b isolinux/isolinux.bin \
        -c isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -eltorito-alt-boot \
        -e boot/grub/efi.img \
        -no-emul-boot \
        iso
  2. 生成 ISO 文件的 MD5 校验和:

    cd ~/custom-debian-iso
    md5sum custom-debian.iso > custom-debian.iso.md5

5:测试自定义 ISO

  1. 将生成的 custom-debian.iso 文件写入 USB 驱动器或虚拟机中:

    • 写入 USB 驱动器:

      sudo dd if=custom-debian.iso of=/dev/sdX bs=4M status=progress
    • 在虚拟机中加载 ISO 文件。
  2. 启动安装程序,验证是否自动加载了预置文件并完成安装。

注意事项

  1. 预置文件路径
    确保 preseed.cfg 文件的路径在 ISO 中正确,并且在引导参数中正确指定。
  2. 网络安装
    如果使用网络安装,确保预置文件的 URL 可以通过网络访问。
  3. 兼容性
    确保预置文件中的配置选项与目标 Debian 版本兼容。
  4. 安全性
    预置文件中的敏感信息(如密码)应以加密方式存储,或在安装后手动修改。

通过以上步骤,你可以成功构建一个包含预置文件的 Debian 安装镜像,实现自动化安装。

标签: Debian, Linux

添加新评论