Debian镜像自定义安装选项的实用方案
一 使用预置种子文件实现无人值守安装
d-i debian-installer/language string en_US
d-i debian-installer/country string US
d-i debian-installer/locale string en_US.UTF-8
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i mirror/country string manual
d-i mirror/http/hostname string deb.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
d-i passwd/root-login boolean false
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 clock-setup/utc boolean true
d-i time/zone string Asia/Shanghai
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/confirm_write_new_label boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i pkgsel/include string openssh-server vim
d-i pkgsel/upgrade select full-upgrade
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean false
d-i finish-install/reboot_in_progress note
auto=true priority=critical url=http://your-server/preseed.cfg
将 preseed.cfg 放到可访问的 HTTP/HTTPS/TFTP 服务上。auto=true priority=critical preseed/file=/cdrom/preseed.cfg
二 定制安装介质与软件包集合
sudo apt-get update
sudo apt-get install -y live-build
lb config -b iso --architecture amd64 --debian-installer live
sudo lb build
生成的 .iso 可从 U 盘引导,进入安装器或 Live 环境,并按你的定制执行。三 容器场景的镜像定制
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl vim less && \
rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
WORKDIR /app
EXPOSE 8080
CMD ["entrypoint.sh"]
docker build -t my-debian:custom .
docker run -it --rm my-debian:custom
四 常见问题与排查要点