ubuntu 24 PXE Server (bios+uefi) 批量部署系统

news2024/11/13 15:11:02

 

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服务,以便客户端可以访问操作系统镜像和其他文件。

ubuntu download 

  • ubuntu 生命周期注意
ubuntu amdubuntu  其它ubuntu 历史版ubuntu 生命周期ubuntu 自动化编排user-datadebian dhcp 配置

ubuntu 全球镜像站

downloaddownloaddownload参考参考参考参考

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

  • 安装完成用户密码ubuntu/1234.com(root强制更新密码ubuntu24.04,默认密码1234.com)
  • dhcp /etc/dhcp/dhcpd.conf 配置文件
  • tftp 配置文件/etc/default/tftpd-hpa
  • tftp 69
  • apache2 配置文件/etc/apache2/apache2.conf 
  • apache2 端口80
  • syslinux 文件 /usr/lib/syslinux/modules/bios/ #需要安装syslinux
  • pxelinux 文件 /usr/lib/PXELINUX/ #需要安装pxelinux
  • /var/lib/tftp/pxelinux.cfg/default (bios 支持)配置文件
  • /var/lib/tftp/grub/grub.cfg (uefi 支持)配置文件
  • /var/www/html/ubuntu24.04/user-data #cloud-init #自动安装配置,user-data 配置增加了,root允许远程连接,禁止系统待机,禁止安装弹出窗口,开启系统默认使用vim,系统默认使用sh,分区结构LVM
  • /var/www/html/ubuntu24.04/meta-data 空文件创建
  • mkpasswd -m sha-512 生成密钥 安装whois
  • /etc/apt/soures.list.d/ubuntu.sources 在线源生成在此位置
  • 脚本自动化部署兼容 ubuntu 22,23,24
  • 17-52 行变量内容详细注意,更改自己需要的,自动化脚本仔细看
  • ds=nocloud-net;s= Bios启动特殊字符去除\不需要转义
  • ds=nocloud-net\;s= UEFI启动grub将;识别为了特殊字符要在;前加\转义
vim /ubuntu_pxe_server_bios_uefi.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: make.han 
# Email: CIASM@CIASM
# Date: 2024/07/19
# install PXE Server ubuntu 22 23 24

<<!
#自动安装简介
https://canonical-subiquity.readthedocs-hosted.com/en/latest/intro-to-autoinstall.html
https://canonical-subiquity.readthedocs-hosted.com/en/latest/howto/autoinstall-quickstart.html

#user-data 配置
https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html
!

#tftp variable configuration
tftp_port=69
tftp_user=tftp
tftp_catalogue=/var/lib/tftp

#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'`
IP="192.168.11.179"
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"

# user automated scripts user-data
# root用户,普通用户 密码使用crypt(3)哈希进行加密(apt install -y whois) (mkpasswd -m sha-512 生成密钥)
root_user='root'
root_password='$6$4QaHWOfkEYxT2Dv6$3h5T/4AT/vkINa.R.9tToEUwro5YqD2UjulKRQ8k8ZMjqJOhib23nZ/fnKKgRh5TRaTg6I1mIa8VWJxmKQR7o0'
ubunutu_user='ubuntu'
ubunutu_hostname='ubuntu'
ubuntu_password='$6$4QaHWOfkEYxT2Dv6$3h5T/4AT/vkINa.R.9tToEUwro5YqD2UjulKRQ8k8ZMjqJOhib23nZ/fnKKgRh5TRaTg6I1mIa8VWJxmKQR7o0'
timezone='Asia/Shanghai'

# apache2 variable configuration
apache_port=80
apache_catalogue=/var/www/html

# ubuntu download variable configuration
ubuntu22_download_url=https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.4-live-server-amd64.iso
ubuntu24_download_url=https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-live-server-amd64.iso
ubuntu22_iso=ubuntu-22.04.4-live-server-amd64.iso
ubuntu24_iso=ubuntu-24.04-live-server-amd64.iso
ubuntu22_catalogue=ubuntu22.04
ubuntu24_catalogue=ubuntu24.04


