华为aarch64架构的泰山服务器EulerOS 2.0 (SP8)系统离线安装saltstack3003.1实践
华为泰山服务器的CPU芯片架构为aarch64,所装系统为EulerOS 2.0 (SP8)aarch64系统,安装saltstack比较困难。本文讲解通过pip安装方式离线安装saltstack3003.1以进行集中化管理和维护。
一、系统环境
1、操作系统版本
[root@localhost ~]# cat /etc/os-release
NAME="EulerOS"
VERSION="2.0 (SP8)"
ID="euleros"
ID_LIKE="rhel fedora centos"
VERSION_ID="2.0"
PRETTY_NAME="EulerOS 2.0 (SP8)"
ANSI_COLOR="0;31"
2、python版本及所能识别支持的包信息
[root@localhost ~]# python
Python 3.7.0 (default, Mar 16 2020, 00:02:15)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pip
>>> import pip._internal.pep425tags
>>> print(pip._internal.pep425tags.get_supported())
[('cp37', 'cp37m', 'linux_aarch64'), ('cp37', 'abi3', 'linux_aarch64'), ('cp37', 'none', 'linux_aarch64'), ('cp36', 'abi3', 'linux_aarch64'), ('cp35', 'abi3', 'linux_aarch64'), ('cp34', 'abi3', 'linux_aarch64'), ('cp33', 'abi3', 'linux_aarch64'), ('cp32', 'abi3', 'linux_aarch64'), ('py3', 'none', 'linux_aarch64'), ('cp37', 'none', 'any'), ('cp3', 'none', 'any'), ('py37', 'none', 'any'), ('py3', 'none', 'any'), ('py36', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
>>> exit()
[root@localhost ~]#
3、服务器CPU架构
[root@localhost ~]# uname -m
aarch64
4、操作系统内核信息
[root@localhost ~]# rpm -qa |grep kernel
kernel-4.19.36-vhulk1907.1.0.h702.eulerosv2r8.aarch64
kernel-headers-4.19.36-vhulk1907.1.0.h475.eulerosv2r8.aarch64
二、准备相关的软件包
1、软件包内容
[root@localhost tmp]# cd salt-pip/
[root@localhost salt-pip]# ll
total 13752
-rw-r-----. 1 root root 155255 Sep 18 19:20 certifi-2022.12.7-py3-none-any.whl
-rw-r-----. 1 root root 45489 Sep 18 19:20 charset_normalizer-3.0.1-py3-none-any.whl
-rw-r-----. 1 root root 9570 Sep 18 19:20 contextvars-2.4.tar.gz
-rw-r-----. 1 root root 20315 Sep 18 19:20 distro-1.8.0-py3-none-any.whl
-rw-r-----. 1 root root 61538 Sep 18 19:20 idna-3.4-py3-none-any.whl
-rw-r-----. 1 root root 116441 Sep 18 19:20 immutables-0.19-cp37-cp37m-linux_aarch64.whl
-rw-r-----. 1 root root 133357 Sep 18 19:20 Jinja2-3.0.0-py3-none-any.whl
-rw-r-----. 1 root root 9669 Sep 18 19:20 MarkupSafe-2.1.1-py3-none-any.whl
-rw-r-----. 1 root root 15541 Sep 18 19:20 msgpack-1.0.4-py3-none-any.whl
-rw-r-----. 1 root root 2071041 Sep 18 19:20 pycryptodomex-3.16.0-cp35-abi3-linux_aarch64.whl
-rw-r-----. 1 root root 656952 Sep 18 19:20 PyYAML-6.0-cp37-cp37m-linux_aarch64.whl
-rw-r-----. 1 root root 863287 Sep 18 19:20 pyzmq-25.0.0-cp37-cp37m-linux_aarch64.whl
-rw-r-----. 1 root root 62822 Sep 18 19:20 requests-2.28.2-py3-none-any.whl
-rw-r-----. 1 root root 256 Sep 18 19:20 requirements-euler2.8-salt.txt
-rw-r-----. 1 root root 9654098 Sep 18 19:20 salt-3003.1-py3-none-any.whl
-rw-r-----. 1 root root 26662 Sep 18 19:20 typing_extensions-4.4.0-py3-none-any.whl
-rw-r-----. 1 root root 140642 Sep 18 19:20 urllib3-1.26.14-py2.py3-none-any.whl
2、依赖包描述文件requirements-euler2.8-salt.txt内容
[root@localhost salt-pip]# cat requirements-euler2.8-salt.txt
certifi==2022.12.7
charset-normalizer==3.0.1
contextvars==2.4
idna==3.4
immutables==0.19
Jinja2==3.0.0
MarkupSafe==2.1.1
msgpack==1.0.4
pycryptodomex==3.16.0
PyYAML==6.0
pyzmq==25.0.0
requests==2.28.2
salt==3003.1
typing-extensions==4.4.0
urllib3==1.26.14
三、安装测试
1、编写安装脚本install.sh
#!/bin/bash
##__author__='daigjianbing'pip3 install --no-index --find-links . -r requirements-euler2.8-salt.txt
which salt-minion
salt --version
targetfile='/usr/lib/systemd/system/salt-minion.service'
if [ ! -f $targetfile ];thencat > $targetfile <<"EOF"
##__author__='daigjianbing'
[Unit]
Description=The Salt Minion
Documentation=man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltstack.com/en/latest/contents.html
After=network.target salt-master.service[Service]
KillMode=process
Type=notify
NotifyAccess=all
LimitNOFILE=8192
ExecStart=/usr/local/bin/salt-minion[Install]
WantedBy=multi-user.target
EOF
fichmod 644 $targetfile
systemctl daemon-reloadif [ ! -d "/etc/salt" ]; thenmkdir -p /etc/saltchmod 755 /etc/salt
fitargetfile='/etc/salt/minion'
if [ ! -f $targetfile ];thencat > $targetfile <<"EOF"
##__author__='daigjianbing'
master: server
id: test
hash_type: sha256
EOF
fisystemctl enable --now salt-minion
systemctl status salt-minion
2、执行安装
[root@localhost salt-pip]# sh install.sh
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Looking in links: .
Collecting certifi==2022.12.7 (from -r requirements-euler2.8-salt.txt (line 1))
Collecting charset-normalizer==3.0.1 (from -r requirements-euler2.8-salt.txt (line 2))
Collecting contextvars==2.4 (from -r requirements-euler2.8-salt.txt (line 3))
Collecting idna==3.4 (from -r requirements-euler2.8-salt.txt (line 4))
Collecting immutables==0.19 (from -r requirements-euler2.8-salt.txt (line 5))
Collecting Jinja2==3.0.0 (from -r requirements-euler2.8-salt.txt (line 6))
Collecting MarkupSafe==2.1.1 (from -r requirements-euler2.8-salt.txt (line 7))
Collecting msgpack==1.0.4 (from -r requirements-euler2.8-salt.txt (line 8))
Collecting pycryptodomex==3.16.0 (from -r requirements-euler2.8-salt.txt (line 9))
Collecting PyYAML==6.0 (from -r requirements-euler2.8-salt.txt (line 10))
Collecting pyzmq==25.0.0 (from -r requirements-euler2.8-salt.txt (line 11))
Collecting requests==2.28.2 (from -r requirements-euler2.8-salt.txt (line 12))
Collecting salt==3003.1 (from -r requirements-euler2.8-salt.txt (line 13))
Collecting typing-extensions==4.4.0 (from -r requirements-euler2.8-salt.txt (line 14))
Collecting urllib3==1.26.14 (from -r requirements-euler2.8-salt.txt (line 15))
Requirement already satisfied: distro>=1.0.1 in /usr/local/lib/python3.7/site-packages (from salt==3003.1->-r requirements-euler2.8-salt.txt (line 13)) (1.8.0)
Installing collected packages: certifi, charset-normalizer, typing-extensions, immutables, contextvars, idna, MarkupSafe, Jinja2, msgpack, pycryptodomex, PyYAML, pyzmq, urllib3, requests, salt
Successfully installed Jinja2-3.0.0 MarkupSafe-2.1.1 PyYAML-6.0 certifi-2022.12.7 charset-normalizer-3.0.1 contextvars-2.4 idna-3.4 immutables-0.19 msgpack-1.0.4 pycryptodomex-3.16.0 pyzmq-25.0.0 requests-2.28.2 salt-3003.1 typing-extensions-4.4.0 urllib3-1.26.14
/usr/local/bin/salt-minion
salt 3003.1
Created symlink /etc/systemd/system/multi-user.target.wants/salt-minion.service → /usr/lib/systemd/system/salt-minion.service.
● salt-minion.service - The Salt MinionLoaded: loaded (/usr/lib/systemd/system/salt-minion.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2023-09-18 20:17:21 CST; 11ms agoDocs: man:salt-minion(1)file:///usr/share/doc/salt/html/contents.htmlhttps://docs.saltstack.com/en/latest/contents.htmlMain PID: 291056 (salt-minion)Tasks: 1 (limit: 51200)Memory: 17.0MCGroup: /system.slice/salt-minion.service└─291056 /usr/bin/python3 /usr/local/bin/salt-minionSep 18 20:17:20 localhost systemd[1]: Starting The Salt Minion...
Sep 18 20:17:21 localhost systemd[1]: Started The Salt Minion.
看到 active (running),可见salt-minion服务已正常运行起来了。
四、验证结果
1、验证版本及可执行程序情况
root@localhost salt-pip]# salt --version
salt 3003.1
[root@localhost salt-pip]# /usr/local/bin/salt-minion --version
salt-minion 3003.1
[root@localhost salt-pip]# ll /usr/local/bin/salt*
-rwxr-xr-x. 1 root root 225 Sep 18 20:17 /usr/local/bin/salt
-rwxr-xr-x. 1 root root 223 Sep 18 20:17 /usr/local/bin/salt-api
-rwxr-xr-x. 1 root root 225 Sep 18 20:17 /usr/local/bin/salt-call
-rwxr-xr-x. 1 root root 227 Sep 18 20:17 /usr/local/bin/salt-cloud
-rwxr-xr-x. 1 root root 221 Sep 18 20:17 /usr/local/bin/salt-cp
-rwxr-xr-x. 1 root root 223 Sep 18 20:17 /usr/local/bin/salt-key
-rwxr-xr-x. 1 root root 229 Sep 18 20:17 /usr/local/bin/salt-master
-rwxr-xr-x. 1 root root 229 Sep 18 20:17 /usr/local/bin/salt-minion
-rw-r-----. 1 root root 1027 Sep 18 20:17 /usr/local/bin/salt-proxy
-rwxr-xr-x. 1 root root 223 Sep 18 20:17 /usr/local/bin/salt-run
-rwxr-xr-x. 1 root root 223 Sep 18 20:17 /usr/local/bin/salt-ssh
-rwxr-xr-x. 1 root root 229 Sep 18 20:17 /usr/local/bin/salt-syndic
-rwxr-xr-x. 1 root root 227 Sep 18 20:17 /usr/local/bin/salt-unity
2、核对服务运行情况
如上,可见安装已完全成功。
五、相关安装包下载
本人打包好的安装包文件下载
相关文章:

华为aarch64架构的泰山服务器EulerOS 2.0 (SP8)系统离线安装saltstack3003.1实践
华为泰山服务器的CPU芯片架构为aarch64,所装系统为EulerOS 2.0 (SP8)aarch64系统,安装saltstack比较困难。本文讲解通过pip安装方式离线安装saltstack3003.1以进行集中化管理和维护。 一、系统环境 1、操作系统版本 [rootlocalhost ~]# cat /etc/os-r…...

C#中的方法
引言 在C#编程语言中,方法是一种封装了一系列可执行代码的重要构建块。通过方法,我们可以将代码逻辑进行模块化和复用,提高代码的可读性和可维护性。本文将深入探讨C#中的方法的定义、参数传递、返回值、重载、递归等方面的知识,…...

【Flowable】使用UEL整合Springboot从0到1(四)
前言 在前面我们介绍了Springboot简单使用了foleable以及flowableUI的安装和使用,在之前我们分配任务的处理人的时候都是通过Assignee去指定固定的人的。这在实际业务中是不合适的,我们希望在流程中动态的去解析每个节点的处理人,当前flowab…...

WebGL 计算点光源下的漫反射光颜色
目录 点光源光 逐顶点光照(插值) 示例程序(PointLightedCube.js) 代码详解 示例效果 逐顶点处理点光源光照效果时出现的不自然现象 更逼真:逐片元光照 示例程序(PointLightedCube_perFragment.js…...

Java精品项目源码第61期垃圾分类科普平台(代号V061)
Java精品项目源码第61期垃圾分类科普平台(代号V061) 大家好,小辰今天给大家介绍一个垃圾分类科普平台,演示视频公众号(小辰哥的Java)对号查询观看即可 文章目录 Java精品项目源码第61期垃圾分类科普平台(代号V061)难度指数&…...

【Unity3D】资源管理
1 前言 Unity 中资源管理方案主要有 Resources、TextAsset、ScriptableObject 、AssetDatabase、PlayerPrefs、Addressables、AssetBundle、SQLite,本文将介绍其中大部分方案。 2 Resources Resources 主要用于加载资源,被加载的资源需要放在 Resources…...

数据结构-----队列
目录 前言 队列 定义 队列的定义和操作方法 队列节点的定义 操作方式 顺序表实现队列(C/C代码) 链表实现队列(C/C代码) Python语言实现队列 前言 排队是我们日常生活中必不可少的一件事,去饭堂打饭的时候排队&a…...
postgresql教程
postgreSQL教程目录 postgreSQL 创建数据库的方式:postgreSQL删除数据库的方式:PostgreSQL 创建表格postgre删除表格:postgreSQL INSERT INTO 语句postgreSQL SELECT 语句:postgresql索引:什么情况下要避免使用索引? p…...

1万6千多最好的背单词SQLITE\ACCESS数据库
本来是实在不想再整英语类的数据了,因为实在是太多了,奈何今天弄到的这份数据库实在很精彩,因此还是希望能够有人喜欢。 搞一个“accept”字段的样例: 【explain】 vi. 承认;同意;承兑; vt. 接受;承认;承担;承兑; 【etyma】 ac…...
springboot aop Aspectj 切面
常用: Aspect、Component、Pointcut、Before、AfterReturning SpringBoot的AOP(aspect注解)的简单使用 - 知乎 springboot项目中引入Aspectj并使用_springboot引入aspectj_山鬼谣me的博客-CSDN博客...
Leetcode 2862. Maximum Element-Sum of a Complete Subset of Indices
Leetcode 2862. Maximum Element-Sum of a Complete Subset of Indices 1. 解题思路2. 代码实现 题目链接:2862. Maximum Element-Sum of a Complete Subset of Indices 1. 解题思路 这一题的核心在于想明白一点: 要使得子序列当中任意两个数之积均为…...
第一百四十七回 自定义组件一
文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了跟手指移动的小球相关的内容,本章回中将介绍 自定义组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 在项目中有些内容无法通过现有的组件来实现,因此需要自定义组件…...
MySQL 重复数据的处理
文章目录 MySQL 重复数据的处理一,常用处理方法二,统计重复数据三,过滤重复数据四,删除重复数据拓展:MySQL预防SQL注入(一)SQL注入 概述(二)预防措施 MySQL 重复数据的处…...

Java文字描边效果实现
效果: FontUtil工具类的完整代码如下: 其中实现描边效果的函数为:generateAdaptiveStrokeFontImage() package com.ncarzone.data.contentcenter.biz.img.util;import org.springframework.core.io.ClassPathResource; import org.springfr…...
【Web_环境搭建_Python3_pip】pip的升级、安装、更新、卸载,以及pipupgrade和pip-review的基础使用
** 官方说明 ** pip(Python Package Index)是一个以 Python 语言写成的软件包管理系統,使用 pip 可以非常方便的安装和管理 python 软件包PIP ** 查看信息 ** 查看版本 : pip --version查看已有 : pip list、pip freeze查看帮助 : pip help查看库信息 : pip show -f package_…...

农民朋友有福利啦!建行江门市分行“裕农通+农资结算”平台正式上线
随着广东广圣农业发展有限公司办公室内的裕农通“智慧眼”结算机“叮”的一声到账提醒,标志着全国首个“裕农通农资结算“平台的成功上线,也标志着建行广东省江门市分行的裕农通业务又迈上了一个新的台阶。 广东广圣农业发展有限公司(以下简…...
super详解
父类 package com.mypackage.oop.demo06;public class Person06{public Person06() {System.out.println("Person06无参执行了");}protected String name "hexioahei";public void print(){System.out.println("Person");} }子类 package com…...
GMS地下水数值模拟丨GMS各模块、三维地质模型构建及与MODFLOW耦合、地下水流动数值模拟及报告编制、地下水溶质运移模型、反应性溶质运移等
目录 第一部分 地下水数值模拟理论模块 第二部分 地下水数值模拟数据收集、准备及预处理 第三部分 GMS各模块实践 第四部分 三维地质模型构建及与MODFLOW耦合 第五部分 地下水流动数值模拟及报告编制 第六部分 地下水溶质运移模型 第七部分 反应性溶质运移 更多应用 以…...

Redis 配置文件详解 - 持久化(RDB、AOF)
目录 Redis 配置文件详解 单位 包含 INCLUDES 网络 NETWORK 通用 GENERAL 快照 SNAPSHOTTING (持久化) 复制 REPLICATION(主从复制) 安全 SECURITY(账号密码设置) 编辑 限制 CLIENTS 追加模…...

在线Excel转JSON工具
在线Excel转JSON工具 上传excel将数据转换成json格式...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
JavaScript 标签加载
目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...