自动化运维-批量安装Linux操作系统

2023-05-16

自动化运维-批量安装Linux操作系统

  • 1 背景
  • 2 Cobbler基础
    • 2.1 Cobbler介绍
    • 2.2 Cobbler服务
  • 3 系统环境
    • 3.1 系统环境
    • 3.2 网络环境
      • 3.2.1 实体机网络设置
      • 3.2.2 虚拟机网络设置
        • 3.2.2.1 VMware网络设置
        • 3.2.2.2 Virtualbox网络设置
  • 4 Cobbler安装配置
    • 4.1 Cobbler安装
    • 4.2 Cobbler 配置
    • 4.3 Cobbler导入镜像
      • 4.3.1 下载镜像
      • 4.3.2 挂载镜像
      • 4.3.3 导入镜像
      • 4.3.4 检查导入镜像
      • 4.3.5 编写配置文件
      • 4.3.6 同步配置信息
  • 5 批量安装操作系统
    • 5.1 虚拟机安装
    • 5.2 实体机安装
      • 5.2.1 安装ipmitool工具
    • 5.3 开机设置
      • 5.3.1 virtualbox设置
      • 5.3.2 实体机设置
  • 6 参考

1 背景

随着项目的推进和展开,项目到了服务器操作系统部署这个环节,客户选择对目前现有的20台服务器利旧使用,服务器操作系统的部署成了摆在眼前的一道无法绕过的问题。
能想到的三种方式:
单机部署: 适合3台服务器以下,
批量话部署:规模化、自动化、远程实现、3台服务器以上
虚拟化部署:降低能耗、节省空间、节约成本、提高基础架构利用率、提高稳定性、减少宕机、提高灵活性。
以上只是个人的观点,客户对部署没有太多要求,通过跟项目组沟通后,按第二种批量部署开干,选型上使用PXE方式,工具使用Cobbler工具安装

2 Cobbler基础

2.1 Cobbler介绍

Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。

Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。

Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。

Cobbler官网:https://fedorahosted.org/cobbler/

2.2 Cobbler服务

  • PXE服务支持
  • DHCP服务管理
  • DNS服务管理(可选bind,dnsmasq)
  • 电源管理
  • Kickstart服务支持
  • YUM仓库管理
  • TFTP(PXE启动时需要)
  • Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

3 系统环境

3.1 系统环境

