部署安装cobbler,实现批量安装CentOS7、Ubuntu17.04、Ubuntu18.04(快捷版)

2023-05-16

文章目录

        • 一.部署安装cobbler
          • 1.编辑cobbler配置文件
          • 2.持续安装所需文件
          • 3.配置tftp
          • 4.安装pykickstart
          • 5.设置密码
          • 6.cobbler管理DHCP
          • 7.编辑启动应用服务脚本
        • 二、镜像导入以及自动化文件必读须知
          • 1.Centos7自动化操作系统安装
          • 2.Ubuntu17.04自动化操作系统安装
          • 3.Ubuntu18.04自动化操作系统安装
          • 4.状态检查

一.部署安装cobbler

yum安装cobbler

[root@localhost ~]# yum install -y net-tools

[root@localhost ~]# yum install -y httpd dhcp tftp  cobbler   cobbler-web
[root@localhost ~]# yum install xinetd

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd

[root@localhost ~]# systemctl start cobblerd
[root@localhost ~]# systemctl enable  cobblerd
1.编辑cobbler配置文件
[root@localhost ~]# vim /etc/cobbler/settings
....................
server: 192.168.4.15

next_server: 192.168.4.15
....................
virt_auto_boot: 1
....................
2.持续安装所需文件
[root@localhost ~]# cobbler get-loaders
3.配置tftp
[root@localhost ~]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@localhost ~]# systemctl enable rsyncd
[root@localhost ~]# systemctl start  rsyncd

启动xinetd

[root@localhost ~]# systemctl  restart   xinetd
[root@localhost ~]# systemctl  enable   xinetd
4.安装pykickstart
[root@localhost ~]# yum install  pykickstart  -y
5.设置密码

设置密码、随机值123456 密码123456

[root@localhost ~]# openssl passwd -1 -salt '123456' '123456'
$1$123456$wOSEtcyiP2N/IfIl15W6Z0

更改默认密码为:

[root@localhost ~]# vim  /etc/cobbler/settings
default_password_crypted: "$1$123456$wOSEtcyiP2N/IfIl15W6Z0"
[root@localhost ~]# systemctl restart cobblerd
6.cobbler管理DHCP
[root@localhost ~]# vim /etc/cobbler/settings
manage_dhcp: 1

第一次修改模板文件。修改模板文件,生成dhcp配置文件。大致更改的地方有

[root@localhost ~]# vim /etc/cobbler/dhcp.template

