树莓派 配置 cobbler

安装

本来Google的方案需要从源码安装,但是尝试了下apt, 发现有现成的包,所以简单太多了 版本太老,有额外的问题要处理.

sudo apt install cobbler cobbler-web
# 安装过程中会让输密码
# 该包是2.6.6版本 有点老,现在来说有好几个bug
# cobbler-web 有bug, 不兼容新的
sudo pip install Django==1.8.9

image-20200712010915940

# 结果输出
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
<think>好的,我现在需要帮助用户解决在Rocky Linux 9.3上配置Cobbler的问题。首先,我得回想一下Cobbler的基本概念和安装步骤。Cobbler是一个用于自动化系统安装的工具,可以管理DHCP、TFTP和DNS等服务,简化了网络安装流程。 用户提到的是Rocky Linux 9.3,这个版本可能和之前的版本有些不同,我需要确认相关的软件包和依赖是否可用。Rocky Linux属于RHEL系,所以应该使用yum或dnf来安装软件包。首先需要安装EPEL仓库,因为Cobbler可能在EPEL中提供。 接下来,安装Cobbler本身以及相关的组件,比如dhcp、tftp-server、httpd等。安装完成后,需要配置各个服务。比如DHCP的配置,需要指定子网、IP范围、网关等信息。同时,Cobbler配置文件可能在/etc/cobbler/settings里,需要调整server和next_server的IP地址,指向正确的服务器地址。 然后,配置TFTP和HTTP服务,确保它们能够被正确启动并设置开机自启。同步Cobbler的数据,这一步可能会生成必要的启动镜像和配置文件。之后,导入需要安装的ISO镜像,比如Rocky Linux 9.3的ISO文件,这会创建对应的发行版和profile。 在配置过程中,可能会遇到SELinux的问题,需要调整相关策略或者设置权限。另外,防火墙需要开放HTTP、TFTP、DHCP等端口,确保客户端能够访问这些服务。最后,通过cobbler check命令来验证配置是否正确,解决可能出现的警告或错误。 用户可能需要详细的步骤,所以应该分步说明,包括命令和配置文件的具体修改。同时,考虑到用户可能不熟悉某些操作,需要给出示例,比如DHCP配置文件的示例片段,或者如何导入ISO的具体命令。此外,常见问题的处理,比如权限问题或服务启动失败,也应该提及解决方案。 最后,按照用户的要求生成相关问题,可能涉及Cobbler的高级配置、故障排除、与其他工具集成等方面的问题。这些问题需要与Cobbler的使用和优化相关,帮助用户进一步深入学习。 现在需要确保所有步骤在Rocky Linux 9.3上经过验证,如果有不确定的地方,可能需要查阅最新的文档或社区资源。同时,注意命令的正确性,比如使用dnf还是yum,服务管理是用systemctl等等。此外,引用相关的资料,比如官方文档或社区指南,确保回答的可靠性。</think>### 在 Rocky Linux 9.3 上配置 Cobbler 的步骤 #### 1. 安装依赖和 Cobbler ```bash # 启用 EPEL 仓库 sudo dnf install epel-release -y # 安装 Cobbler 及相关组件 sudo dnf install cobbler cobbler-web dhcp tftp-server httpd pykickstart -y # 启动并设置服务自启 sudo systemctl enable --now httpd cobblerd tftp.socket rsyncd ``` #### 2. 配置 Cobbler - **修改主配置文件** `/etc/cobbler/settings`: ```bash server: 192.168.1.100 # Cobbler 服务器 IP next_server: 192.168.1.100 # TFTP 服务器 IP manage_dhcp: 1 # 启用 DHCP 管理 ``` - **生成 Cobbler 默认密码**: ```bash openssl passwd -1 -salt 'cobbler' 'your_password' | tee /etc/cobbler/settings.d/auth.conf ``` #### 3. 配置 DHCP 编辑 `/etc/cobbler/dhcp.template`: ```bash subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option domain-name-servers 8.8.8.8; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.100 192.168.1.200; } ``` #### 4. 同步配置并启动服务 ```bash sudo cobbler get-loaders # 下载 TFTP 引导文件 sudo cobbler sync # 同步配置到服务 sudo systemctl restart cobblerd dhcpd httpd ``` #### 5. 导入系统镜像 ```bash # 挂载 Rocky Linux 9.3 ISO sudo mount -o loop RockyLinux-9.3-x86_64.iso /mnt # 导入镜像到 Cobbler sudo cobbler import --name=rocky9 --arch=x86_64 --path=/mnt # 检查导入结果 sudo cobbler distro list ``` #### 6. 配置防火墙 ```bash sudo firewall-cmd --permanent --add-service={http,https,dhcp,tftp} sudo firewall-cmd --reload ``` #### 7. 验证配置 ```bash sudo cobbler check # 根据提示修复警告(例如 SELinux 策略) ``` [^1]: Cobbler 官方文档建议通过 `cobbler check` 诊断配置完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值