CentOS7安装cobbler

cobbler基于python2.*版本,在centos8无法安装;

测试安装服务器为centos7(CentOS-7-x86_64-Minimal-1810.iso)

1.安装基础软件包

  sed  -i 's/^SELINUX=.*$/SELINUX=disabled/g'   /etc/selinux/config 
  setenforce    0
  systemctl  stop     firewalld 
  systemctl  disable  firewalld  --now

安装基础软件包:

yum  install   -y  epel-release
yum  install   -y  autofs
yum  install   -y  vim  wget  lrzsz tcpdump
yum  install   -y  rsync
yum  install   -y  cobbler 
yum  install   -y  cobbler-web 
yum  install   -y  dhcp
yum  install   -y  dhcp-server
yum  install   -y  dhcp-*
yum  install   -y  tftp-server 
yum  install   -y  pykickstart 
yum  install   -y  httpd 
yum  install   -y  xinetd 
yum  install   -y  python-ctypes
yum  install   -y  xorriso
yum  install   -y  genisoimage
yum  install   -y  syslinux
yum  install   -y  yum-utils
yum  install   -y  gcc
yum  install   -y  make 
yum  install   -y  automake
yum  install   -y  fence-agents
yum  install   -y  debmirror
yum  install   -y  crudini

systemctl start httpd
systemctl start cobblerd
systemctl enable httpd
systemctl enable cobblerd
systemctl start rsyncd
systemctl enable rsyncd

2.修改配置

要能支持centos8系统成功部署,修改/var/lib/cobbler/distro_signatures.json文件:
rhel8部分,下面version_file字段中,
|centos|改为|centos|centos-linux|centos-stream|
    "version_file":"(redhat|sl|slf|centos|centos-linux|centos-stream|oraclelinux|vzlinux)-release-(?!notes)([\\w]*-)*8(Server)*[\\.-]+(.*)\\.rpm",

也可以参考如下方法改动:
在这里插入图片描述

避免安装centos8系统的时候出现如下错误:
 #安装其他机器的时候dracut超时,cobbler日志/var/log/cobbler/cobbler.log报:
 #Exception value: 'ascii' codec can't decode byte 0xe7 in position 112: ordinal not in range(128)
 #File "/usr/lib64/python2.7/site-packages/Cheetah/Compiler.py", line 1579, in __init__
 #   if len(encodings):
 修改/usr/lib64/python2.7/site-packages/Cheetah/Compiler.py文件:
     file='/usr/lib64/python2.7/site-packages/Cheetah/Compiler.py'
     sed -i '1i#coding=utf-8'  $file
     sed -i "/import copy/asys.setdefaultencoding('utf-8')"  $file
     sed -i "/import copy/areload(sys)"  $file

修改cobbler配置文件:

cobbler_cfg='/etc/cobbler/settings'

sed -i "s|^server:.*127.0.0.1|server: ${ip}|"    $cobbler_cfg
sed -i "s|^next_server:.*127.0.0.1|next_server: ${ip}|" $cobbler_cfg
sed -i "s|^pxe_just_once:.*0|pxe_just_once: 1|"  $cobbler_cfg

sed -i 's|^manage_dhcp:.*0|manage_dhcp: 1|g'      $cobbler_cfg
sed -i 's|^manage_rsync:.*0|manage_rsync: 1|g'    $cobbler_cfg
sed -i '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' $cobbler_cfg

密码可以改也可以不改,默认为cobbler
newpas=$(openssl passwd -1 -salt `openssl rand 15 -base64` '123456')
# 修改默认密码 即:/etc/cobbler/settings 文件中的 default_password_crypted 参数的值为上面生成的密码串
sed -i "s%^default_password_crypted.*%default_password_crypted: \"${newpas}\"%g" $cobbler_cfg
#修改xinetd tftp配置文件:
sed -i "/disable/ {s#yes#no#}" /etc/xinetd.d/tftp

#修改httpd配置:
if ! grep -q '^ServerName' /etc/httpd/conf/httpd.conf ; then
   sed -i "/#ServerName/aServerName ${ip}:80"  /etc/httpd/conf/httpd.conf
fi

修改dhcp模板配置文件
在这里插入图片描述

#解决没有cobbler get-loaders问题
\cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
\cp /usr/share/syslinux/menu.c32   /var/lib/cobbler/loaders/
\cp -a /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot
\cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
#设置debmirror: 注释掉@dists和@arches的行  debian相关文件获取(如不需要部署debian系统可省略)
sed -i '/@dists=/s/^/# &/g'   /etc/debmirror.conf
sed -i '/@arches=/s/^/# &/g'  /etc/debmirror.conf
#启动服务:
systemctl  enable  httpd   --now
systemctl  enable  rsyncd  --now
systemctl  enable  tftp    --now
systemctl  enable  xinetd  --now
systemctl  enable  dhcpd   --now
systemctl  enable  cobblerd --now
systemctl  restart httpd
systemctl  restart cobblerd

#再启动xinetd服务:
service xinetd start
cobbler check
cobbler signature update
cobbler sync

\cp -arf /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
\cp -arf /centos8/isolinux/*.c32    /var/lib/tftpboot/
\cp -arf /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk}  /var/lib/tftpboot/
\cp -arf /centos8/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/
\cp -arf /centos8/isolinux/{boot.msg,splash.png}  /var/lib/tftpboot/
#检查语法
systemctl restart  httpd
systemctl restart  cobblerd
systemctl restart  tftp  
cobbler sync

挂载ISO镜像:

  mkdir -p /centos8 ; umount  /centos8
  iso_file='/opt/CentOS8_Mini_OS_DVD_5.3.3.iso'
  # -t iso9660 -r -o ro,loop
  mount   -o loop  $iso_file  /centos8
  cobbler import --path=/centos8  --name=CentOS8_Mini  --arch=x86_64
  
  cobbler distro list
  
  cobbler profile edit --name=CentOS8_Mini-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos8_ks.cfg

  cobbler profile list

Cobbler Web配置:

#配置cobbler-web:
\cp  /etc/cobbler/modules.conf  /etc/cobbler/bak_modules.conf_back
crudini --set /etc/cobbler/modules.conf  authentication  module  authn_pam
useradd -s /sbin/nologin cobbler
echo 123456 | passwd --stdin cobbler
\cp  /etc/cobbler/users.conf  /etc/cobbler/bak_users.conf_back
crudini --set  /etc/cobbler/users.conf admins admin \"cobbler\"
crudini --set  /etc/cobbler/users.conf admins cobbler  \"123456\"
echo -e "https://${ip}/cobbler_web/\ncobbler\n123456"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值