首页 > 其他分享 >cobbler学习笔记

cobbler学习笔记

时间:2024-07-25 15:28:47浏览次数:7  
标签:x86 -- 笔记 学习 cobbler var 64 root

介绍

Cobbler is a versatile Linux deployment server
github链接:https://github.com/cobbler/cobbler
官网:https://cobbler.github.io/
文档:https://cobbler.readthedocs.io/en/latest/quickstart-guide.html

cobbler in docker博客:

https://blog.container-solutions.com/cobbler-in-a-docker-container
https://hub.docker.com/r/ethnchao/cobbler
docker pull ethnchao/cobbler

docker run \
-d \
--privileged \
--net host \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-v ./etc/cobbler/settings:/etc/cobbler/settings \
-v ./etc/cobbler/dhcp.template:/etc/cobbler/dhcp.template \
-v ./var/www/cobbler/images:/var/www/cobbler/images \
-v ./var/www/cobbler/ks_mirror:/var/www/cobbler/ks_mirror \
-v ./var/www/cobbler/links:/var/www/cobbler/links \
-v ./var/lib/cobbler/config:/var/lib/cobbler/config \
-v ./var/lib/tftpboot:/var/lib/tftpboot \
-v ./dist/os:/mnt:ro \
-p 69:69 \
-p 80:80 \
-p 443:443 \
-p 25151:25151 \
--name cobbler dockerhub.icu/ethnchao/cobbler

修改配置文件 settings file,
change the value for manage_dhcp to 1
next_server and server variables.

manage_dhcp: 1
next_server: 192.168.39.152
server: 192.168.39.152

修改配置文件 dhcp_template

