答案1
在预置配置脚本中没有清除或删除包的选项,但您可以使用此命令......
在 preseed/late_command 中
This command is run just before the install finishes, but when there is
still a usable /target directory. You can chroot to /target and use it
directly, or use the apt-install and in-target commands to easily install
packages and run commands in the target system.
"in-target" means: chroot /target
d-i preseed/late_command string [in-target] foo
例子 :
d-i preseed/late_command string \
in-target apt-get remove packagename
您还可以运行脚本:
d-i preseed/late_command string \
in-target wget http://........./postinst.sh -O /root/postinst.sh; \
in-target /bin/bash /root/postinst.sh
或者安装一组 DEB 文件:
d-i preseed/late_command string \
for deb in /hd-media/*.deb; do cp $deb /target/tmp; \
chroot /target dpkg -i /tmp/$(basename $deb); done
答案2
所按下的示例仅仅是一个例子;它不包含所有可能的 di 组合,而只是包含那些更常见的组合。
就我个人而言,我从未尝试过从安装中删除软件包,所以我不确定是否有特定的 di 命令;听起来你的d-i preseed late_command
应该可以。快速搜索 di 文档没有找到任何结果... 但是,当然,Colin 会知道 ;-)
或者,您可以从基本服务器开始,然后添加任何您想要的内容:
tasksel tasksel/first multiselect Basic Ubuntu server
...
d-i preseed/late_command string apt-install whatever else