install_pxe_server (){
 
if ! [ -x "$(command -v dhcpd)" ]; then
 
	if [ $? -eq 0 ];then
	
echo "install firewalld curl"
apt install -y firewalld 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 --reload

echo "install whois mkpasswd"
apt install -y whois

echo "install dhcp"
apt install -y isc-dhcp-server

echo "isc-dhcp-server add nic"
sed -i "s/^INTERFACESv4=.*$/INTERFACESv4=\"$nic_network_name\"/" /etc/default/isc-dhcp-server

echo "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 follows
    class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        # PXE servers hostname or IP address
        next-server $IP;
        if option architecture-type = 00:07 {
            filename "bootx64.efi";
        }
        else {
            filename "pxelinux.0";
        }
    }
}
EOF

echo "restart dhcp"
systemctl enable isc-dhcp-server
systemctl restart isc-dhcp-server

echo "install tftpd-hpa"
apt install -y tftpd-hpa

echo "configuration tftpd-hpa"
rm -rf /etc/default/tftpd-hpa
cat <<EOF>>/etc/default/tftpd-hpa
TFTP_USERNAME="$tftp_user"
TFTP_DIRECTORY="$tftp_catalogue/"
TFTP_ADDRESS=":$tftp_port"
TFTP_OPTIONS="--secure"
EOF

echo "Create a new tftp directory"
mkdir -p $tftp_catalogue

echo "start tftpd-hpa"
systemctl enable tftpd-hpa
systemctl start tftpd-hpa

echo "install apache2"
apt install -y apache2

echo "Delete the default apache2 page"
rm -rf $apache_catalogue/index.html

echo "restart apache2"
systemctl enable apache2
systemctl restart apache2

echo "apache2 firewall"
firewall-cmd --zone=public --add-port=$apache_port/tcp --permanent && firewall-cmd --reload

echo "mkdir catalogue ubuntu22.04 ubuntu24.04"
mkdir -p $apache_catalogue/{$ubuntu22_catalogue,$ubuntu24_catalogue}

echo "download ubuntu22.04 ubuntu24.04"
curl -o $apache_catalogue/$ubuntu24_catalogue/$ubuntu24_iso $ubuntu24_download_url
curl -o $apache_catalogue/$ubuntu22_catalogue/$ubuntu22_iso $ubuntu22_download_url

echo "mount ubuntu22.04 ubuntu24.04"
mkdir -p /mnt/{$ubuntu22_catalogue,$ubuntu24_catalogue}
mount -t iso9660 -o loop,ro $apache_catalogue/$ubuntu24_catalogue/$ubuntu24_iso /mnt/$ubuntu24_catalogue
mount -t iso9660 -o loop,ro $apache_catalogue/$ubuntu22_catalogue/$ubuntu22_iso /mnt/$ubuntu22_catalogue

echo "syslinux pxelinux"
apt install -y syslinux pxelinux

echo "copy ubuntu22.04 ubuntu24.04"
mkdir -p $tftp_catalogue/{$ubuntu22_catalogue,$ubuntu24_catalogue}
cp /mnt/$ubuntu24_catalogue/casper/{vmlinuz,initrd} $tftp_catalogue/$ubuntu24_catalogue
cp /mnt/$ubuntu24_catalogue/casper/{vmlinuz,initrd} $tftp_catalogue/$ubuntu22_catalogue

