当前位置: 首页 > news >正文

华为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&#xff0c;所装系统为EulerOS 2.0 (SP8)aarch64系统&#xff0c;安装saltstack比较困难。本文讲解通过pip安装方式离线安装saltstack3003.1以进行集中化管理和维护。 一、系统环境 1、操作系统版本 [rootlocalhost ~]# cat /etc/os-r…...

C#中的方法

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

【Flowable】使用UEL整合Springboot从0到1(四)

前言 在前面我们介绍了Springboot简单使用了foleable以及flowableUI的安装和使用&#xff0c;在之前我们分配任务的处理人的时候都是通过Assignee去指定固定的人的。这在实际业务中是不合适的&#xff0c;我们希望在流程中动态的去解析每个节点的处理人&#xff0c;当前flowab…...

WebGL 计算点光源下的漫反射光颜色

目录 点光源光 逐顶点光照&#xff08;插值&#xff09; 示例程序&#xff08;PointLightedCube.js&#xff09; 代码详解 示例效果 逐顶点处理点光源光照效果时出现的不自然现象 更逼真&#xff1a;逐片元光照 示例程序&#xff08;PointLightedCube_perFragment.js…...

Java精品项目源码第61期垃圾分类科普平台(代号V061)

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

【Unity3D】资源管理

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

数据结构-----队列

目录 前言 队列 定义 队列的定义和操作方法 队列节点的定义 操作方式 顺序表实现队列&#xff08;C/C代码&#xff09; 链表实现队列&#xff08;C/C代码&#xff09; Python语言实现队列 前言 排队是我们日常生活中必不可少的一件事&#xff0c;去饭堂打饭的时候排队&a…...

postgresql教程

postgreSQL教程目录 postgreSQL 创建数据库的方式&#xff1a;postgreSQL删除数据库的方式&#xff1a;PostgreSQL 创建表格postgre删除表格&#xff1a;postgreSQL INSERT INTO 语句postgreSQL SELECT 语句:postgresql索引&#xff1a;什么情况下要避免使用索引&#xff1f; p…...

1万6千多最好的背单词SQLITE\ACCESS数据库

本来是实在不想再整英语类的数据了&#xff0c;因为实在是太多了&#xff0c;奈何今天弄到的这份数据库实在很精彩&#xff0c;因此还是希望能够有人喜欢。 搞一个“accept”字段的样例&#xff1a; 【explain】 vi. 承认;同意;承兑; vt. 接受;承认;承担;承兑; 【etyma】 ac…...

springboot aop Aspectj 切面

常用&#xff1a; Aspect、Component、Pointcut、Before、AfterReturning SpringBoot的AOP&#xff08;aspect注解&#xff09;的简单使用 - 知乎 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. 代码实现 题目链接&#xff1a;2862. Maximum Element-Sum of a Complete Subset of Indices 1. 解题思路 这一题的核心在于想明白一点&#xff1a; 要使得子序列当中任意两个数之积均为…...

第一百四十七回 自定义组件一

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了跟手指移动的小球相关的内容&#xff0c;本章回中将介绍 自定义组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 在项目中有些内容无法通过现有的组件来实现&#xff0c;因此需要自定义组件&#xf…...

MySQL 重复数据的处理

文章目录 MySQL 重复数据的处理一&#xff0c;常用处理方法二&#xff0c;统计重复数据三&#xff0c;过滤重复数据四&#xff0c;删除重复数据拓展&#xff1a;MySQL预防SQL注入&#xff08;一&#xff09;SQL注入 概述&#xff08;二&#xff09;预防措施 MySQL 重复数据的处…...

Java文字描边效果实现

效果&#xff1a; FontUtil工具类的完整代码如下&#xff1a; 其中实现描边效果的函数为&#xff1a;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_…...

农民朋友有福利啦!建行江门市分行“裕农通+农资结算”平台正式上线

随着广东广圣农业发展有限公司办公室内的裕农通“智慧眼”结算机“叮”的一声到账提醒&#xff0c;标志着全国首个“裕农通农资结算“平台的成功上线&#xff0c;也标志着建行广东省江门市分行的裕农通业务又迈上了一个新的台阶。 广东广圣农业发展有限公司&#xff08;以下简…...

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 &#xff08;持久化&#xff09; 复制 REPLICATION&#xff08;主从复制&#xff09; 安全 SECURITY&#xff08;账号密码设置&#xff09; ​编辑 限制 CLIENTS 追加模…...

在线Excel转JSON工具

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

Spring编程常见错误50例-Spring Bean依赖注入常见错误(下)

Value没有注入预期的值 问题 对于Value可以装配多种类型的数据&#xff1a; 装配对象&#xff1a; Value("#{student}") private Student student;Bean public Student student(){Student student createStudent(1, "xie");return student; }装配字符…...

