RockyLinux 9 PXE Server bios+uefi 自动化部署 RockLinux 8 9

pxe server 前言

PXE(Preboot eXecution Environment,预启动执行环境)是一种网络启动协议,允许计算机通过网络启动而不是使用本地硬盘。PXE服务器是实现这一功能的服务器,它提供了启动镜像和引导加载程序,使得客户端计算机可以通过网络启动并安装操作系统或运行其他软件。

在Debian系统中,要设置一个PXE服务器,您需要以下几个组件:

  • TFTP服务器:用于提供启动镜像和引导加载程序。
  • DHCP服务器:用于分配IP地址给客户端计算机。
  • NFS或HTTP服务器:用于提供操作系统镜像和其他文件。

在Debian中,可以使用以下软件包来设置PXE服务器:

  • atftpd:一个轻量级的TFTP服务器,可以用于提供启动镜像和引导加载程序。
  • dnsmasq:一个轻量级的DHCP和DNS服务器,可以用于分配IP地址给客户端计算机。
  • nfs-kernel-server:用于提供NFS服务,以便客户端可以访问操作系统镜像和其他文件。

RockyLinux download

  • Rocky Linux Download-CSDN博客

 创建一键部署pxe server 环境脚本

  • pxe server 是RockyLinux 9
  • dhcp /etc/dhcp/dhcpd.conf 配置文件
  • tftp 配置文件/etc/default/tftpd-hpa
  • tftp 69
  • http 配置文件/etc/httpd/conf/httpd.conf
  • /etc/httpd/conf.d/pxeboot.conf 镜像http配置
  • http 端口80
  • /var/lib/tftpboot/pxelinux.cfg/default (bios 支持)配置文件
  • 10-48 行变量内容详细注意,更改自己需要的,自动化脚本仔细看
  • /var/lib/tftpboot/grub.cfg (uefi 支持)配置文件,grub.cfg此处Redhat 系和debian 系不一样哦注意哦
  • rockylinux root密码1234.com
  • LVM 自动分区,默认禁止/home 分区 
  • /var/pxe/{rockylinux8.10,rockylinux9.4} 挂载目录
  • /var/www/html/{rockylinux8.10,rockylinux9.4} images目录
  • /var/www/html/rockylinx_iso 8 9  iso 下载存放目录
  • /var/www/html/rockylinx_cfg{Rockylinux8.10-ks.cfg,Rockylinux9.4-ks.cfg} 自动化编排
  • rockylinux cfg编排参考
  • redhat cfg 编排参考(需要注册redhat 转换登录)
  • PXE网络安装参考,相关配置参考
  • bios 实现自动化安装esxi 需要syslinux官方是指导3.86,Redhat 8 系列下使用此 版本
  • # 加密密码生成
    python -c 'import crypt,getpass; \
    print(crypt.crypt(getpass.getpass(), \
    crypt.mksalt(crypt.METHOD_SHA512)))' 