echo "copy syslinux"
cp /usr/lib/syslinux/modules/bios/* $tftp_catalogue/
#cp /usr/lib/syslinux/modules/bios/{ldlinux.c32,libutil.c32,menu.c32,vesamenu.c32} $tftp_catalogue/
cp /usr/lib/PXELINUX/{lpxelinux.0,pxelinux.0} $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.png
 
menu title ########## PXE Boot Menu #########
display boot.msg

label Auto Install ubuntu 22.04
  menuentry  ^Auto Install ubuntu22.04
  menu default
  kernel $ubuntu22_catalogue/vmlinuz
  initrd $ubuntu22_catalogue/initrd
  append ip=dhcp url=http://${host_IP}/$ubuntu22_catalogue/$ubuntu22_iso autoinstall ds=nocloud-net;s=http://${host_IP}/$ubuntu22_catalogue/

label Auto Install ubuntu 24.04
  menuentry  ^Auto Install ubuntu24.04
  menu default
  kernel $ubuntu24_catalogue/vmlinuz
  initrd $ubuntu24_catalogue/initrd
  append ip=dhcp url=http://${host_IP}/$ubuntu24_catalogue/$ubuntu24_iso autoinstall ds=nocloud-net;s=http://${host_IP}/$ubuntu24_catalogue/

label Manual ubuntu 22.04
  menu label ^Manual Install ubuntu 22.04
  kernel $ubuntu22_catalogue/vmlinuz
  initrd $ubuntu22_catalogue/initrd
  append ip=dhcp url=http://${host_IP}/$ubuntu22_catalogue/$ubuntu22_iso
  
label Manual ubuntu 24.04
  menu label ^Manual Install ubuntu 24.04
  kernel $ubuntu24_catalogue/vmlinuz
  initrd $ubuntu24_catalogue/initrd
  append ip=dhcp url=http://${host_IP}/$ubuntu24_catalogue/$ubuntu24_iso

label local
   #menu default
   com32 chain.c32
   menu label Boot from ^local drive
   localboot 0xffff
menu end
EOF

echo "creation grub.cfg"
mkdir -p $tftp_catalogue/grub
cat <<EOF>>$tftp_catalogue/grub/grub.cfg
# ubuntu 24
set default="3"

set timeout=10
set gfxpayload=keep
set color_normal=white/black

function load_video {
  insmod video_bochs
  insmod video_cirrus
  insmod 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.png

menuentry 'EFI Firmware System Setup'  'uefi-firmware' {
  fwsetup
}

menuentry 'Reboot System' {
  reboot
}

menuentry 'Shutdown System' {
  halt
}

menuentry 'Auto Install ubuntu22.04' {
    linux $ubuntu22_catalogue/vmlinuz ip=dhcp url=http://${host_IP}/$ubuntu22_catalogue/$ubuntu22_iso autoinstall ds=nocloud-net\;s=http://${host_IP}/$ubuntu22_catalogue/
    initrd $ubuntu22_catalogue/initrd
}

menuentry 'Auto Install ubuntu24.04' {
    linux $ubuntu24_catalogue/vmlinuz ip=dhcp url=http://${host_IP}/$ubuntu24_catalogue/$ubuntu24_iso autoinstall ds=nocloud-net\;s=http://${host_IP}/$ubuntu24_catalogue/
    initrd $ubuntu24_catalogue/initrd
}

menuentry 'Manual Install ubuntu 22.04'  {
  linux $ubuntu22_catalogue/vmlinuz ip=dhcp url=http://${host_IP}/$ubuntu22_catalogue/$ubuntu22_iso
  initrd $ubuntu22_catalogue/initrd
}

menuentry 'Manual Install ubuntu 24.04'  {
  linux $ubuntu24_catalogue/vmlinuz ip=dhcp url=http://${host_IP}/$ubuntu24_catalogue/$ubuntu24_iso
  initrd $ubuntu24_catalogue/initrd
}
EOF

echo "add ubuntu 24.04 user-data"
cat <<EOF>>$apache_catalogue/$ubuntu24_catalogue/user-data
#cloud-config
autoinstall:
  version: 1
  apt:
    primary:
     - arches: [i386, amd64]
       uri: http://mirrors.aliyun.com/ubuntu
     - arches: [s390x, arm64, armhf, powerpc, ppc64el, riscv64]
       uri: https://mirrors.aliyun.com/ubuntu-ports/
  user-data:
    timezone: $timezone
    disable_root: false
    chpasswd:
      list: |
        $root_user:$root_password
  identity:
    realname: ubuntu user
    hostname: $ubunutu_hostname
    password: $ubuntu_password
    username: $ubunutu_user
  keyboard: {layout: us, variant: ''}
  locale: en_US.UTF-8
  network:
    version: 2
    ethernets:
      eth0:
        critical: true
        dhcp-identifier: mac
        dhcp4: true
        nameservers:
          addresses: [8.8.8.8,9.9.9.9]
  ssh:
    install-server: true

  storage:
    grub:
      reorder_uefi: False
    layout:
      name: lvm
      sizing-policy: all

  updates: security

  late-commands:
  - curtin in-target --target=/target -- sed -ir '/GRUB_CMDLINE_LINUX=.*$/c GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"' /etc/default/grub
  - curtin in-target --target=/target -- grub-mkconfig -o /boot/grub/grub.cfg
  - curtin in-target --target=/target -- sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
  - curtin in-target --target=/target -- ln -sf bash /bin/sh 
  - curtin in-target --target=/target -- systemctl restart sshd 
  - curtin in-target --target=/target -- systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 
  - curtin in-target --target=/target -- sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
  - curtin in-target --target=/target -- sed -i '$ a\export EDITOR=vim' /etc/profile
EOF

echo "copy user-data up ubuntu22.04 "
cp -rf $apache_catalogue/$ubuntu24_catalogue/user-data $apache_catalogue/$ubuntu22_catalogue/

echo "add meta-data up ubuntu24.04"
cat <<'EOF'>>$apache_catalogue/$ubuntu24_catalogue/meta-data
instance-id: focal-autoinstall
EOF

echo "cp meta-data up ubuntu22.04"
cp -rf $apache_catalogue/$ubuntu24_catalogue/meta-data $apache_catalogue/$ubuntu22_catalogue/

echo "shim-signed"
cd /
apt download shim-signed
dpkg -x shim-signed*deb shim
cp /shim/usr/lib/shim/shimx64.efi.signed.latest $tftp_catalogue/bootx64.efi

echo "grub-efi-amd64-signed"
cd /
apt download grub-efi-amd64-signed
dpkg -x grub-efi-amd64-signed*deb grub
cp /grub/usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed $tftp_catalogue/grubx64.efi

echo "grub-common"
cd /
apt download grub-common
dpkg -x grub-common*deb grub-common
cp /grub-common/usr/share/grub/unicode.pf2 $tftp_catalogue/

echo "rm shim grub grub-common"
rm -rf /{shim,grub,grub-common}
rm -rf /{shim-signed*deb,grub-efi-amd64-signed*deb,grub-common*deb}

echo "umount ubuntu22.04 ubuntu24.04"
umount /mnt/$ubuntu24_catalogue
umount /mnt/$ubuntu22_catalogue

echo "restart tftpd-hpa isc-dhcp-server apache2"
systemctl restart tftpd-hpa isc-dhcp-server apache2

   echo -e "\033[32mThe ubuntu pxe server Install Sussess...\033[0m" 
  else
   echo -e "\033[33mThe ubunutu pxe server Install Failed...\033[0m" 
    exit 1
   fi
  else
   echo -e "\033[31mThe ubuntu pxe server Install already...\033[0m"
fi
}
 
main (){
	install_pxe_server
}
 
main

一键部署pxe server 环境

bash /ubuntu_pxe_server_bios_uefi.sh

pxe 网络启动,bios自动安装

pxe 网络启动,UEFI自动安装

ubuntu 22.04 24.04 bios uefi 自动化部署一样

  • 以下自动化部署展示 24.04
  • 24.04 root 首次登录密码强制更新,root预设值默认密码1234.com ubuntu/1234.com 
  • 22.04 用户名密码 root/1234.com ubuntu/1234.com 

自动化部署完成后在线源默认位置

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

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

相关文章

以Zookeeper为例 浅谈脑裂与奇数节点问题

一、脑裂现象的定义与影响 脑裂&#xff08;split-brain&#xff09;是指在分布式系统中&#xff0c;因网络分区或其他故障导致系统被切割成两个或多个相互独立的子系统&#xff0c;每个子系统可能独立选举出自己的领导节点。这一现象在依赖中心领导节点&#xff08;如Elastic…

MVC架构在Web开发中的实现

MVC架构在Web开发中的实现 1、MVC架构概述2、MVC架构的实现 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Web开发领域&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;架构模式是一种广泛使用的软件设计模式&#xff0c…

数据可视化配色新工具,颜色盘多达2500+类

好看的配色,不仅能让图表突出主要信息,更能吸引读者,之前分享过很多配色工具,例如, 👉可视化配色工具:颜色盘多达3000+类,数万种颜色! 本次再分享一个配色工具pypalettes,颜色盘多达2500+类。 安装pypalettes pip install pypalettes pypalettes使用 第1步,挑选…

在VS Code上搭建Vue项目教程(Vue-cli 脚手架)

1.前期环境准备 搭建Vue项目使用的是Vue-cli 脚手架。前期环境需要准备Node.js环境&#xff0c;就像Java开发要依赖JDK环境一样。 1.1 Node.js环境配置 1&#xff09;具体安装步骤操作即可&#xff1a; npm 安装教程_如何安装npm-CSDN博客文章浏览阅读836次。本文主要在Win…

哪种SSL证书可以快速签发保护http安全访问?

用户访问网站&#xff0c;经常会遇到访问http网页时&#xff0c;提示网站不安全或者不是私密连接的提示&#xff0c;因为http是使用明文传输&#xff0c;数据传输中可能被篡改&#xff0c;数据不被保护&#xff0c;通常需要SSL证书来给数据加密。 SSL证书的签发速度&#xff0…

Selenium之execute_script()方法执行js脚本

目录 场景应用和使用 页面滚动 获取返回值 返回JavaScript定位的元素对象 修改元素属性 弹出提示框 场景应用和使用 在自动化测试中&#xff0c;部分场景无法使用自动化Selenium原生方法来进行测试&#xff1a; 滚动到某个元素&#xff08;位置&#xff09; 修改…

数据分析入门指南:数据库入门(五)

本文将总结CDA认证考试中数据库中部分知识点&#xff0c;内容来源于《CDA模拟题库与备考资料PPT》 。 CDA认证&#xff0c;作为源自中国、面向全球的专业技能认证&#xff0c;覆盖金融、电信、零售、制造、能源、医疗医药、旅游、咨询等多个行业&#xff0c;旨在培养能够胜任数…

STM32 TIM定时器从模式控制器

TIM 从模式控制器 从模式控制器控制框图 从机模式 /** defgroup TIM_Slave_Mode TIM Slave mode* {*/ #define TIM_SLAVEMODE_DISABLE 0x00000000U /*!< Slave mode disabled */ #define TIM_SLAVEMOD…