[root@devops ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

3.2 网络环境

3.2.1 实体机网络设置

1、实体服务器接入没有划分VLAN的交换机上进行操作

3.2.2 虚拟机网络设置

虚拟机网卡采用NAT模式,不要使用桥接模式,因为稍后我们会搭建DHCP服务器,在同一局域网多个DHCP服务会有冲突。

3.2.2.1 VMware网络设置

VMware的NAT模式的dhcp服务也关闭,避免干扰。
在这里插入图片描述

3.2.2.2 Virtualbox网络设置

Virtualbox安装网络设置如下:
批量安装服务器设置
网络设置
在这里插入图片描述

4 Cobbler安装配置

4.1 Cobbler安装

具备互联网接入直接运行yum命令,不具备互联网接入的话,搭建yum源服务器。

yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd python-ctypes tftp lrzsz vim wget

关闭SELinux

# 关闭
[root@devops ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
[root@devops ~]# reboot

设置完毕后,重启服务器生效

开始启动服务

systemctl start httpd
systemctl start cobblerd

查看cobbler

cobbler check

配置文件说明

[root@devops ~]# rpm -ql cobbler  # 查看安装的文件,下面列出部分。
/etc/cobbler                  # 配置文件目录
/etc/cobbler/settings           # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。
/etc/cobbler/dhcp.template      # DHCP服务的配置模板
/etc/cobbler/tftpd.template     # tftp服务的配置模板
/etc/cobbler/rsync.template     # rsync服务的配置模板
/etc/cobbler/iso                # iso模板配置文件目录
/etc/cobbler/pxe                # pxe模板文件目录
/etc/cobbler/power              # 电源的配置文件目录
/etc/cobbler/users.conf         # Web服务授权配置文件
/etc/cobbler/users.digest       # 用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template   # DNS服务的配置模板
/etc/cobbler/modules.conf       # Cobbler模块配置文件
/var/lib/cobbler                # Cobbler数据目录
/var/lib/cobbler/config         # 配置文件
/var/lib/cobbler/kickstarts     # 默认存放kickstart文件
/var/lib/cobbler/loaders        # 存放的各种引导程序
/var/www/cobbler                # 系统安装镜像目录
/var/www/cobbler/ks_mirror      # 导入的系统镜像列表
/var/www/cobbler/images         # 导入的系统镜像启动文件
/var/www/cobbler/repo_mirror    # yum源存储目录
/var/log/cobbler                # 日志目录
/var/log/cobbler/install.log    # 客户端系统安装日志
/var/log/cobbler/cobbler.log    # cobbler日志

4.2 Cobbler 配置

修改常见配置文件,查看本地IP地址将ip地址写入如下文件
ip addr
在这里插入图片描述
修改配置文件

IPADDR=192.168.1.10
sed -i 's/server: 127.0.0.1/server: '${IPADDR}'/' /etc/cobbler/settings && grep "server: ${IPADDR}" /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: '${IPADDR}'/' /etc/cobbler/settings && grep "next_server: ${IPADDR}" /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings && grep 'manage_dhcp: 1' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings && grep 'pxe_just_once: 1' /etc/cobbler/settings
sed -i "s#manage_rsync: 0#manage_rsync: 1#g"  /etc/cobbler/settings && grep "manage_rsync: 1" /etc/cobbler/settings

设置批量安装的服务器的root密码

# 生产密钥方式 - 以654321为例
[root@devops ~]# openssl passwd -1 -salt 'root' '654321'
[root@devops ~]# default_password_crypted: "$1$root$Js1erquGbefP5iwCuWmEh/"
# 修改默认密码 default_password_crypted
[root@devops ~]# vim /etc/cobbler/settings
#最终修改的结果
default_password_crypted: "$1$root$Js1erquGbefP5iwCuWmEh/"

安装bobbler-get-loaders文件
下载[cobbler-get-loaders](链接: https://pan.baidu.com/s/12nYtI4h9fjScRnnqFjIB9g?pwd=uew4)离线安装包
将离线安装包上传至服务器的/var/lib/cobblers/loaders/目录

cd /var/lib/cobbler/loaders/
tar xf cobbler-get-loaders.tar.gz
mv cobbler-get-loaders/* .
rm -fr cobbler-get-loaders cobbler-get-loaders.tar.gz

修改tftp参数

[root@devops loaders]# vi /etc/xinetd.d/tftp
        disable                 = no

重启服务

systemctl restart xinetd
systemctl restart cobblerd
systemctl enable rsyncd.service
systemctl start rsyncd.service

配置DHCP
根据自身的网络设置。

# 修改cobbler的dhcp模版,不要直接修改dhcp本身的配置文件,因为cobbler会覆盖。
[root@devops ~]# vim /etc/cobbler/dhcp.template
subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             192.168.1.1;
     option domain-name-servers 192.168.1.1;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.1.250 192.168.1.254;

同步Cobbler配置信息

# 同步最新cobbler配置,它会根据配置自动修改dhcp等服务。
[root@devops ~]# cobbler sync   # 同步所有配置,可以仔细看一下sync做了什么。
task started: 2015-12-03_204822_sync
task started (id=Sync, time=Thu Dec  3 20:48:22 2015)
running pre-sync triggers
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***

设置开机启动

systemctl enable httpd
systemctl enable xinetd
systemctl enable cobblerd
systemctl enable dhcpd
systemctl enable rsyncd
systemctl enable tftp

systemctl start httpd
systemctl start xinetd
systemctl start cobblerd
systemctl start dhcpd
systemctl start rsyncd
systemctl start tftp

查看服务器状态

systemctl status httpd
systemctl status xinetd
systemctl status cobblerd
systemctl status dhcpd
systemctl status rsyncd
systemctl status tftp

关闭防火墙
本人不建议关闭防火墙,针对具体端口开放即可,由于是局域网临时装机,故采取懒人安装方法直接关闭防火墙

[root@devops ~]# systemctl stop firewalld

浏览器中输入信息查看
http://192.168.1.10/
在这里插入图片描述
查看cobbler
http://192.168.1.10/cobbler/
在这里插入图片描述

4.3 Cobbler导入镜像

4.3.1 下载镜像

官网下载 对应的镜像 下载centos minimal镜像,本次部署的为CentOS7.9

4.3.2 挂载镜像

将下载的镜像传入服务器

# 挂载
[root@devops ~]# mount CentOS-7-x86_64-Minimal-2009.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only

4.3.3 导入镜像

cobbler import --path=/mnt/ --name=CentOS-7.9-x86_64 --arch=x86_64

# --path 镜像路径
# --name 为安装源定义一个名字
# --arch 指定安装源是32位、64位、ia64, 目前支持的选项有: x86│x86_64│ia64
# 安装源的唯一标示就是根据name参数来定义,本例导入成功后,安装源的唯一标示就是:CentOS-7.6-x86_64,如果重复,系统会提示导入失败。
# 镜像存放目录,cobbler会将镜像中的所有安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirror下的CentOS-7.1-x86_64目录下。因此/var/www/cobbler目录必须具有足够容纳安装文件的空间。

4.3.4 检查导入镜像

[root@devops ~]# ls -l /var/www/cobbler/ks_mirror/
total 0
drwxr-xr-x  8 root root 254 Nov  3  2020 CentOS-7.9-x86_64
drwxr-xr-x. 2 root root  36 Nov  6 18:23 config
[root@devops ~]# ls /var/www/cobbler/ks_mirror/CentOS-7.9-x86_64/
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
[root@devops ~]# 

4.3.5 编写配置文件

[root@devops ~]# cd /var/lib/cobbler/kickstarts/
[root@devops ~]# vim centos-7.9-x86_64.cfg 
# Cobbler for Kickstart Configurator for CentOS 7.6
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw  --iscrypted $default_password_crypted
clearpart --all --initlabel
part / --fstype xfs --size 51200 --ondisk=sda
part /var --fstype xfs --size 1 --grow --ondisk=sda
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
poweroff
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end
%packages
@^minimal
@core
kexec-tools
%end
%post
systemctl disable postfix.service
%end

编辑profile,修改关联的ks文件

cobbler profile edit --name=CentOS-7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7.9-x86_64.cfg 

查看关联配置

[root@devops ~

> 这里是引用

]# cobbler profile report --name=CentOS-7.9-x86_64
Name                           : CentOS-7.9-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : CentOS-7.9-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/centos-7.9-x86_64.cfg
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

查看ks文件信息

[root@devops ~]# cobbler list
distros:
   CentOS-7.9-x86_64
profiles:
   CentOS-7.9-x86_64

调整内核参数
如果是虚拟机配置此处更改,如果是实体机则忽略此处。

[root@devops ~]# cobbler profile edit --name=CentOS-7.9-x86_64 --kopts='net.ifnames=0 biosdevname=0'
[root@devops ~]# cobbler profile report CentOS-7.9-x86_64
Name                           : CentOS-7.9-x86_64
TFTP Boot Files                : {}
Distribution                   : CentOS-7.9-x86_64
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

4.3.6 同步配置信息

[root@devops ~]# cobbler sync
received on stderr: 
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***

5 批量安装操作系统

批量安装分为虚拟机的批量安装和实体机的安装

5.1 虚拟机安装

virtualbox虚拟机设置
创建虚拟机,启动顺序选择网络为第一启动顺序
在这里插入图片描述

启动虚拟机,选中第二个CentOS-7.9-x86_64,回车确认。
在这里插入图片描述
接下来开始自动化安装
在这里插入图片描述

5.2 实体机安装

实体机安装需要用到ipmitools工具

5.2.1 安装ipmitool工具

\cp ipmitool /usr/bin/ipmitool
chmod +x /usr/bin/ipmitool
modprobe ipmi_watchdog ; modprobe ipmi_poweroff ; modprobe ipmi_devintf ; modprobe ipmi_si 
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 power status

设置服务器从pxe启动
ipmitool -I lanplus -H 10.254.178.91 -U test -P 654321 chassis bootdev pxe
ipmitool -I lanplus -H 10.254.178.91 -U test -P 654321 power reset

参考上面的命令设置为pex启动,进行装机,
在这里插入图片描述
开始自动化安装
在这里插入图片描述

安装完毕服务器会关机。

5.3 开机设置

服务器开机,开机需要将服务器的启动方式设置为硬盘启动,如果忘记这一步,就跟会重新来一边。

5.3.1 virtualbox设置

在这里插入图片描述

5.3.2 实体机设置

设置服务器从disk启动
ipmitool -I lanplus -H 10.254.178.91 -U test -P 654321 power on ; sleep 5
ipmitool -I lanplus -H 10.254.178.91 -U test -P 654321 chassis bootdev disk
ipmitool -I lanplus -H 10.254.178.91 -U test -P 654321 power reset

启动后界面信息如下。
在这里插入图片描述
以上为自动化批量安装操作系统的步骤。

6 参考

Chrising的运维知识体系

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化运维-批量安装Linux操作系统 的相关文章

  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 使用命令行将 MediaWiki 维基文本格式转换为 HTML

    我倾向于编写大量文档 因此 MediaWiki 格式对我来说很容易理解 而且比编写传统 HTML 节省了我很多时间 然而 我也写了一篇博客 发现一直从键盘切换到鼠标来输入正确的 HTML 标签会增加很多时间 我希望能够使用 Mediawik
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 为 Linux 安装 R 包时出错

    我试图在 R 3 3 上安装一个名为 rgeos 的包 但是当我输入 install packages rgeos 但它返回给我以下错误 其他包也会发生同样的情况 但不是所有包 gt installing source package rg
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • InstaPy:“错误,无法确定 64 位 Linux 的正确文件名”

    有人知道如何解决或解决这个问题吗 来自控制台的堆栈跟踪 执行后报告错误 InstaPy Version 0 6 9 Workspace in use home zanettra InstaPy Error unable to determi
  • gentoo crontab:为什么这个简单的 crontab 不起作用?

    我使用 GENTOO 发行版 crontab e 35 12 root php5 home www cron php 当我手动运行时 php5 php5 home www cron php 这有效 它向我发送了一封电子邮件 然后我检查日期
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 如何以编程方式从Linux中的进程名称获取进程ID

    在我的项目中 我们使用 ACE 自适应通信环境 中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码 要求是从进程名称中获取进程 ID 由于 ACE 不支持这一点 因此我们必须使用特定于平台的宏来分离 Window
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构

随机推荐

  • repo拉代码The remote end hung up unexpectedly解决方法

    git config global http lowSpeedLimit 0 git config global http lowSpeedTime 999999
  • AI漫想

    对人工智能一直有一种面对未知的好奇感 xff0c 所以也注意一些最新动态 首先 xff0c 强人工智能会出现 xff0c 或许已经出现 佛教中 色 xff0c 香 xff0c 声 xff0c 味 xff0c 触 xff0c 法 也可以看作我
  • 2014雅虎校招笔试题目

    今天去参加了雅虎的笔试题 xff0c 算是给自己留个记录吧 首先是8个选择题 xff0c 然后2个填空题 选择题不太难 xff0c 也记不大清楚了 填空题为2个概率题 xff0c 1个是2个人在下午2点 3点之间碰面 xff0c 他们出发时
  • 数据库系列-查询性能优化

    一 为什么要优化查询性能 1 因为每一个查询指令都是一个子任务 xff0c 执行每个子任务都需要花费时间 xff0c 优化查询的目的就是减少子任务的数量或者让子任务运行更快 2 查询的生命周期 从客户端到服务器 xff0c 在服务器上解析
  • 配置jenkins过程中Gitee无法添加证书令牌

    配置jenkins过程中Gitee无法添加证书令牌 背景处理步骤 背景 本篇是一个处理过程中的一个环节篇 xff0c 整体的背景为jenkins安装有一段时间了 xff0c 一直没怎么用起来 xff0c 就跟买了辆车一直爬在车库里吃灰 xf
  • ansible 执行命令 FAILED失败

    ansible 执行命令 FAILED失败 背景环境说明排查步骤定位处理步骤验证异常 sudo 需要密码 背景 生产工作需要 xff0c 新增了服务器 xff0c 加入到了ansible的hosts文件 xff0c 使用ad hoc命令执行
  • Windows10 21H2安装docker到非C盘的方法

    C盘就剩下40多G了 默认安装后装了下自己的镜像发现竟然只剩20多G了 太不科学了 而且无法选择安装位置 网上查了下教程也都不是很全 不够详细 下面是我的方法 管理员运行cmd mklink J 34 C Program Files Doc
  • linux 离线安装pymysql

    linux 离线安装pymysql 1 背景1 1 环境说明 2 操作步骤2 1 下载2 2 安装2 2 1 安装setuptools工具2 2 2 安装pymysql库 1 背景 生产服务器为离线局域网服务器 xff0c 维护功能的扩容需
  • linux系统连接windows系统

    linux系统连接windows系统 背景环境思路处理添加 remmina 仓库 背景 远程登录对运维人员来说是一道家常便饭了 xff0c 使用更多的是windows远程登录windows系统 xff0c windows系统登录linux系
  • ansible防火墙firewalld设置

    ansible防火墙firewalld设置 背景需求操作防火墙的开关打开验证 防火墙端口策略打开验证 防火墙服务策略打开验证 背景 防火墙 通过有机结合各类用于安全管理与筛选的软件和硬件设备 xff0c 帮助计算机网络于其内 外网之间构建一
  • linux离线安装软件

    linux离线安装软件 1 背景2 目的3 思路3 1 思路一3 1 1 操作步骤3 1 2 应用场景 xff1a 3 2 思路二3 2 1 操作步骤准备目录下载依赖 3 2 2 应用场景 3 3 思路三3 3 1 下载iso3 3 2 挂
  • 陌生环境下部署的思路

    陌生环境下部署的思路 由来场景一场景二场景三 整体的随想经验 由来 本篇的由来不是来自偶然 xff0c 但是如果说是必然又会显得很唐突 在现场实施部署工作中 xff0c 难免会遇到各种个样 突发 的情况 xff0c 原因不外乎信息的不对称
  • Ubuntu卸载WPS安装Libreoffice

    Ubuntu卸载WPS安装Libreoffice 背景环境卸载WPS安装Libreoffice下载安装卸载 背景 自从2021年10月份安装elementory操作系统以来 xff0c 办公软件一直在使用WPS xff0c 使用上跟wind
  • 我的创作纪念日

    我的创作纪念日 机缘收获日常憧憬 机缘 跟CSDN相识是在十多年前了 xff0c 当时是在上面找资料 xff0c 注册账号是为了下载上面的资源 至于写东西是从2021年开始的 xff0c 与其说是写不如说是记录 xff0c 记录下来工作中用
  • linux 单机部署rabbitmq

    linux 单机部署rabbitmq 背景环境部署下载端口开具erlang安装RabbitMQ安装 背景 rabbitmq 是指在应用间传送的数据 消息可以非常简单 xff0c 比如只包含文本字符串 xff0c 也可以更复杂 xff0c 可
  • linux 服务器时钟同步设置

    linux 服务器时钟同步设置 1 背景2 简介3 环境4 安装及配置5 配置使用5 1 服务端配置5 1 1 修改配置5 1 2 开启同步5 1 3 防火墙策略配置 5 2 客户端配置5 2 1 修改配置5 2 2 开启同步 5 3 ch
  • 电脑安装双系统-linux系统上安装windows系统

    电脑安装双系统 1 背景2 环境3 思路4 操作步骤4 1 安装gparted4 2 设置windows安装驱动器4 3 安装windows10操作系统4 4 设置开机引导 1 背景 电脑安装的elementary OS 5 1 7 基本能
  • MacOS配置iterm2漂亮实用的主题

    效果预览 注意事项 需要oh my zsh请自行安装 安装该主题需要的字体文件 cd git clone https github com powerline fonts git depth 61 1 cd fonts install sh
  • 使用python 将excel中数据批量生成word周报

    使用python 将excel中数据调用word模板批量生成word周报 背景环境功能需求程序实现 背景 日常项目中每周需要召开项目周会 xff0c 会议纪要和会议周报是必不可少的一项内容 xff0c 会议纪要要求监理方会后发送给参会方成员
  • 自动化运维-批量安装Linux操作系统

    自动化运维 批量安装Linux操作系统 1 背景2 Cobbler基础2 1 Cobbler介绍2 2 Cobbler服务 3 系统环境3 1 系统环境3 2 网络环境3 2 1 实体机网络设置3 2 2 虚拟机网络设置3 2 2 1 VM