Ubuntu 无人值守安装项目教程
1. 项目的目录结构及介绍
ubuntu-unattended/
├── LICENSE
├── README.md
├── create-unattended-iso.sh
├── ks.cfg
├── preseed.cfg
└── scripts/
├── 00-apt-get-update.sh
├── 01-apt-get-upgrade.sh
├── 02-install-additional-software.sh
└── 03-cleanup.sh
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- create-unattended-iso.sh: 主要脚本文件,用于创建无人值守安装的ISO镜像。
- ks.cfg: Kickstart配置文件,用于Red Hat系列系统的无人值守安装。
- preseed.cfg: Preseed配置文件,用于Debian系列系统的无人值守安装。
- scripts/: 包含一系列脚本文件,用于在安装过程中执行特定的任务,如更新、升级和清理。
2. 项目的启动文件介绍
create-unattended-iso.sh
该脚本是项目的核心文件,用于创建无人值守安装的ISO镜像。主要功能包括:
- 下载Ubuntu ISO镜像。
- 挂载ISO镜像。
- 复制ISO内容到临时目录。
- 修改启动菜单和配置文件。
- 创建新的ISO镜像。
脚本的关键部分如下:
#!/bin/bash
# 下载ISO镜像
wget -O ubuntu.iso http://releases.ubuntu.com/20.04/ubuntu-20.04-desktop-amd64.iso
# 挂载ISO镜像
mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso
# 复制ISO内容到临时目录
mkdir -p /tmp/iso
cp -r /mnt/iso/* /tmp/iso/
# 修改启动菜单和配置文件
cp preseed.cfg /tmp/iso/preseed/
sed -i 's|file=/cdrom/preseed/ubuntu.seed|file=/cdrom/preseed/preseed.cfg|g' /tmp/iso/isolinux/txt.cfg
# 创建新的ISO镜像
mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o unattended-ubuntu.iso /tmp/iso
3. 项目的配置文件介绍
preseed.cfg
该文件是Preseed配置文件,用于在安装过程中自动回答各种问题。主要配置项包括:
-
语言和地区设置:
d-i debian-installer/locale string en_US d-i localechooser/supported-locales multiselect en_US.UTF-8 -
键盘布局:
d-i keyboard-configuration/xkb-keymap select us -
网络配置:
d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string ubuntu d-i netcfg/get_domain string localdomain -
用户和密码:
d-i passwd/user-fullname string Ubuntu User d-i passwd/username string ubuntu d-i passwd/user-password password ubuntu d-i passwd/user-password-again password ubuntu -
磁盘分区:
d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic -
软件包选择:
d-i pkgsel/include string openssh-server build-essential -
安装后的脚本:
d-i preseed/late_command string in-target sh -c 'wget -O /tmp/post-install.sh https://example.com/post-install.sh && chmod +x /tmp/post-install.sh && /tmp/post-install.sh'
通过这些配置文件和脚本,
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