IDEA创建Java工程、Maven安装与建立工程、Web工程、Tomcat配置

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …

[C++]优先级队列

1 .了解优先级队列 优先级队列是一种容器适配器&#xff0c;根据一些严格的弱排序标准&#xff0c;专门设计使其第一个元素始终是它所包含的元素中最大的元素。 此上下文类似于堆&#xff0c;其中可以随时插入元素&#xff0c;并且只能检索最大堆元素&#xff08;优先级队列中顶…

idea2019版本创建JavaWeb项目并配置Tomcat步骤

一、创建JavaWeb项目 1.新建项目File->New->Project 2. 选择JavaWeb应用在New Project窗口中选择Java后勾选Java EE中的Web Application后点击next即可 3.设置项目名称后点击finish即可 4.至此项目创建完成&#xff0c;检查文件是否齐全&#xff0c;开始配置Tomcat 二、…

【iOS】——消息传递底层实现

消息传递是什么 Objective-C是一种动态类型语言&#xff0c;这意味着在编译时并不确定对象的具体类型&#xff0c;而是在运行时决定。消息传递机制允许程序在运行时向对象发送消息&#xff0c;对象再决定如何响应这些消息。 当你通过对象调用方法时&#xff0c;例如像这样[ob…

React 从入门到实战 一一开发环境基础搭建(小白篇)

