我正在尝试制作自定义 Ubuntu Server iso 文件。当文件中没有 %post 且 Ubuntu 使用 ks 配置正确安装时,Kickstart 文件 (ks.cfg) 运行顺畅。
安装完成安装基础,apt,grub并回显:Kickseed正在运行...并且它冻结@0%
如果我在 %post 部分仅添加 apt-get update(或类似 mkdir 的内容),安装就会顺利进行,但 apt-get upgrade、apt-get install apache2 不起作用
我已经创建了十几个 iso 映像并将它们安装在 Virtual Box 中。我已经在 Google 上搜索了 3 天并查看了 ubuntu 论坛,但还没有找出问题所在。感谢您的帮助。
这就是我制作 iso 映像的方法。我的 ks.file 和 txt.cfg 文件位于 isolinux 目录中:
root@ubuntu:/home/work
mount -o loop ubuntu-12.04-amd64.iso original-iso/
rsync -a original-iso/ custom-iso/
cp ks.cfg custom-iso/isolinux/
cp txt.cfg custom-iso/isolinux/
chmod -R 777 custom-iso/
#Creating Iso image
mkisofs -D -r -V “$IMAGE_NAME” -cache-inodes -J -l -b
isolinux/isolinux.bin
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4
-boot-info-table
-o ~/ubuntu-12.04-alternate-custom-amd64.iso custom-iso/
ks配置文件
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T
#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/Los_Angeles
#Root password
rootpw --iscrypted somethingsomething
#Initial user
user ubuntu --fullname "ubuntu" --iscrypted --password somethingsomething.
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --size 128 --fstype=ext3 --asprimary
part / --size 512 --fstype=ext3 --asprimary
part swap --size 512
part /tmp --size 512 --fstype=ext3
part /var --size 512 --fstype=ext3
part /usr --size 4096 --fstype=ext3
part /home --size 2048 --fstype=ext3
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled --http --ftp --ssh
#X Window System configuration information
xconfig --depth=32 --resolution=1024x768 --defaultdesktop=GNOME
%post
apt-get update
apt-get upgrade
apt-get install apache2
mkdir /home/user
配置文件
default autoinstall
label autoinstall
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-server.seed
initrd=/install/initrd.gz quiet
ks=cdrom:/isolinux/ks.cfg --
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-server.seed vga=788
initrd=/install/initrd.gz quiet --
label cloud
menu label ^Multiple server install with MAAS
kernel /install/vmlinuz
append modules=maas-enlist-udeb vga=788 initrd=/install/initrd.gz quiet --
label check
menu label ^Check disc for defects
kernel /install/vmlinuz
append MENU=/bin/cdrom-checker-menu vga=788 initrd=/install/initrd.gz quiet --
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk
localboot 0x80
答案1
试试这个。应该有用
%post --interpreter=/bin/bash
#!/bin/bash
apt-get update && apt-get upgrade -y