...
subnet 192.168.39.0 netmask 255.255.255.0 {
     option routers             192.168.39.2;
     option domain-name-servers 192.168.39.2;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.39.200 192.168.39.254;
...

重启容器,访问服务https://192.168.39.152/cobbler_web

挂载镜像到容器内部

sudo mount -t iso9660 -o loop,ro -v ./dist/centos.iso ./dist/os
此时可以查看 ls ./dist/os

ll workerdir/dist/os/
total 117
drwxr-xr-x 8 root root  2048 Apr 22  2020 ./
drwxr-xr-x 4  777 root  4096 Jul 25 11:28 ../
-rw-rw-r-- 2 root root    14 Apr 21  2020 CentOS_BuildTag
-rw-r--r-- 1 root root    29 Apr 21  2020 .discinfo
drwxr-xr-x 3 root root  2048 Apr 21  2020 EFI/
-rw-rw-r-- 3 root root   227 Aug 30  2017 EULA
-rw-rw-r-- 3 root root 18009 Dec 10  2015 GPL
drwxr-xr-x 3 root root  2048 Apr 21  2020 images/
drwxr-xr-x 2 root root  2048 Apr 21  2020 isolinux/
drwxr-xr-x 2 root root  2048 Apr 21  2020 LiveOS/
drwxr-xr-x 2 root root 73728 Apr 22  2020 Packages/
drwxrwxr-x 2 root root  4096 Apr 22  2020 repodata/
-rw-rw-r-- 3 root root  1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 3 root root  1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root  2883 Apr 22  2020 TRANS.TBL
-rw-r--r-- 1 root root   353 Apr 21  2020 .treeinfo

会多出一堆东西,这就是安装操作系统需要用到的,-t iso9660 应该是相当于刻盘工具,后期可以研究下这个选项

此时容器内部的/mnt识别不到新生成的文件,需要重启下容器再执行命令

docker restart cobbler
docker exec -it cobbler cobbler import --name=centos7 --arch=x86_64 --path=/mnt

这里又会报奇怪的错误,

task started: 2024-07-25_113952_import
task started (id=Media import, time=Thu Jul 25 11:39:52 2024)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/centos7-x86_64:
creating new distro: centos7-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos7-x86_64 -> /var/www/cobbler/links/centos7-x86_64
creating new profile: centos7-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos7-x86_64 for centos7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos7-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/centos7-x86_64
looking for /var/www/cobbler/ks_mirror/centos7-x86_64/repodata/*comps*.xml
error launching createrepo (not installed?), ignoring
Exception occured: <type 'exceptions.IOError'>
Exception value: [Errno 2] No such file or directory: '/var/www/cobbler/ks_mirror/config/centos7-x86_64.repo'
Exception Info:
  File "/usr/lib/python2.7/site-packages/cobbler/modules/manage_import_signatures.py", line 599, in yum_process_comps_file
    config_file = open(fname, "w+")

*** TASK COMPLETE ***

GPT说需要安装一个包

替换为国内源 centos
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum repolist

安装repo包
yum install -y createrepo

接下来需要删除刚才导入的,重新导入

docker exec -it cobbler cobbler distro list
docker exec -it cobbler cobbler distro remove --name=centos7-x86_64
docker exec -it cobbler cobbler profile remove --name=centos7-x86_64

docker exec -it cobbler cobbler import --name=centos7 --arch=x86_64 --path=/mnt
装完还是报错,需要手动创建

docker exec -it cobbler bash -c 'mkdir -p /var/www/cobbler/ks_mirror/config'
docker exec -it cobbler bash -c 'cat < /var/www/cobbler/ks_mirror/config/centos7-x86_64.repo
[centos7-x86_64]
name=CentOS 7 x86_64
baseurl=file:///var/www/cobbler/ks_mirror/centos7-x86_64
enabled=1
gpgcheck=0
EOF'

或者手动创建
createrepo /var/www/cobbler/ks_mirror/centos7-x86_64
cobbler check
cobbler sync



### centos自动安装遇到奇怪的错误

An unknown error has occurredanaconda 21.48.22.158-1 exception reportTraceback (most recent call first):File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py", line 1283, in _selectYumGroupl raise NoSuchGroup(groupid, required=required)File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py", line 1396, in _applyYumSelectionsl self. selectYumGroup("core")File "/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py", line 1454, in checkSoftuareSelectionl self._applyYumSelections()File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/spokes/software.py", line 238, in checkSoftwareSelectionl self.payload.checkSoftwareSelection()File "/usr/lib64/python2.7/threading.py", line 765, in runself._target(*self. _args, *self._kwargs)File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 227, in run threading.Thread.run(self, wargs, kwargs)File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 92, in get self.raise_if_error(name)File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/spokes/source.py", line 256, in readyl not threadMgr.get(THREAD_CHECK_SOFTWARE))File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/hubs/summary.py", line 54, in l while not all(spoke. ready for spoke in spokes):File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/hubs/summary.py", line 54, in setupl while not all(spoke. ready for spoke in spokes):File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/init.py", line 171, in setupl should_schedule = ob.j.setup(self.ENUIRONMENT)File "/sbin/anaconda", line 1374, in anaconda._intf.setup(ksdata)NoSuchGroup: coreWhat do you want to do now?1) Report Bug3) Quit2) DebugPlease make your choice from above: 2Entering debugger... Use 'continue' command to quit the debugger and get back to the main windowl>/usr/lib64/python2.7/site-packages/pyanaconda/packaging/yumpayload.py(1283)_selectYumGroup()l-> raise NoSuchGroup(groupid, required=required)(Pdb)[anaconda] 1:main 2:shell 3:log 4:storage-log 5:program-logSwitch tab: Alt+Tab i Help: F1



操作ubuntu记录

umount ./dist/os
sudo mount -t iso9660 -o loop,ro -v ./dist/ubuntu.iso ./dist/os
docker restart cobbler
docker exec -it cobbler cobbler import --name=ubuntu2004 --arch=x86_64 --path=/mnt


ubuntu报错记录
1. 解决办法
更新签名
cobbler signature update

received on stderr:
running: /usr/bin/file /var/www/cobbler/ks_mirror/ubuntu2004--arch=x86_64/dists/focal/restricted/binary-amd64/Release
received on stdout: /var/www/cobbler/ks_mirror/ubuntu2004--arch=x86_64/dists/focal/restricted/binary-amd64/Release: ASCII text

received on stderr:
running: /usr/bin/file /var/www/cobbler/ks_mirror/ubuntu2004--arch=x86_64/dists/focal/restricted/binary-i386/Release
received on stdout: /var/www/cobbler/ks_mirror/ubuntu2004--arch=x86_64/dists/focal/restricted/binary-i386/Release: ASCII text

received on stderr:
No signature matched in /var/www/cobbler/ks_mirror/ubuntu2004--arch=x86_64
!!! TASK FAILED !!!



### ubuntu安装cobbler具体步骤

参考链接:
https://cobbler.readthedocs.io/en/latest/installation-guide.html








### pxe再ubuntu系统上安装ubuntu2204
https://linux.cn/article-13693-1.html

标签:x86,--,笔记,学习,cobbler,var,64,root
From: https://www.cnblogs.com/jasmine456/p/18322375

相关文章

  • 【学习笔记】构造函数、原型对象、原型链
    在JavaScript中,每个对象都有一个原型对象,原型对象也是一个对象,它包含了对象的共享属性和方法。每个构造函数(除了箭头函数)都有一个prototype属性,该属性指向构造函数的原型对象。当我们使用构造函数创建一个新对象时,该对象会继承构造函数的原型对象中的属性和方法,这种继承关系......
  • PostgreSQL学习笔记----GUC机制
    GUC介绍在守护进程Postmaster初始化内存环境之后,需要配置Postmaster运行时所需的各种参数。GUC(GrandUnifedConfiguralion)模块实现了多种数据类型(目前有boolean、int、real、string、enum五种)的变量配置。这些参数可能会由不同的进程在不同的时机进行配置,系统会根据......
  • GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图
    原文链接:GPT办公与科研应用、论文撰写、数据分析、机器学习、深度学习及AI绘图https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247610183&idx=4&sn=8fd5a5fe6666f822884bdeff0f4d6467&chksm=fa826ea0cdf5e7b679efdfb099c02b2b24a58d815a7e86b13760a9a35c6bc4481a4106......
  • 【学习笔记】倍增
    【学习笔记】倍增倍增法,顾名思义就是翻倍。它能够使线性的处理转化为对数级的处理,大大地优化时间复杂度。ST表RMQ是RangeMaximum/MinimumQuery的缩写,表示区间最大(最小)值。而ST表是用于解决可重复贡献问题的数据结构。记\(f(l,r)\)为\([l,r]\)这个区间的答案,可重......
  • 今天开始学习 虚幻五 下载安装 创建第一个项目
    首先需要下载EpicGames(这不是一个和steam类似的游戏平台吗?) 在这里实现下载下面需配置vs 选择C++游戏开发勾选上UnrealEngine安装程序和支持预览 打开编译器 选择游戏第三人称游戏C++项目位置和项目名称必须是英文不能包含中文这样就创建好了第一个项目......
  • java学习4
    我感觉我这一个月学下来就是在闭门造车,网上找的学习路线,以及一些学习建议,或者说抄项目去学习就好像自己在迷雾中探索一样看不清方向这周我和上周一样,打算通过从网上抄项目进行结构化学习。但实际上不过是把代码抄过来而已如果没有人去指导,没有人告诉我,这个代码为什么要这样写,什......
  • 从零开始学习机器学习,掌握AI未来的关键!
    从零开始学习机器学习1.介绍1.1人工智能(AI)概述1.2机器学习在人工智能中的应用1.3机器学习基础概念2.监督学习2.1什么是监督学习2.2回归分析2.3分类问题2.4模型评估和选择3.无监督学习3.1什么是无监督学习3.2聚类算法3.3降维技术4.深度学习4.1神经网络......
  • 硬件开发笔记(二十八):TPS54331电源设计(一):5V电源供电原理图设计
    前言  电源供电电路设计很重要,为了更好的给对硬件设计有需求的人,特意将电源设计的基础过程描述出来。  本篇描述设计常用的12V转5V电路3A。 TPS54331(DC-DC稳压器)概述  TPS54331器件是一款28V、3A非同步降压转换器,集成有一个低RDS(on)的高侧MOSFET。为了提......
  • Tarjan(连通性相关) 笔记
    概念点(vertex)、边(edge)无向图中若图中存在两点可以到达,则称这两个点是连通的(connected)若图中任意两点都连通,则称该无向图为连通图(connectedgraph)若图\(G\)中存在一个连通子图\(H\)(\(H\subseteqG\)),没有严格更大的连通子图\(I\)使\(H\varsubsetneqqI\),则称\(H\)......
  • 基于springboot+vue.js+uniapp的小程序的英语学习交流平台附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaits系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......