React 从入门到实战一一开发环境基础搭建&#xff08;小白篇&#xff09; React 介绍什么是 react &#xff1f;react 主要功能react 框架特点 开发工具渲染测试 React 介绍 最近两年&#xff0c;react 也愈来愈火热&#xff0c;想要在里面分一杯羹&#xff0c;那肯定逃不过 r…

CentOS 7开启SSH连接

1. 安装openssh-server 1.1 检查是否安装openssh-server服务 yum list installed | grep openssh-server如果有显示内容&#xff0c;则已安装跳过安装步骤&#xff0c;否则进行第2步 1.2 安装openssh-server yum install openssh-server2. 开启SSH 22监听端口 2.1 打开ssh…

阿里云盾占用资源的问题AliYunDun,AliYunDunUpdate

目录 1.关闭AliYunDunUpdate&#xff0c;AliYunDun&#xff0c;AliYunDunMonitor。 2.发现报错如下 3.打开阿里云安全中心控制台 4.成功解决 2.开启云盾命令 “如果您在解决类似问题时也遇到了困难&#xff0c;希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您…

【考研数学】线代满分经验分享+备考复盘

我一战二战复习都听了李永乐的线代课&#xff0c;二战的时候只听了一遍强化&#xff0c;个人感觉没有很乱&#xff0c;永乐大帝的课逻辑还是很清晰的。 以下是我听向量这一章后根据听课内容和讲义例题总结的部分思维导图&#xff0c;永乐大帝讲课的时候也会特意点到线代前后联…

