Cobbler+preseed自动化安装Ubuntu 14.04系统:
建议在Ubuntu 14.04系统上搭建,Ubuntu 16.04上会有apache2的python和mod_wsgi模块版本冲突
安装apache2、tftpd-hpa、kickstart略
apt-get install cobbler
netstat -ntplu (查看服务端口,包括tcp和udp)
curl -I http://127.0.0.1/cobbler (验证网页是否能打开)
cobbler check
apt-get install debmirror
cp -rv /usr/share/doc/debmirror/examples/debmirror.conf /etc/
vi /etc/debmirror.conf (注释掉下面2行)
#@dists="precise";
#@arches="i386"; :wq
service cobbler restart
cobbler sync
echo "xxxx" | openssl passwd -1 -stdin (此次xxxx为客户端的root初始密码)
vi /etc/cobbler/settings (将上补生成的乱码贴进去)
default_password_crypted: "$1$cobbler$nBCRhq3fBRuMs35Rp4EUX/" :wq
cobbler sync
导入iso镜像
mount -t iso9660 -r -o ro,loop ubuntu-14.04.3-server-amd64.iso /root/iso/
cobbler import --name=UBT14043 --arch=x86_64 --path=/root/iso
cobbler list
cobbler distro list
cobbler profile list
cobbler profile report --name=UBT14043-x86_64 #查看profile设置
cobbler distro report --name=UBT14043-x86_64 #查看安装镜像文件信息
cobbler profile remove --name=UBT14043-x86_64 #移除profile
cobbler profile add --name=UBT14043-x86_64 --distro=UBT14043-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ubt14043.seed #添加
cobbler profile edit --name=UBT14043-x86_64 --distro=UBT14043-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ubt14043.seed #编辑
cobbler profile add --name=UBT14043-x86_64 --kickstart="/var/lib/cobbler/kickstarts/ubt14043.seed"
cobbler profile report
service cobbler restart
cobbler sync
cat /var/lib/tftpboot/pxelinux.cfg/default内容:
DEFAULT menu PROMPT 0 MENU TITLE Cobbler | http://www.cobblerd.org/ TIMEOUT 0 #TOTALTIMEOUT 6000 #ONTIMEOUT local
LABEL local MENU LABEL (local) MENU DEFAULT LOCALBOOT -1
LABEL UBT14043-x86_64 kernel /images/UBT14043-x86_64/linux MENU LABEL UBT14043-x86_64 append initrd=/images/UBT14043-x86_64/initrd.gz ksdevice=bootif lang= locale=en_US priority=critical text auto-install/enable=true priority=critical url=http://10.0.0.2/cblr/svc/op/ks/profile/UBT14043-x86_64 hostname=aa domain=ming.com suite=trusty netcfg/choose_interface=em1 netcfg/dhcp_timeout=120 ipappend 2
MENU end
注: 1、指定网卡需写到default文件里,写到seed文件里不认 2、如果用的是AD的DHCP,一定要在default文件里写上dhcp_timeout时间,不然DHCP失败概率会很高
cat ubt14043.seed内容:
d-i live-installer/net-image string http://10.0.0.2/cobbler/links/UBT14043-x86_64/install/filesystem.squashfs
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/splash boolean false
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i console-setup/variantcode string
d-i netcfg/choose_interface select auto
d-i clock-setup/utc boolean true
d-i partman-auto/method string regular
d-i partman-auto/disk string /dev/sda
d-i partman-auto/expert_recipe select
boot-root ::
100000 80 100000 ext4
$bootable{ }
$primary{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ / }
.
102 60 1000 linux-swap
$primary{ }
method{ swap } format{ }
.
d-i partman-auto/choose_recipe boot-root
d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select Finish partitioning and write changes to disk d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman/default_filesystem string ext4 d-i clock-setup/utc boolean true d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string 10.0.0.3 d-i base-installer/kernel/image string linux-server d-i passwd/root-login boolean false d-i passwd/make-user boolean true d-i passwd/user-fullname string super d-i passwd/username string super d-i passwd/user-password password xxxxxx d-i passwd/user-password-again password xxxxx d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false d-i passwd/user-default-groups string sudo d-i mirror/country string manual d-i mirror/protocol string http d-i mirror/http/hostname string 10.0.0.2 d-i mirror/http/directory string /cobbler/ks_mirror/UBT14043-x86_64 d-i apt-setup/services-select multiselect security d-i apt-setup/security_host string 10.0.0.2 d-i apt-setup/security_path string /cobbler/ks_mirror/UBT14043-x86_64 d-i debian-installer/allow_unauthenticated string false d-i pkgsel/upgrade select none d-i pkgsel/language-packs multiselect d-i pkgsel/update-policy select none d-i pkgsel/updatedb boolean true d-i grub-installer/skip boolean false d-i lilo-installer/skip boolean false d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/keep-consoles boolean false d-i finish-install/reboot_in_progress note d-i cdrom-detect/eject boolean true d-i debian-installer/exit/halt boolean false d-i debian-installer/exit/poweroff boolean false d-i pkgsel/include string openssh-server