---
title: 如何在实际的鲲鹏服务器部署ExaGear-官方技术文章-鲲鹏社区
description: 指导开发者基于鲲鹏计算平台，使用鲲鹏社区发布的ExaGear套件进行实际的部署
keywords: ExaGear,如何在实际的,鲲鹏服务器部,官方技术文章,鲲鹏社区,环境要求,安装包获取,安装,程序编译和运
url: https://www.hikunpeng.com/developer/techArticles/20231115-2?envFlag=1
section: (其他)
---

# 如何在实际的鲲鹏服务器部署ExaGear-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20231115-2?envFlag=1
描述: 指导开发者基于鲲鹏计算平台，使用鲲鹏社区发布的ExaGear套件进行实际的部署
关键词: ExaGear,如何在实际的,鲲鹏服务器部,官方技术文章,鲲鹏社区,环境要求,安装包获取,安装,程序编译和运

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

如何在实际的鲲鹏服务器部署ExaGear

如何在实际的鲲鹏服务器部署ExaGear

故障案例

发表于 2023/11/15


## 如何在实际的鲲鹏服务器部署ExaGear

### 1. 环境要求

ExaGear在鲲鹏Linux服务器上部署，要求服务器至少具备如下资源：

表3.1 ExaGear运行环境要求

| 环境 | 配置 |
| --- | ---|
| 硬件 | CPU:  鲲鹏CPU |
| RAM:  512MB及以上 |  |
| 磁盘空间：默认安装路径为/opt/exagear，需保证该目录所在磁盘的空余空间满足：（1）600 MB: 含x86系统库和基础文件系统，在ExaGear安装包中提供（2）用户所运行的x86应用程序需要额外占用空间，包括依赖库文件和相关系统配置文件 |  |
| 软件 | OS: 64 位Linux openEuler, CentOS，Ubuntu操作系统 |
| Docker: 仅ExaGear for Docker版本需要安装 |  |

### 2. 安装包获取

从鲲鹏社区的ExaGear官网获取安装包：https://www.hikunpeng.com/developer/devkit/exagear [了解详情](https://www.hikunpeng.com/developer/devkit/exagear)

并且放置到Linux aarch64系统（Host）。

### 3. 安装

在正式安装ExaGear之前，先当前aarch64系统的页面大小配置，只有4KB页大小的Linux系统才可以使用ExaGear：

```
getconf PAGESIZE
```

显示4096，表示我们使用的实验机配置的是4KB页面。

解压下载到的安装包：

```
tar xzf ExaGear_3.0.0.1.tar.gz
```

以CentOS为例，进入到ExaGear_3.0.0.1/ExaGear_Server_for_Centos7/release目录：

```
cd ./ExaGear_3.0.0.1/ExaGear_Server_for_Centos7/release
```

然后，运行安装命令：

```
rpm -ivh exagear-utils-2838-1.noarch.rpm exagear-integration-2838-1.noarch.rpm exagear-core-x64a64-2838-1.aarch64.rpm exagear-core-x32a64-2838-1.aarch64.rpm exagear-guest-centos-7-x86_64-2838-1.noarch.rpm
```

## X86_64程序编译和运行

这一节的内容用一个简单的helloworld x86_64程序演示如何在aarch64环境，以用户无感知的方式将x86_64程序运行起来。

### 1. 配置yum源

```
exagear
curl -o /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.tools.huawei.com/repository/conf/CentOS-7-anon.repo
```

### 2. 在X86_64环境中，yum安装gcc编译环境

```
yum install gcc -y
```

查看gcc版本：

出现上述信息则表示安装成功。

### 3. 在ExaGear提供的x86_64环境，编译运行Hello World

创建一个C文件，例如helloworld.c。

```
cat helloworld.c
```

这里的C文件源码内容如下：

```
#include <stdio.h>

int main()
{
Printf(“Hello World.\n”);
Return 0;
}

```

编译C文件：

```
gcc -o helloworld helloworld.c
```

运行程序：

```
./helloworld
```

结果如下所示：

执行如下命令查看该程序的属性（以60个字符的宽度显示）：

```
file ./helloworld | fold –w 60

```

我们可以看到，编出来的程序是x86_64平台的：

### 4. 在aarch64 host环境，运行同一个Hello World程序

我们运行exit命令，退至aarch64环境的/root/目录：

```
exit
arch
```

运行helloworld程序：

```
./helloworld
file ./helloworld | fold –w 60
```

可以看到，虽然在aarch64的环境中，helloworld作为x86_64平台的程序仍然可以正确运行。（如图）

这是因为，Host和Guest所看到的/root/默认被配置成了ExaGear共享目录。在aarch64环境下，运行/root/目录下的x86_64程序会自动启动ExaGear转码机制。

## x86_64无源码软件在ExaGear环境的部署

x86_64无源码软件在ExaGear环境的安装部署、运行过程与其在x86_64服务器环境下的过程并无二致。这一节我们以一款简单的图形应用xclock为例，在ExaGear环境安装它的x86_64二进制，然后运行它。读者可以通过这个例子，直观地感受x86_64无源码软件在鲲鹏服务器上的运行过程，推此及彼地理解x86_64无源码商用软件在鲲鹏平台的应用。

### 1. x86_64无源码软件的安装

在ExaGear环境下安装x86_64无源码软件通常包括两部分：

（1）与x86_64无源码软件相关的依赖包。

（2）x86_64无源码软件本身；

依赖包通常由操作系统发行版的供应商提供，以ISO镜像或者在线源的形式挂载到ExaGear环境可以访问的目录，再用yum或者apt等包管理器工具完成安装（如3.1节所述）。以xclock相关的依赖包为例：

```
yum install -y libX11*
```

无源码软件本身的安装视情况而定：如果是MatLab之类的商用软件，安装步骤通常会在软件包内有说明文件，并且以脚本的形式启动安装。我们这里演示用的xclock，其安装包已经包含在操作系统供应商提供的ISO镜像中，因此也可以用yum命令安装xclock：

```
yum install -y xorg-x11*
```

### 2. x86_64无源码软件的运行

作为演示，我们先确认文件是x86_64格式:

然后运行xclock，得到如下的画面：

通常来讲，一款x86_64无源码商用软件的正常使用还会涉及到License相关的事务（如授权码，或者License-manager相关的设置）。从软件供应商购买到的授权信息在ExaGear环境依然有效，使用方式和x86_64服务器一致。
