自动化运维-批量安装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操作系统 的相关文章

  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 执行“minikube start”命令时出现问题

    malik malik minikube start minikube v1 12 0 on Ubuntu 18 04 Using the docker driver based on existing profile Starting c
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进

随机推荐

  • 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