surroundings:
[ root@kickstart ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708(Core)[root@kickstart ~]# uname -r
3.10.0- 693. el7.x86_64
[ root@kickstart ~]# getenforce
Disabled
[ root@kickstart ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded:loaded(/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active:inactive(dead)
Docs: man:firewalld(1)[root@kickstart ~]# hostname -I
10.0.0.201172.16.1.201
Cobbler installation is relatively simple, mainly web page operation, little by little, compared to PXE+kickstart network installation is simpler.
If you don’t understand the principle of the PXE+kickstart network installation system process, I suggest you to check out the <PXE+kickstart网络安装CentOS7.4系统及过程中各种报错> <-- poke me
[ root@Cobbler ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd
Note: You need to start httpd service and cobbler service on CentOS7 to check
[ root@Cobbler ~]# systemctl start cobblerd.service httpd.service
[ root@Cobbler ~]# cobbler check
The following are potential configuration items that you may want to fix:1: The 'server' field in/etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.2: For PXE to be functional, the 'next_server' field in/etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.3: change 'disable' to 'no'in/etc/xinetd.d/tftp
4: Some network boot-loaders are missing from/var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or,if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files inthis directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.5: enable and start rsyncd.service with systemctl
6: debmirror package is not installed, it will be required to manage debian deployments and repositories
7: The default password used by the sample templates for newly installed machines(default_password_crypted in/etc/cobbler/settings) is still set to 'cobbler' and should be changed,try:"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate newone8: fencing tools were not found, and are required to use the(optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
sed -i 's/server: 127.0.0.1/server: 172.16.1.202/'/etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: 172.16.1.202/'/etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/'/etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/'/etc/cobbler/settings
sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#"/etc/cobbler/settings
sed -i 's#yes#no#'/etc/xinetd.d/tftp
systemctl start rsyncd
systemctl enable rsyncd
systemctl enable tftp.socket
systemctl start tftp.socket
systemctl restart cobblerd.service
sed -i.ori 's#192.168.1#172.16.1#g;22d;23d'/etc/cobbler/dhcp.template
Note: an error will be reported if it is not synchronized
[ root@Cobbler ~]# cobbler sync
task started:2017-11-15_101915_sync
task started(id=Sync, time=Wed Nov 1510:19:152017)
running pre-sync triggers
cleaning trees
removing:/var/lib/tftpboot/grub/images
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0->/var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 ->/var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot ->/var/lib/tftpboot/yaboot
trying hardlink /usr/share/syslinux/memdisk ->/var/lib/tftpboot/memdisk
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi ->/var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi ->/var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from/var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout:
received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
Bloggers use virtual machine operations
https://10.0.0.202/cobbler_web browser access URL
The default account password is cobbler
Note: First, the virtual machine must ensure the following operations
image.png
Because of the mnt written in the mirror location, the mirror should be mounted under mnt
[ root@Cobbler pxelinux.cfg]# mount /dev/cdrom /mnt/[root@Cobbler pxelinux.cfg]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 98G 5.8G 93G 6% /
devtmpfs 902M 0 902M 0%/dev
tmpfs 912M 0 912M 0%/dev/shm
tmpfs 912M 8.7M 903M 1%/run
tmpfs 912M 0 912M 0%/sys/fs/cgroup
/dev/sda1 1014M 135M 880M 14%/boot
tmpfs 183M 0 183M 0%/run/user/0/dev/sr0 4.3G 4.3G 0100%/mnt
Check the process to see if it is importing
[ root@Cobbler ~]# ps -ef|grep rsync
root 159231009:49?00:00:00/usr/bin/rsync --daemon --no-detach
root 17237159731510:53?00:00:03 rsync -a /mnt//var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 1723817237010:53?00:00:00 rsync -a /mnt//var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 17239172381110:53?00:00:02 rsync -a /mnt//var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
At the beginning of install, to %pre
Start with %packages and end with %end
Start with %post and end with %end. Relevant Linux commands and scripts executed after the system is installed
Start with %pre and end with %end. Relevant Linux commands and scripts executed before the system is installed
yum install pykickstart -y
[ root@CentOS7 tftpboot]# ksvalidator /var/www/html/ks_config/CentOS-7-ks.cfg
Note: Please remember that this verification tool has its limitations. Kickstart files can be very complicated; ksvalidator guarantees that the syntax is correct and the file does not contain obsolete options.
But it cannot guarantee that the installation will be successful. It will not try to verify the Kickstart file%pre、%post and%The packages section.
Password: 123456
[ root@CentOS7 ~]# python -c 'import crypt; print(crypt.crypt("123456"))'
$6$02PfimLMqN53z6Io$ov2Xbjm7ZC36X2tFvqnI0HymvqMY0vI/UOCxze0L/zMX722PkDJOz/JTWwVHaksawGf/bfR0k3GCpubodKTdV0
# Cobbler for Kickstart Configurator for CentOS 7 by yao zhang
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# Network information
$SNIPPET('network_config')
# network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part /--fstype xfs --size 1--grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')$SNIPPET('kickstart_start')$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')%end
%packages
@^ minimal
@ compat-libraries
@ core
@ debugging
@ development
bash-completion
chrony
dos2unix
kexec-tools
lrzsz
nmap
sysstat
telnet
tree
vim
wget
%end
%post
systemctl disable postfix.service
%end
The detailed explanation about the content of the ks file is written by me <PXE+kickstart网络安装CentOS7.4系统及过程中各种报错> explained in
Recommended Posts