文章目录
安装
本来Google的方案需要从源码安装,但是尝试了下apt, 发现有现成的包,所以简单太多了 版本太老,有额外的问题要处理.
sudo apt install cobbler cobbler-web
# 安装过程中会让输密码
# 该包是2.6.6版本 有点老,现在来说有好几个bug
# cobbler-web 有bug, 不兼容新的
sudo pip install Django==1.8.9
# 结果输出
Setting up liblwp-protocol-https-perl (6.07-2) ...
Setting up debmirror (1:2.32) ...
Setting up cobbler (2.6.6+dfsg1-13) ...
Considering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
systemctl restart apache2
Module wsgi already enabled
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
ERROR: Module python does not exist!
Enabling site cobbler.
To activate the new configuration, you need to run:
systemctl reload apache2
Created symlink /etc/systemd/system/multi-user.target.wants/cobbler.service → /lib/systemd/system/cobbler.service.
# 在重启前需要配置cobbler
配置
# 配置文件 /etc/cobbler/settings
# 自动化部署系统的密码的哈希, 用下行命令生成
# openssl passwd -1
# $1$j9.kasLF$4v5dJWXMDUmxYTXO9qPiG.
# 密文第一项 1 指hash方式, 第二项 j9.kasLF 指的salt,这样子用以系统判断密码是否正确但是又不存储密码,密码和salt都相同时才能计算出唯一的密文
default_password_crypted: "$1$j9.kasLF$4v5dJWXMDUmxYTXO9qPiG."
# 设置cobbler的ip, 不要设置0.0.0.0,设置一个不隔离广播域的内网ip
server: 192.168.1.2
# 设置的tftp ip,用于下载镜像,通常与上一个一样
next_server: 192.168.1.2
# 是否开启DHCP,0不开启 1开启
# 为了启动 pxe, 需要开启dhcp分发地址 并引导系统 到tftp server下载网络启动文件
manage_dhcp: 1
# 配置DHCP /etc/cobbler/dhcp.template
# 不要修改 next-server 项,该配置会自动从上面拉取变量
# 不要修改 #for dhcp_tag in $dhcp_tags.keys(): 这一行之后的内容
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 114.114.114.114,8.8.8.8;
option subnet-mask 255.255.255.0;
filename "/pxelinux.0";
default-lease-time 2.8.0;
max-lease-time 43200;
next-server $next_server;
}
cobbler 会将 镜像存储到 /var/lib/cobbler/www/cobbler/ks_mirror/下, 注意容量和权限
sudo systemctl enable cobbler
sudo systemctl start cobbler
# 检测 会提示一些操作, 根据需要去做
sudo cobbler check
sudo cobbler sync
# 会发现该指令报错 缺pxelinux.0等一批loaders
Raspberry 安装syslinux
scp CentOS-8.2.2004-x86_64-dvd1.iso pi@x.x.x.x:/home/pi/
ssh pi@x.x.x.x
sudo mount -o loop ~/CentOS-8.2.2004-x86_64-dvd1.iso /media/
sudo cp /media/BaseOS/Packages/syslinux-nonlinux-6.04-4.el8.noarch.rpm /tmp
sudo apt install rpm2cpio
sudo rpm2cpio /tmp/syslinux-nonlinux-6.04-4.el8.noarch.rpm | cpio -idmv
sudo cp /tmp/usr/share/syslinux/* /usr/lib/syslinux/
sudo umount /media
# 现在正常
sudo cobbler sync
导入镜像
# http://mirrors.aliyun.com/centos 下载镜像, 下载minimal版方便测试
sudo mkdir /mnt/centos_mini
sudo mount -t iso9660 -o loop,ro ~/CentOS-8.2.2004-x86_64-dvd1.iso /mnt
sudo cobbler import --name=centos8-mini --arch=x86_64 --path=/mnt/centos_mini
# 出现这个问题
task started: 2020-07-12_041754_import
task started (id=Media import, time=Sun Jul 12 04:17:54 2020)
No signature matched in /var/lib/cobbler/www/cobbler/ks_mirror/centos8-x