subnet 192.168.4.0 netmask 255.255.255.0 {
     option routers             192.168.4.2;
     option domain-name-servers 192.168.4.2;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.4.100 192.168.4.254;
...................

重启cobblerd

[root@localhost ~]# systemctl restart cobblerd
[root@localhost ~]# cobbler sync
7.编辑启动应用服务脚本
[root@localhost ~]# vim start.sh
#!/bin/bash
systemctl restart httpd
systemctl restart dhcpd
systemctl restart tftp
systemctl restart cobblerd
systemctl restart xinetd
systemctl restart rsyncd

二、镜像导入以及自动化文件必读须知

preseed文件参考网址如下:

  • 模板位置:http://www.debian.org/releases/wheezy/example-preseed.txt
  • 官方的安装手册:http://www.debian.org/releases/wheezy/i386/

live、desktop的ubuntu18.04镜像不能使用cobller做为iso导入。请使用server-amd64。附带下载连接地址如下:

  • http://cdimage.ubuntu.com/releases/

cobbler+ubuntu不能使用kickstart的cfg文件的格式,做为自动化菜单安装的实现文件。ubuntu操作系统使用ks.cfg文件会被强制转为preseed文件内容实现。所以,附带以下ubuntu.seed文件内容跟,参考。

1.Centos7自动化操作系统安装

CentOS7.cfg文件内容

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$cGHsDwpI$T9DXXY71ndF0Gp9F9mT4f/
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# Use network installation
url --url=$tree
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1


%packages
@^minimal
@core
@development
kexec-tools
wget
vim
%end


%addon com_redhat_kdump --enable --reserve-mb='auto'
%end

%post
systemctl disable  postfix.service
%end

[root@localhost ~]# mount CentOS-7-x86_64-DVD-1908.iso   /mnt/
[root@localhost ~]# cobbler  import --path=/mnt/  --name=Centos-7  --arch=x86_64  --kickstart=/var/lib/cobbler/kickstarts/CentOS7.cfg
[root@localhost ~]# cobbler list
distros:
   Centos-7-x86_64


profiles:
   Centos-7-x86_64


systems:

repos:

images:

mgmtclasses:

packages:

files:
2.Ubuntu17.04自动化操作系统安装

ubuntu17.04.seed文件内容

[root@localhost ~]# vim /var/lib/cobbler/kickstarts/ubuntu17.cfg
# Mostly based on the Ubuntu installation guide
# https://help.ubuntu.com/18.04/installation-guide/
# Debian sample
# https://www.debian.org/releases/stable/example-preseed.txt

# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US

# Keyboard selection.
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/toggle select No toggling
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/variantcode string

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
#set $myhostname = $getVar('hostname',$getVar('name','cobbler')).replace("_","-")
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string $myhostname
#d-i netcfg/get_hostname string unassigned-hostname

# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
# d-i hw-detect/load_firmware boolean true

# NTP/Time Setup
d-i time/zone string Asia/Shanghai
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server  string ntp.ubuntu.com

# Setup the installation source
d-i mirror/country string manual
d-i mirror/http/hostname string $http_server
d-i mirror/http/directory string $install_source_directory
d-i mirror/http/proxy string

#set $os_v = $getVar('os_version','')
#if $breed == "ubuntu" and $os_v and $os_v.lower() != 'precise'
# Required at least for ubuntu 12.10+ , so test os_v is not precise. Olders versions are not supported anymore
d-i live-installer/net-image string http://$http_server/cobbler/links/$distro_name/install/filesystem.squashfs
#end if

# Suite to install.
# d-i mirror/suite string precise
# d-i mirror/udeb/suite string precise

# Components to use for loading installer components (optional).
#d-i mirror/udeb/components multiselect main, restricted

# Disk Partitioning
# Use LVM, and wipe out anything that already exists
#d-i partman-auto/choose_recipe select boot-root
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman/default_filesystem string ext4
#d-i partman-partitioning/confirm_write_new_label boolean true
#d-i partman-auto/choose_recipe select finish
#d-i partman/confirm boolean true
#d-i partman/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm                   boolean true
d-i partman-auto/purge_lvm_from_device              boolean true
d-i partman-md/device_remove_md                     boolean true
d-i partman-lvm/confirm                             boolean true
d-i partman/alignment                               select cylinder
d-i partman/confirm                                 boolean true
d-i partman-basicfilesystems/no_swap                  boolean false
d-i partman-partitioning/confirm_write_new_label    boolean true
d-i partman/choose_partition                        select finish
d-i partman/confirm_nooverwrite                     boolean true
d-i grub-installer/only_debian                      boolean true
#d-i grub-installer/bootdev                                      string /dev/sda
#d-i partman-auto/disk                               string /dev/sda
d-i partman-auto/method                             string regular


d-i partman-auto/expert_recipe string                         \
      boot-root ::                                            \
                 1024 1 1024 ext4                             \
                     $primary{ } $bootable{ }                 \
                     method{ format } format{ }               \
                     use_filesystem{ } filesystem{ ext4 }     \
                     mountpoint{ /boot }                      \
                 .                                            \
                 1   3 -1 ext4                                \
                     $primary{ }                              \
                     method{ format } format{ }               \
                     use_filesystem{ } filesystem{ ext4 }     \
                     mountpoint{ /  }                         \
                 .                                            \
                 4096 2 4096 linux-swap                       \
                     $primary{ }                              \
                     method{ swap } format{ }                 \
                 .
# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home:   separate /home partition
# - multi:  separate /home, /usr, /var, and /tmp partitions
#d-i partman-auto/choose_recipe select finish
#d-i partman/confirm boolean true
#d-i partman/confirm_nooverwrite boolean true
#d-i partman/mount_style select uuid
# If you just want to change the default filesystem from ext3 to something
# else, you can do that without providing a full recipe.
# d-i partman/default_filesystem string ext4

# root account and password
#d-i passwd/root-login boolean true
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password $default_password_crypted



d-i passwd/make-user boolean true
d-i passwd/user-fullname  string ubuntu
d-i passwd/username       string ubuntu
d-i passwd/user-password-crypted password $default_password_crypted

# skip creation of a normal user account.
#d-i passwd/make-user boolean false
#d-i passwd/make-user boolean true
#d-i passwd/user-fullname string ubuntu
#d-i passwd/username string ubuntu
#d-i passwd/user-password password $default_password_crypted
#d-i passwd/user-password-again password $default_password_crypted
#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


# You can choose to install restricted and universe software, or to install
# software from the backports repository.
# d-i apt-setup/restricted boolean true
# d-i apt-setup/universe boolean true
# d-i apt-setup/backports boolean true

# Uncomment this if you don't want to use a network mirror.
# d-i apt-setup/use_mirror boolean false

# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
# d-i apt-setup/services-select multiselect security
# d-i apt-setup/security_host string security.ubuntu.com
# d-i apt-setup/security_path string /ubuntu

$SNIPPET('preseed_apt_repo_config')

# Enable deb-src lines
# d-i apt-setup/local0/source boolean true

# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out
# d-i apt-setup/local0/key string http://local.server/key

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
# d-i debian-installer/allow_unauthenticated boolean true

# Package selection
# Default for minimal
tasksel tasksel/first multiselect standard
# Default for server
# tasksel tasksel/first multiselect standard, web-server
# Default for gnome-desktop
# tasksel tasksel/first multiselect standard, gnome-desktop

# Individual additional packages to install
# wget is REQUIRED otherwise quite a few things won't work
# later in the build (like late-command scripts)
d-i pkgsel/include string ntp ssh wget

# Debian needs this for the installer to avoid any question for grub
# Please verify that it suit your needs as it may overwrite any usb stick
#if $breed == "debian"
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/bootdev string default
#end if

# Use the following option to add additional boot parameters for the
# installed system (if supported by the bootloader installer).
# Note: options passed to the installer will be added automatically.
d-i debian-installer/add-kernel-opts string $kernel_options_post

# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note

## Figure out if we're kickstarting a system or a profile
#if $getVar('system_name','') != ''
#set $what = "system"
#else
#set $what = "profile"
#end if

# This first command is run as early as possible, just after preseeding is read.
# d-i preseed/early_command string [command]
d-i preseed/early_command string wget -O- \
   http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_early_default | \
   /bin/sh -s


#d-i preseed/early_command string hostnamectl set-hostname ubuntu |  /bin/sh -s
# This command is run immediately before the partitioner starts. It may be
# useful to apply dynamic partitioner preseeding that depends on the state
# of the disks (which may not be visible when preseed/early_command runs).
# d-i partman/early_command \
#       string debconf-set partman-auto/disk "\$(list-devices disk | head -n1)"

# 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.
# d-i preseed/late_command string [command]
d-i preseed/late_command string wget -O- \
   http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_late_default | \
   chroot /target /bin/sh -s


#d-i preseed/late_command string hostnamectl set-hostname ubuntu |  /bin/sh -s
[root@localhost ~]# cobbler list
distros:
   Ubuntu-17-x86_64

profiles:
   Ubuntu-17-x86_64

systems:

repos:
   Ubuntu-17-x86_64

images:

mgmtclasses:

packages:

files:
[root@localhost ~]# mount ubuntu-17.04-server-amd64.iso   /mnt/

[root@localhost ~]# cobbler  import --path=/mnt/  --name=Ubuntu-17.04  --arch=x86_64  --kickstart=/var/lib/cobbler/kickstarts/ubuntu17.04.seed
3.Ubuntu18.04自动化操作系统安装

ubuntu18.04 seed文件内容
因为镜像文件中不存在ntp,取消了默认安装程序中安装ntp程序,不取消ntp安装,自动化安装会卡住窗口无法进行下去

[root@localhost kickstarts]# vim ubuntu18.seed
# Mostly based on the Ubuntu installation guide
# https://help.ubuntu.com/18.04/installation-guide/
# Debian sample
# https://www.debian.org/releases/stable/example-preseed.txt

# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US

# Keyboard selection.
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/toggle select No toggling
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/variantcode string

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
#set $myhostname = $getVar('hostname',$getVar('name','cobbler')).replace("_","-")
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string $myhostname
#d-i netcfg/get_hostname string unassigned-hostname

# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
# d-i hw-detect/load_firmware boolean true

# NTP/Time Setup
d-i time/zone string Asia/Shanghai
d-i clock-setup/utc boolean true
#d-i clock-setup/ntp boolean true
d-i clock-setup/ntp boolean false
#d-i clock-setup/ntp-server  string ntp.ubuntu.com

# Setup the installation source
d-i mirror/country string manual
d-i mirror/http/hostname string $http_server
d-i mirror/http/directory string $install_source_directory
d-i mirror/http/proxy string

#set $os_v = $getVar('os_version','')
#if $breed == "ubuntu" and $os_v and $os_v.lower() != 'precise'
# Required at least for ubuntu 12.10+ , so test os_v is not precise. Olders versions are not supported anymore
d-i live-installer/net-image string http://$http_server/cobbler/links/$distro_name/install/filesystem.squashfs
#end if

# Suite to install.
# d-i mirror/suite string precise
# d-i mirror/udeb/suite string precise

# Components to use for loading installer components (optional).
#d-i mirror/udeb/components multiselect main, restricted

# Disk Partitioning
# Use LVM, and wipe out anything that already exists
#d-i partman-auto/choose_recipe select boot-root
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman/default_filesystem string ext4
#d-i partman-partitioning/confirm_write_new_label boolean true
#d-i partman-auto/choose_recipe select finish
#d-i partman/confirm boolean true
#d-i partman/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm                   boolean true
d-i partman-auto/purge_lvm_from_device              boolean true
d-i partman-md/device_remove_md                     boolean true
d-i partman-lvm/confirm                             boolean true
d-i partman/alignment                               select cylinder
d-i partman/confirm                                 boolean true
d-i partman-basicfilesystems/no_swap                  boolean false
d-i partman-partitioning/confirm_write_new_label    boolean true
d-i partman/choose_partition                        select finish
d-i partman/confirm_nooverwrite                     boolean true
d-i grub-installer/only_debian                      boolean true
#d-i grub-installer/bootdev                                      string /dev/sda
#d-i partman-auto/disk                               string /dev/sda
d-i partman-auto/method                             string regular


d-i partman-auto/expert_recipe string                         \
      boot-root ::                                            \
                 1024 1 1024 ext4                             \
                     $primary{ } $bootable{ }                 \
                     method{ format } format{ }               \
                     use_filesystem{ } filesystem{ ext4 }     \
                     mountpoint{ /boot }                      \
                 .                                            \
                 1   3 -1 ext4                                \
                     $primary{ }                              \
                     method{ format } format{ }               \
                     use_filesystem{ } filesystem{ ext4 }     \
                     mountpoint{ /  }                         \
                 .                                            \
                 4096 2 4096 linux-swap                       \
                     $primary{ }                              \
                     method{ swap } format{ }                 \
                 .
# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home:   separate /home partition
# - multi:  separate /home, /usr, /var, and /tmp partitions
#d-i partman-auto/choose_recipe select finish
#d-i partman/confirm boolean true
#d-i partman/confirm_nooverwrite boolean true
#d-i partman/mount_style select uuid
# If you just want to change the default filesystem from ext3 to something
# else, you can do that without providing a full recipe.
# d-i partman/default_filesystem string ext4

# root account and password
#d-i passwd/root-login boolean true
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password $default_password_crypted



d-i passwd/make-user boolean true
d-i passwd/user-fullname  string ubuntu
d-i passwd/username       string ubuntu
d-i passwd/user-password-crypted password $default_password_crypted

# skip creation of a normal user account.
#d-i passwd/make-user boolean false
#d-i passwd/make-user boolean true
#d-i passwd/user-fullname string ubuntu
#d-i passwd/username string ubuntu
#d-i passwd/user-password password $default_password_crypted
#d-i passwd/user-password-again password $default_password_crypted
#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


# You can choose to install restricted and universe software, or to install
# software from the backports repository.
#d-i apt-setup/restricted boolean true
#d-i apt-setup/universe boolean true
#d-i apt-setup/backports boolean false

# Uncomment this if you don't want to use a network mirror.
# d-i apt-setup/use_mirror boolean false

# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
# d-i apt-setup/services-select multiselect security
#d-i apt-setup/services-select multiselect none
# d-i apt-setup/security_host string security.ubuntu.com
# d-i apt-setup/security_path string /ubuntu

$SNIPPET('preseed_apt_repo_config')

# Enable deb-src lines
# d-i apt-setup/local0/source boolean true

# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out
# d-i apt-setup/local0/key string http://local.server/key

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
# d-i debian-installer/allow_unauthenticated boolean true

# Package selection
# Default for minimal
tasksel tasksel/first multiselect standard
# Default for server
# tasksel tasksel/first multiselect standard, web-server
# Default for gnome-desktop
# tasksel tasksel/first multiselect standard, gnome-desktop

# Individual additional packages to install
# wget is REQUIRED otherwise quite a few things won't work
# later in the build (like late-command scripts)
#d-i pkgsel/include string ntp ssh wget
d-i pkgsel/include string   ssh wget
#d-i pkgsel/include string openssh-server wget


# Debian needs this for the installer to avoid any question for grub
# Please verify that it suit your needs as it may overwrite any usb stick
#if $breed == "debian"
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/bootdev string default
#end if

# Use the following option to add additional boot parameters for the
# installed system (if supported by the bootloader installer).
# Note: options passed to the installer will be added automatically.
d-i debian-installer/add-kernel-opts string $kernel_options_post

# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note

## Figure out if we're kickstarting a system or a profile
#if $getVar('system_name','') != ''
#set $what = "system"
#else
#set $what = "profile"
#end if

# This first command is run as early as possible, just after preseeding is read.
# d-i preseed/early_command string [command]
d-i preseed/early_command string wget -O- \
   http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_early_default | \
   /bin/sh -s


#d-i preseed/early_command string hostnamectl set-hostname ubuntu |  /bin/sh -s
# This command is run immediately before the partitioner starts. It may be
# useful to apply dynamic partitioner preseeding that depends on the state
# of the disks (which may not be visible when preseed/early_command runs).
# d-i partman/early_command \
#       string debconf-set partman-auto/disk "\$(list-devices disk | head -n1)"

# 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.
# d-i preseed/late_command string [command]
d-i preseed/late_command string wget -O- \
   http://$http_server/cblr/svc/op/script/$what/$name/?script=preseed_late_default | \
   chroot /target /bin/sh -s


#d-i preseed/late_command string hostnamectl set-hostname ubuntu |  /bin/sh -s

上传iso镜像,挂载/mnt下,导入文件内容到cobbler中

[root@localhost ~]# mount ubuntu-18.04.5-server-amd64.iso   /mnt/
[root@localhost ~]# cobbler  import --path=/mnt/  --name=Ubuntu-18.04.3  --arch=x86_64  --kickstart=/var/lib/cobbler/kickstarts/ubuntu18.seed

查看cobbler的相关信息,发现ubuntu18.04导入是两个Ubuntu-18.04.3-x86_64、Ubuntu-18.04.3-hwe-x86_64

[root@localhost ~]# cobbler list
distros:
   Ubuntu-18.04.3-hwe-x86_64
   Ubuntu-18.04.3-x86_64

profiles:
   Ubuntu-18.04.3-hwe-x86_64
   Ubuntu-18.04.3-x86_64

systems:

repos:
   Ubuntu-18.04.3-hwe-x86_64
   Ubuntu-18.04.3-x86_64

images:

mgmtclasses:

packages:

files:

4.状态检查

查看镜像相关的seed或cfg自动化引导安装文件

[root@localhost kickstarts]# cobbler profile report
Name                           : Ubuntu-17-x86_64
..........
Kickstart                      : /var/lib/cobbler/kickstarts/ubuntu.seed
..........

Name                           : Ubuntu-18.04.3-x86_64
..........
Kickstart                      : /var/lib/cobbler/kickstarts/ubuntu18.seed
..........

Name                           : Centos-7-x86_64
..........
Kickstart                      : /var/lib/cobbler/kickstarts/CentOS7.cfg
..........

Name                           : Ubuntu-18.04.3-hwe-x86_64
..........
Kickstart                      : /var/lib/cobbler/kickstarts/ubuntu18.seed
..........

以下有此两个信息检查信息提示,不必在意

The following are potential configuration items that you may want to fix:

1 : One or more repos need to be processed by cobbler reposync for the first time before kickstarting against them: Ubuntu-18.04.3-x86_64, Ubuntu-18.04.3-hwe-x86_64
2 : 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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署安装cobbler,实现批量安装CentOS7、Ubuntu17.04、Ubuntu18.04(快捷版) 的相关文章

  • InfluxDB和IotDB介绍与性能对比

    InfluxDB简介 InfluxDB 是用Go语言编写的一个开源分布式时序 事件和指标数据库 xff0c 无需外部依赖 用于存储和分析时间序列数据的开源数据库 适合存储设备性能 日志 物联网传感器等带时间戳的数据 其设计目标是实现分布式和
  • CVSNT SERVER Configuration

    title CVSNT SERVER Configuration 64 author H819 64 version 0 5 Copyright free reference note author name and the article
  • JavaScript高级使用(对象、BOM、封装)

    JavaScript高级 今天给大家介绍以下几个内容 xff1a JavaScript 面向对象JavaScript 内置对象JavaScript BOMJavaScript 封装 JavaScript面向对象 其实JavaScript中的
  • Python函数(函数定义、函数调用)用法详解

    Python 中 xff0c 函数的应用非常广泛 xff0c 前面章节中我们已经接触过多个函数 xff0c 比如 input print range len 函数等等 xff0c 这些都是 Python 的内置函数 xff0c 可以直接使用
  • zsh配置

    原本用WindTerm 43 bash xff0c WindTerm提供了高亮 自动记忆补全等功能 xff0c 基本上也够用 WindTerm还是比较早期阶段 xff0c 功能细节上还有待完善 xff0c 稳定性方面也有些小问题 比如用vi
  • Android CHRE (Context Hub Runtime Environment)简介

    当前的ARM处理的多个核心 xff0c Android系统运行在速度最快的大核上 xff0c 通常叫AP xff08 Application Processor xff09 AP主要为性能 体验优化 xff0c 相对来说能耗高 处理器中还有
  • Docker pull 命令

    Docker pull 命令 Docker 命令大全 docker pull 从镜像仓库中拉取或者更新指定镜像 语法 docker pull OPTIONS NAME TAG 64 DIGEST OPTIONS说明 xff1a a 拉取所有
  • strrchr函数的实现

    lt span style 61 34 font size 18px 34 gt include lt stdio h gt include lt string h gt char strrchr char const s1 int ch
  • UCOSIII概述

    又给自己挖了一个小坑 xff0c 今天开始学习UCOS xff0c 本篇文章只是作为学习笔记 xff0c 并不是什么教程 文章目录 序言源码概览配置文件UCOSIII与移植相关代码文件UCOS与CPU相关代码文件UCOSIII库文件UCOS
  • UCOSIII中的消息传递

    文章目录 序言什么是消息队列消息队列相关函数OSQCreate OSQPend OSQPost 消息队列实验总结 序言 前面我们介绍了信号量 xff0c 通过信号量我们能够解决优先级反转 xff0c 资源共享冲突等问题 xff0c 但是我们
  • Qt之可视化QSS生成器(初探)

    简述 QSS是Qt的样式表 xff0c 类似于CSS xff0c 目前主要支持CSS2 写代码调样式非常不直观 xff0c 因此需要一个所见即所得的可视化样式生成器 xff0c 网上有很多CSS样式生成器 xff0c 最适合网页开发人员的1
  • 【秒懂音视频开发】26_RTMP服务器搭建

    流媒体 基本概念 流媒体 xff08 Streaming media xff09 xff0c 也叫做 xff1a 流式媒体 是指将一连串的多媒体数据压缩后 xff0c 经过互联网分段发送数据 xff0c 在互联网上即时传输影音以供观赏的一种
  • 论文笔记之PPDM(Parallel Point Detection and Matching for Real-time Human-Object Interaction Detection)

    分为两分支 xff0c 一个用于点 xff08 人 物 交互三个点 xff09 检测 xff0c 一个用于点匹配 xff0c 达到了实时的效果 CVPR2020接收 论文地址 xff1a https arxiv org pdf 1912 1
  • FFmpeg入门 - rtmp推流

    FFmpeg入门 视频播放 音视频开发老马的博客 CSDN博客介绍了怎样用ffmpeg去播放视频 里面用于打开视频流的avformat open input函数除了打开本地视频之外 实际上也能打开rtmp协议的远程视频 实现拉流 demo
  • C/C++音视频高级开发 FFmpeg编程入门

    1 播放器框架 1 1常用音视频术语 容器 xff0f 文件 xff08 Conainer File xff09 xff1a 即特定格式的多媒体文件 xff0c 比如mp4 flv mkv等 媒体流 xff08 Stream xff09 x
  • 在vs code中调试编译有多个.c或.cpp文件的项目,报错undefined reference to “xxx“(cJSON小项目为例)

    项目下载链接 xff1a https sourceforge net projects cjson 项目主要文件 xff1a cJSON c cJSON h test c 问题点 xff1a 有完整的头文件但编译时找不到 xff0c 一直报
  • LSTM网络中各层解读

    构建深度神经网络最关键的部分之一是 当数据流经不同的层时 xff0c 要对其有一个清晰的视图 xff0c 这些层经历了维度的变化 形状的改变 扁平化和重新塑造 结构顺序 每层解读 xff1a 把单词变为tokens xff1b embedd
  • Pytorch安装过程中遇到的失败

    conda 进入虚拟环境 xff1a 1 conda 命令行安装 conda install pytorch torchvision cudatoolkit 61 10 2 c pytorch 但出现以下错误 错误原因 xff1a 1 问题
  • RuntimeError: Cannot initialize CUDA without ATen_cuda library.

    RuntimeError Cannot initialize CUDA without ATen cuda library PyTorch splits its backend into two shared libraries a CPU
  • CUDA安装成功后配置环境变量

    图森未来 2021届 提前批 岗位 图森未来 自动驾驶2021届 提前批 内推 xff1a 投递方式 配置环境变量 xff08 安装成功时 xff0c 有提示的相应地址 xff09 官方上面是直接输入 但是我觉着在 etc profile

随机推荐