spark shell

1.进行shell命令行 spark-shell 2.创建RDD 2.1 读取文件创建RDD 2.1.1读取linux文件系统的文件创建RDD --需要保证每一个worker中都有该文件 val data1 sc.textFile("file:/opt/file/word.txt") 2.1.2读取hdfs文件系统上的文件创建RDD val data2sc.textFile("…

基于dcm4chee搭建的PACS系统讲解(一)docker搭建精简版

文章目录 知识点PACSdcm4chedcm4chee部署dcm4chee方式 docker部署docker编排 总结 最近项目开始需要用到PACS系统&#xff0c;于是研究了一番&#xff0c;选用了dcm4chee搭建PACS系统&#xff0c;抛出 dcm-arc-light的git地址 。 知识点 PACS Picture Archiving and Communic…

视频压缩文件太大了怎么缩小?怎么压缩视频大小?视频压缩方法:10个!(宝藏)

视频压缩文件太大了怎么缩小&#xff1f;让我看看是谁下班之后不是一手刷手机短视频&#xff0c;顺便葛优躺在沙发上的&#xff1f;互联网发展到现在&#xff0c;视频已成为我们生活中不可或缺的一部分。不管是视频录制还是视频缓存&#xff0c;视频文件体积越来越庞大&#xf…

.net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段

Program.cs 安装包&#xff1a;Microsoft.AspNetCore.Hosting.WindowsServices、Microsoft.Extensions.Hosting、Microsoft.Extensions.Hosting.WindowsServices、Microsoft.Extensions.Logging.Log4Net.AspNetCore 新建Configs/log4net.config using Com.Chinahorn.Exchange.W…