SpringBoot整合Canal实现MySQL与ES数据同步

文章目录 SpringBoot项目引入Canal依赖配置文件项目结构设置监听类其余类、接口内容启动类实体类Controller类Mapper接口Serice接口 运行测试 开始之前请确认docker中已运行mysql与canal容器&#xff0c;并完成了监听binlog配置 未完成可移步&#xff1a; Docker部署Canal监听…...

Zookeeper 源码分析流程

文章目录 前言Zookeeper启动加载磁盘数据与客户端的通信交互Leader选举准备节点状态处理总结 前言 Zookeeper 作为分布式协调服务为分布式系统提供了一些基础服务&#xff0c;如&#xff1a;命名服务、配置管理、同步等&#xff0c;使得开发者可以更加轻松地处理分布式问题。 …...

计数排序与基数排序

计数排序与基数排序 计数排序 计数排序&#xff1a;使用一个数组记录序列中每一个数字出现的次数&#xff0c;将该数组的下标作为实际数据&#xff0c;元素的值作为数据出现的次数。例如对于序列[3,0,1,1,3,3,0,2]&#xff0c;统计的结果为&#xff1a; 0出现的次数&#xf…...

Mysql—表操作

目录 1、linux中数据库表名区分大小写&#xff0c;windows不区分2、创建数据库表3、外键4、查看数据表结构5、修改表5.1、修改表名5.2、添加字段5.3、指定位置添加字段5.4、修改字段名称5.5、修改字段类型5.6、修改字段位置5.7、删除字段5.8、修改表存储引擎5.9、删除外键 1、l…...

SpringCloud——微服务

微服务技术栈 在之前的开发过程中&#xff0c;我们将所有的服务都部署在一台服务器中&#xff0c;当我们的服务开始越来越多&#xff0c;业务越来越复杂&#xff0c;当一台服务器不能承担我们的业务的时候&#xff0c;就需要将不同的业务分开部署在不同的服务器上&#xff0c;…...

深入理解Java单例模式和优化多线程任务处理

目录 饿汉模式懒汉模式单线程版多线程版双重检查锁定 阻塞队列 单例模式能保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例&#xff0c;并提供一个全局访问点。 饿汉模式 类加载的同时&#xff0c;创建实例。 class Singleton {private static final Singlet…...

已解决 Kotlin Error: Type mismatch: inferred type is String but Int was expected

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…...

Web应用系统的小安全漏洞及相应的攻击方式

写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为。 主要目的如下&#xff1a; 了解什么叫安全漏洞 知道什么是api 了解一些获取api的工具 通过对API的认识了解白盒接口测试基本概念和技术 免责声明&#xff1a; 本文主要是以学习交流为目的&a…...

git工具下载和安装

(1)从git官网下载安装包 然后安装 https://git-scm.com/downloads (2)git 学习参考官方的资料 https://git-scm.com/book/en/v2...

wordpress图片广告代码/站长全网指数查询

字符串介绍String类是java.lang包中的一个类&#xff0c;是我们日常中使用的非常多的一个类&#xff0c;它不是基础数据类型&#xff0c;底层实现是字符数组来实现的&#xff1a;/** The value is used for character storage. */private final char value[];String类是由final…...

海南建设工程股份有限公司网站/百度竞价优缺点

写在前面 本文学习内容来自《算法图解》一书及百度百科内容 算法是一组完成任务的指令。任何代码片段都可视为算法。 —— 摘自《算法图解》 选择排序 以下内容摘自百度百科 选择排序&#xff08;Selection sort&#xff09;是一种简单直观的排序算法。它的工作原理是每一次从…...

苏州做网站推广的公司哪家好/百度客服电话24小时客服电话

json是什么? 来个形式点的定义 json就是由 { } , [ ] ," " , : 构成的一串字符; 其中: {}表示对象; []表示数组; ""表示属性或值; :表示前面是属性,后面是值 举例如下: ①对象json:{"name":"tom"} ②数组json:["lily",&…...

做网站能创业吗/怎样做一个自己的网站

这是17年暑假学习Linux汇编语言的笔记记录&#xff0c;参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译《汇编语言基于Linux环境》的书&#xff0c;喜欢看原版书的同学可以看《Assembly Language Step-By-Setp:Programming with Linux 3rd Edition》&#xff0c;非常感谢该…...

龙岗义乌网站制作/网站优化课程

最近想开始多学习一下工作中代码常常使用的设计模式。 除单例模式&#xff0c;工厂模式之外&#xff0c;command模式用的也是比较多的。 在学习了“正统”的设计模式之后&#xff0c;再来看实际项目代码中使用的类似的设计模式&#xff0c;发现还是有差别的——事实上&#x…...

河北手机网站制作哪家好/网站搭建关键词排名

图书租售管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对图书租售管理…...