vim /rockylinux_pxe_server_rockylinx.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: make.han 
# Email: CIASM@CIASM
# Date: 2024/07/24
# rockylinux 8 9 action pxe server
# PXE Redhat rockylinux almalinx oraclelinux 8 9#tftp variable configuration
tftp_port=69
tftp_user=tftp
tftp_catalogue=/var/lib/tftpboot#dhcp ip address variable configuration
nic_network_name=`ifconfig -s | awk 'NR>1 && !/^lo/ && !/^idrac/ && !/^br/ && !/^veth/ && !/^docker/{print $1; exit}'`
host_IP=`ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2}' | awk 'NR==1'`
MASK="255.255.255.0"
BROADCAST_ADDRESS="192.168.11.255"
ROUTERS="192.168.11.1"
SUBNET="192.168.11.0"
DNS="8.8.8.8"
RANGE="192.168.11.50 192.168.11.80"root_password='$6$4QaHWOfkEYxT2Dv6$3h5T/4AT/vkINa.R.9tToEUwro5YqD2UjulKRQ8k8ZMjqJOhib23nZ/fnKKgRh5TRaTg6I1mIa8VWJxmKQR7o0'# apache2 variable configuration
apache_port=80
apache_catalogue=/var/www/html#syslinux variable configuration
syslinux_download_url=https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.07.tar.gz
syslinux_gz=syslinux-4.07.tar.gz
syslinux_catalogue=syslinux-4.07# rockylinx download variable configuration
rockylinux8_download_url=https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.10-x86_64-dvd1.iso
rockylinux9_download_url=https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.4-x86_64-dvd.iso
rockylinux8_iso=Rocky-8.10-x86_64-dvd1.iso
rockylinux9_iso=Rocky-9.4-x86_64-dvd.iso# rockylinx 8 9 catalogue
rockylinx_cfg=rockylinx_cfg
rockylinx_iso=rockylinx_iso
rockylinux8_catalogue=rockylinux8.10
rockylinux9_catalogue=rockylinux9.4install_pxe_server (){if ! [ -x "$(command -v dhcpd)" ]; thenif [ $? -eq 0 ];thenecho "install tftp dhcp"
dnf install tftp tftp-server dhcp-server httpd syslinux net-tools -yecho "stop selinx"
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
setenforce 0echo "firewalld tftp"
yum install -y curl
firewall-cmd --zone=public --add-port=$tftp_port/tcp --permanent && firewall-cmd --reload
firewall-cmd --zone=public --add-port=$tftp_port/udp --permanent && firewall-cmd --reloadecho "apache2 firewall"
firewall-cmd --zone=public --add-port=$apache_port/tcp --permanent && firewall-cmd --reloadecho "configuration dhcpd.conf"
rm -rf /etc/dhcp/dhcpd.conf
cat >> /etc/dhcp/dhcpd.conf << EOF
option domain-name         "$DNS";
option domain-name-servers  $DNS;
default-lease-time 2592000;
max-lease-time 2592000;
authoritative;# add follows
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;subnet $SUBNET  netmask $MASK {range dynamic-bootp $RANGE;option broadcast-address $BROADCAST_ADDRESS;option routers $ROUTERS;#add followsclass "pxeclients" {match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";# PXE servers hostname or IP addressnext-server $host_IP;if option architecture-type = 00:07 {filename "BOOTX64.EFI";}else {filename "pxelinux.0";}}
}
EOFecho "restrat dhcpd"
systemctl enable --now dhcpd tftpecho "mkdir catalogue rockylinux cfg ISO save"
mkdir -p $apache_catalogue/{$rockylinx_cfg,$rockylinx_iso}echo "download rockylinux 8 9"
curl -o $apache_catalogue/$rockylinx_iso/$rockylinux8_iso $rockylinux8_download_url
curl -o $apache_catalogue/$rockylinx_iso/$rockylinux9_iso $rockylinux9_download_url mkdir -p /var/pxe/{$rockylinux8_catalogue,$rockylinux9_catalogue}
mkdir -p $tftp_catalogue/{$rockylinux8_catalogue,$rockylinux9_catalogue}echo "mount rockylinux 8 9"
mount -t iso9660 -o loop,ro $apache_catalogue/$rockylinx_iso/$rockylinux8_iso /var/pxe/$rockylinux8_catalogue
mount -t iso9660 -o loop,ro $apache_catalogue/$rockylinx_iso/$rockylinux9_iso /var/pxe/$rockylinux9_catalogueecho "Mount an image on startup"
sed -i "$ a $apache_catalogue/$rockylinx_iso/$rockylinux8_iso  /var/pxe/$rockylinux8_catalogue/ iso9660 defaults,loop,ro 0 0" /etc/fstab 
sed -i "$ a $apache_catalogue/$rockylinx_iso/$rockylinux9_iso  /var/pxe/$rockylinux9_catalogue/ iso9660 defaults,loop,ro 0 0" /etc/fstab echo "http config"
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org
sed -i "s#DirectoryIndex index.html#DirectoryIndex index.html index.php index.cgi#"  /etc/httpd/conf/httpd.conf
sed -i "s#Options Indexes FollowSymLinks#Options FollowSymLinks#"  /etc/httpd/conf/httpd.conf
sed -i "s#AllowOverride None#AllowOverride All#"  /etc/httpd/conf/httpd.conf
sed -i '$a ServerTokens Prod' /etc/httpd/conf/httpd.confecho "copy vmlinuz initrd.img"
cp -rf /var/pxe/$rockylinux8_catalogue/images/pxeboot/{vmlinuz,initrd.img} $tftp_catalogue/$rockylinux8_catalogue
cp -rf /var/pxe/$rockylinux9_catalogue/images/pxeboot/{vmlinuz,initrd.img} $tftp_catalogue/$rockylinux9_catalogueecho "add pxeboot.conf"
cat >> /etc/httpd/conf.d/pxeboot.conf<<EOF
# create new
Alias /$rockylinux8_catalogue /var/pxe/$rockylinux8_catalogue
<Directory /var/pxe/$rockylinux8_catalogue>Options Indexes FollowSymLinks# IP address you allow to accessRequire ip 127.0.0.1 $SUBNET/$MASK
</Directory># create new
Alias /$rockylinux9_catalogue /var/pxe/$rockylinux9_catalogue
<Directory /var/pxe/$rockylinux9_catalogue>Options Indexes FollowSymLinks# IP address you allow to accessRequire ip 127.0.0.1 $SUBNET/$MASK
</Directory>
EOF#下载syslinux-4.07.tar.gz,用于支持Bios 模式安装esxi
echo "low version syslinux"
curl -o /$syslinux_gz $syslinux_download_url
tar -zxf /$syslinux_gz -C /
cp -rf /$syslinux_catalogue/core/pxelinux.0 $tftp_catalogue/
cp -rf /$syslinux_catalogue/com32/menu/menu.c32 $tftp_catalogue/
cp -rf /$syslinux_catalogue/com32/menu/vesamenu.c32 $tftp_catalogue/echo "mkdir pxelinux.cfg"
mkdir -p $tftp_catalogue/pxelinux.cfg
cat <<EOF>>$tftp_catalogue/pxelinux.cfg/default
# change like follows#Official page display
default vesamenu.c32#Simple page display
#default menu.c32  #Set the home page timeout period according to project requirements timeout 30
timeout 300 #/var/lib/tftpboot/下,命名为you.png
#menu background ubunutu.pngmenu title ########## PXE Boot Menu #########
display boot.msglabel Auto Rockylinux8.10menu label ^Auto Install Rockylinux8.10kernel $rockylinux8_catalogue/vmlinuzappend initrd=$rockylinux8_catalogue/initrd.img ip=dhcp inst.ks=http://${host_IP}/$rockylinx_cfg/Rockylinux8.10-ks.cfglabel Auto Rockylinux9.4menu label ^Auto Install Rockylinux9.4kernel $rockylinux9_catalogue/vmlinuzappend initrd=$rockylinux9_catalogue/initrd.img ip=dhcp inst.ks=http://${host_IP}/$rockylinx_cfg/Rockylinux9.4-ks.cfglabel Manual Rockylinux8.10menu label ^Manual Install Rockylinux8.10kernel $rockylinux8_catalogue/vmlinuzappend initrd=$rockylinux8_catalogue/initrd.img ip=dhcp inst.repo=http://${host_IP}/$rockylinux8_cataloguelabel Manual Rockylinux9.4menu label ^Manual Install Rockylinux9.4kernel $rockylinux9_catalogue/vmlinuzappend initrd=$rockylinux9_catalogue/initrd.img ip=dhcp inst.repo=http://${host_IP}/$rockylinux9_cataloguelabel local#menu defaultcom32 chain.c32menu label Boot from ^local drivelocalboot 0xffff
menu end
EOFecho "creation grub.cfg"
cat <<EOF>>$tftp_catalogue/grub.cfg
# ubuntu 24
set default="3"set timeout=10
set gfxpayload=keep
set color_normal=white/blackfunction load_video {insmod video_bochsinsmod video_cirrusinsmod all_video
}load_video
insmod gzio
insmod part_msdos
insmod part_gpt
insmod ext2
insmod xfs
insmod png
insmod gfxterm
insmod gfxmenu
terminal_output gfxterm
background_image -m stretch bg.pngmenuentry 'EFI Firmware System Setup'  'uefi-firmware' {fwsetup
}menuentry 'Reboot System' {reboot
}menuentry 'Shutdown System' {halt
}menuentry 'Auto Install Rockylinux 8.10' {linuxefi $rockylinux8_catalogue/vmlinuz  ip=dhcp inst.ks=http://${host_IP}/$rockylinx_cfg/Rockylinux8.10-ks.cfginitrdefi $rockylinux8_catalogue/initrd.img
}menuentry 'Auto Install Rockylinux 9.4' {linuxefi $rockylinux9_catalogue/vmlinuz  ip=dhcp inst.ks=http://${host_IP}/$rockylinx_cfg/Rockylinux9.4-ks.cfginitrdefi $rockylinux9_catalogue/initrd.img
}menuentry 'Manual Install Rockylinux 8.10' {linuxefi $rockylinux8_catalogue/vmlinuz  ip=dhcp inst.repo=http://${host_IP}/$rockylinux8_catalogueinitrdefi $rockylinux8_catalogue/initrd.img
}menuentry 'Manual Install Rockylinux 9.4' {linuxefi $rockylinux9_catalogue/vmlinuz  ip=dhcp inst.repo=http://${host_IP}/$rockylinux9_catalogueinitrdefi $rockylinux9_catalogue/initrd.img
}
EOFecho "add rockylinx 9.4 cfg"
cat <<EOF>>$apache_catalogue/$rockylinx_cfg/Rockylinux9.4-ks.cfg
# automatically proceed for each steps
graphical# AppStream
repo --name="AppStream" --baseurl="http://${host_IP}/$rockylinux9_catalogue/AppStream"# Use network installation
url --url="http://${host_IP}/$rockylinux9_catalogue"# install disk
ignoredisk --only-use=sda# selinux stop
selinux --disabled# keyboard layouts
keyboard us# system locale
lang en_US# network settings
network  --bootproto=dhcp --ipv6=auto --activate --hostname=localhost
network --bootproto=static --device=em2 --ip=192.168.3.100 --netmask=255.255.255.0 --gateway=192.168.3.11 --nameserver=8.8.8.8 --ipv6=auto --activate# root password you generated above
rootpw --iscrypted $root_password# System timezone
timezone Asia/Shanghai --isUtc# Run the Setup Agent on first boot
firstboot --disable# Firewall configuration
auth --passalgo=sha512 --useshadow
firewall --enabled --ssh
firstboot --disable# Automated low-level formatting
zerombr#Automatic partition, / partition uses all space, disable home partition
autopart --type=lvm --fstype=xfs --nohome# initialize all partition tables
clearpart --all --initlabel
#clearpart --none --initlabel# partitioning
# for [/boot/efi], it needs only for UEFI clients
#part pv.106 --fstype="lvmpv" --ondisk=sda --size=919974
#part /boot --fstype="xfs" --ondisk=sda --size=1024
#part /boot/efi --fstype="efi" --ondisk=sda --size=600 --fsoptions="umask=0077,shortname=winnt"
#volgroup ro --pesize=4096 pv.106
#logvol swap --fstype="swap" --size=8611 --name=swap --vgname=ro
#logvol / --fstype="xfs" --size=911360 --name=root --vgname=ro# reboot after installing
reboot%packages
@^minimal-environment
@console-internet
kexec-tools
net-tools
vim
unzip
wget
tmux
git
tree
curl
jq
%end%post
yum clean all
yum makecache
yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
%end
EOFecho "add Rockylinux8.10-ks.cfg"
cat <<EOF>>$apache_catalogue/$rockylinx_cfg/Rockylinux8.10-ks.cfg
# create new
# automatically proceed for each steps
graphical# AppStream
repo --name="AppStream" --baseurl="http://${host_IP}/$rockylinux8_catalogue/AppStream"# Use network installation
url --url=http://${host_IP}/$rockylinux8_catalogue# install disk
ignoredisk --only-use=sda# selinux stop
selinux --disabled# keyboard layouts
keyboard us# system locale
lang en_US# network settings
network  --bootproto=dhcp --ipv6=auto --activate --hostname=localhost
network --bootproto=static --device=em2 --ip=192.168.3.100 --netmask=255.255.255.0 --gateway=192.168.3.11 --nameserver=8.8.8.8 --ipv6=auto --activate# root password you generated above
rootpw --iscrypted $root_password# System timezone
timezone Asia/Shanghai --isUtc# Run the Setup Agent on first boot
firstboot --enable# Firewall configuration
firewall --enabled --port=22:tcp# Automated low-level formatting
zerombr#Automatic partition, / partition uses all space, disable home partition
autopart --type=lvm --fstype=xfs --nohome# initialize all partition tables
clearpart --all --initlabel# partitioning
# for [/boot/efi], it needs only for UEFI clients
#part /boot/efi --fstype="efi" --ondisk=sda --size=4096 --fsoptions="defaults,uid=0,gid=0,umask=0077,shortname=centos"
#part /boot --fstype="xfs" --size=4096
#part pv.12 --grow --fstype="lvmpv" --size=871120
#volgroup ro --pesize=4096 pv.12
#logvol swap  --fstype="swap" --size=4096 --name=swap --vgname=ro
#logvol /  --fstype="xfs" --size=871120 --name=root --vgname=ro# reboot after installing
reboot%packages
@^minimal-environment
kexec-tools
net-tools
vim
unzip
wget
tmux
git
tree
curl
jq
tar
lm_sensors
lm_sensors-libs
%end%post
yum clean all
yum makecache
yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
%end
EOFecho "uefl add"
mkdir -p /rpm
yum install yum-utils -y
yumdownloader --resolve --destdir=/rpm shim grub2-efi-x64 syslinux-tftpboot
cd /rpm
rpm2cpio shim-x64-*.rpm | cpio -dimv
rpm2cpio grub2-efi-x64-*.rpm | cpio -dimv
rpm2cpio syslinux-tftpboot-* | cpio -dimv
cp ./boot/efi/EFI/BOOT/BOOTX64.EFI $tftp_catalogue/
cp ./boot/efi/EFI/rocky/grubx64.efi $tftp_catalogue/
chmod 644 $tftp_catalogue/{BOOTX64.EFI,grubx64.efi}#Copy the EFI boot image from the boot directory
echo "Copy the EFI boot image from the boot directory"
mkdir -p $tftp_catalogue/uefi
cp -rf /rpm/boot/efi/EFI/rocky/* $tftp_catalogue/uefi/echo "copy pxelinux"
mkdir -p $tftp_catalogue/pxelinux
cp /rpm/tftpboot/* $tftp_catalogue/pxelinux/echo "restrat dhcp http tftp"
systemctl restart dhcpd httpd tftpecho "Deleting an rpm directory"
rm -rf /rpmecho -e "\033[32mThe esxi pxe server Install Sussess...\033[0m" elseecho -e "\033[33mThe esxi pxe server Install Failed...\033[0m" exit 1fielseecho -e "\033[31mThe esxi pxe server Install already...\033[0m"
fi
}main (){install_pxe_server
}main

 执行安装

bash /rockylinux_pxe_server_rockylinx.sh

RockyLinux 8 9 Bios 自动化部署

​​

RockyLinux 8 9 uefi 自动化部署 

分区lvm ,去除home目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1489485.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

1.2 单链表定义及操作实现(链式结构)

1.单链表定义 链式存储&#xff1a;用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性 表简称线性链表。 为了正确表示结点间的逻辑关系&#xff0c;在存储每个结点值的同时&#xff0c;还必须存储指示其直接 后继结点的地址&#xff08;或位置&#xff09;…

故障诊断 | 基于Transformer故障诊断分类预测(Matlab)

文章目录 预测效果文章概述程序设计参考资料预测效果 文章概述 Transformer故障诊断/分类预测 | 基于Transformer故障诊断分类预测(Matlab) Transformer 模型本质上都是预训练语言模型,大都采用自监督学习 (Self-supervised learning) 的方式在大量生语料上进行训练,也就是…

Java解析epub电子书文件实战demo

如何使用 Java、Spring Boot 和 Epublib 库解析存储在阿里云对象存储服务&#xff08;OSS&#xff09;上的 EPUB 文件。这里将指导您完成设置必要依赖项、配置 OSS 客户端以及编写服务以读取和提取 EPUB 文件章节的全过程。 步骤1&#xff1a;添加依赖项 首先&#xff0c;将 E…

微信小程序消息订阅处理实践

微信小程序提供订阅消息功能&#xff0c;分为一次性订阅消息、长期订阅消息。长期订阅消息目前只针对民生、金融、教育等有线下服务场景的类目开放。这些只是大类&#xff0c;并不表示所包含的所有二级类目都能申请长期订阅消息&#xff0c;具体看官方文档。 另一个长期订阅消…

RNN(一)——循环神经网络的实现

文章目录 一、循环神经网络RNN1.RNN是什么2.RNN的语言模型3.RNN的结构形式 二、完整代码三、代码解读1.参数return_sequences2.调参过程 一、循环神经网络RNN 1.RNN是什么 循环神经网络RNN主要体现在上下文对理解的重要性&#xff0c;他比传统的神经网络&#xff08;传统的神…

04 卷积神经网络

目录 1. 基本概念 1.1 卷积神经网络 1.2 卷积 1.3 汇聚&#xff08;池化&#xff09; 2. CNN网络架构及参数学习 2.1 网络架构 2.2 参数学习 3. 典型的卷积神经网络 3.1 LeNet-5 3.2 AlexNet 3.3 Inception网络 3.4 残差网络 4. 其他卷积方式 1. 基本概念 1.1 …

ReentrantReadWriteLock详解

目录 ReentrantReadWriteLock详解1、ReentrantReadWriteLock简介2、ReentrantReadWriteLock类继承结构和类属性3、ReentrantReadWriteLock的读写锁原理分析4、ReentrantReadWriteLock.WriteLock类的核心方法详解非公平写锁的获取非公平写锁的释放公平写锁的获取公平写锁的释放 …

全网最最实用--模型高效推理:量化基础

文章目录 一、量化基础--计算机中数的表示1. 原码&#xff08;Sign-Magnitude&#xff09;2. 反码&#xff08;Ones Complement&#xff09;3. 补码&#xff08;Twos Complement&#xff09;4. 浮点数&#xff08;Floating Point&#xff09;a.常用的浮点数标准--IEEE 754(FP32…

ElasticSearch核心之DSL查询语句实战

什么是DSL&#xff1f; Elasticsearch提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许你构建更加复杂、强大的查询。 DSL(Domain Specific Language特定领域语言)以JSON请求体的形式出现。目前常用的框架查询方法什么的底层都是构建DSL语句实现的&#xff0c;所以你必…

跨境电商独立站:Shopify/Wordpress/店匠选哪个?

在面对不断增加的平台运营压力时&#xff0c;不少跨境电商的商家逐渐将注意力转向建立自己的独立站。据《中国跨境出口电商发展报告&#xff08;2022&#xff09;》所示&#xff0c;中国拥有的独立站数量在2022年已接近20万个&#xff0c;这表明独立站已成为卖家拓展海外市场的…

IndentationError:unindent does not match any outer indentation level

IndentationError:unindent does not match any outer indentation level 目录 IndentationError:unindent does not match any outer indentation level 【常见模块错误】 【解决方案】 原因分析&#xff1a; 解决方法&#xff1a; 示例&#xff1a; 欢迎来到我的主页&am…

正则采集器——前端搭建

前端使用有名的饿了么管理后台&#xff0c;vue3版本vue3-element-admin&#xff0c;首先从gitee中克隆一个vue3-element-admin模板代码vue3-element-admin: Vue3 Element Admin开箱即用的中后台管理系统前端解决方案&#xff0c;然后在此基础上进行开发。 1、修改vite.config.…

matlab仿真 数字信号载波传输(下)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第七 章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; clear all M8; msg[1 4 3 0 7 5 2 6]; ts0.01; T1; %t0:ts:T; t0:ts:T-ts; %x0:ts:length(msg); x0:ts:length(msg)-ts; f…

使用Dumpbin工具查看C++二进制文件的位数、时间戳及dll库的依赖关系

目录 1、Dumpbin简介 2、使用Dumpbin查看二进制文件的位数与时间戳 3、使用Dumpbin查看二进制文件依赖的dll库 4、最后 C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931C/C++基础入…

几种数据库中保存树的常见存储结构

在数据库中存储树时&#xff0c;常见的存储结构有以下几种&#xff1a; 常见存储结构 邻接列表 每个节点都有一个指向其父节点(pid)的引用。这种方法简单直观&#xff0c;也是最容易理解和常用的&#xff0c;但在获取整棵树或子树时可能需要多次查询。 存储结构 一般表结构…

自动驾驶-机器人-slam-定位面经和面试知识系列05之常考公式推导(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客&#xff08;牛客上某些文章上会附上内推码&#xff09;也会同步…

Android APP 音视频(03)CameraX预览与MediaCodec编码

说明&#xff1a; 此CameraX预览和编码实操主要针对Android12.0系统。通过CameraX预览获取yuv格式数据&#xff0c;将yuv格式数据通过mediacodec编码输出H264码流&#xff08;使用ffmpeg播放&#xff09;&#xff0c;存储到sd卡上。 1 CameraX 和 MediaCodec简介 1.1 CameraX…

【CN】Argo 持续集成和交付(一)

1.简介 Argo 英 [ˈɑ:ɡəu] 美 [ˈɑrˌɡo] Kubernetes 原生工具&#xff0c;用于运行工作流程、管理集群以及正确执行 GitOps。 Argo 于 2020 年 3 月 26 日被 CNCF 接受为孵化成熟度级别&#xff0c;然后于 2022 年 12 月 6 日转移到毕业成熟度级别。 argoproj.github.i…

基于Xejen框架实现的C# winform鼠标点击器、电脑按键自动点击器的软件开发及介绍

功能演示 文章开始之前&#xff0c;仍然是先来个视频&#xff0c;以便用户知道鼠标连点器的基本功能 软件主界面 多功能鼠标连点器 快速点击&#xff1a; 痕即鼠标点击器可以设定每秒点击次数&#xff0c;让您轻松应对高频点击需求。 切换时长&#xff0c;即每次动作之间的间…

0719_驱动3 printk使用方法

一、printk使用方法 1.应用层打印使用printf&#xff0c;内核层使用printk 2.如何查看内核层中printk如何使用 3.在内核空间执行grep "printk" * -nR 4.在内核空间执行vi -t KERN_INFO 5.printk有8中打印级别&#xff08;0-7&#xff09;&#xff0c;打印级别用来过滤…