-
前言:本文以操作系统为CentOS 6.5的云服务器为例,搭建RHCS集群系统,使用GFS2分布式文件系统,实现一个共享盘在多个云服务器之间可共享文件。搭建一共6个步骤,分为7篇文章分步讲解,点击下面链接即可跳转到相应文章。00 简介01 RHCS集群资源规划02 创建资源03 配置云服务器网络04 安装RHCS集群05 创建集群并配置磁盘06 验证磁盘共享功能本节介绍了RHCS集群中的云服务器及云硬盘资源的规划情况。云服务器资源本示例中批量创建3台云服务器,其中云服务器参数配置如 表1 所示。这3台服务器组成一个小型集群,其中1台管理节点,两台业务节点。表1 云服务器配置参数云硬盘资源本示例中创建了1个VBD共享云硬盘,并挂载至节点1和节点2,即ecs-share-0001和ecs-share-0002。
-
本文以操作系统为CentOS 6.5的云服务器为例,搭建RHCS(Red Hat Cluster Suite)集群系统,使用GFS2分布式文件系统,实现一个共享盘在多个云服务器之间可共享文件。什么是共享盘?共享云硬盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。单个共享云硬盘最多可同时挂载给16个云服务器,其使用场景如 图1 所示。图1 共享云硬盘使用场景怎样实现共享功能?将共享云硬盘挂载给多台云服务器后,需要安装共享文件系统或类似的集群管理系统,才能实现在多台云服务器之间共享文件。搭建流程使用VBD共享云硬盘搭建RHCS集群(Linux)一共6个步骤,分为7篇文章分步讲解,点击下面链接即可跳转到相应文章。00 简介01 RHCS集群资源规划02 创建资源03 配置云服务器网络04 安装RHCS集群05 创建集群并配置磁盘06 验证磁盘共享功能
-
视频业务,服务上云。linux的华为云系统,需要连接本地windows文件数据服务器,作为用户视频文件的存储。请问:华为云系统怎么才能连接到本地数据服务器?
-
请检查一下,谢谢
-
化鲲为鹏,我有话说因为我们大部分的src.rpm包都是从fedora官网下载的(fedora与centos兼容性更好),而fedora的spec语法与centos有略微的差异。在编译rpm过程中存在因为语法差异导致的失败。故将当前遇到的差异及解决方案做了整理。一、%ldconfig_scriptlets%ldconfig_scriptlets是Fedora特有的,如果从Fedora官网取的rpm源码在centos平台编译,会因为不识别%ldconfig_scriptlets而报错。修改方法如下:比如:%ldconfig_scriptlets替换为:%post -p /sbin/ldconfig %postun -p /sbin/ldconfig比如:%ldconfig_scriptlets gnutls替换为:%post gnutls -p /sbin/ldconfig %postun gnutls -p /sbin/ldconfig二、Suggests提示级别,建议删除后编译三、Enhances提示级别,建议删除后编译四、Recommends弱依赖,建议删除后编译五、Supplements弱依赖,建议删除后编译
-
华为大数据FusionInsight HD安装教程,三台linux 模拟大数据学习环境的安装视频链接:https://*********.com/s/10ndCXiA7L1H612p_vt28WQ提取码:7fhb 复制这段内容后打开百度网盘手机App,操作更方便哦腾科IT教育
-
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库,包含一些额外的软件包以及已有软件的 git 版本等变种。https://github.com/archlinuxcn/mirrorlist-repo https://cdn.repo.archlinuxcn.org/
-
1、简介 Libreoffice是个开源office软件,综合环境,带宽等因素,完成此包的编译至少需半天时间。 官方链接:https://www.libreoffice.org 类别:办公2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.6 Kernel4.14 软件包Libreoffice6.1.6.3https://kojipkgs.fedoraproject.org//packages/libreoffice/6.1.6.3/1.fc29/src/libreoffice-6.1.6.3-1.fc29.src.rpmXmlsec11.2.25https://kojipkgs.fedoraproject.org//packages/xmlsec1/1.2.25/5.fc29/src/xmlsec1-1.2.25-5.fc29.src.rpmlibnumbertext1.0.3https://kojipkgs.fedoraproject.org//packages/libnumbertext/1.0.3/1.fc29/src/libnumbertext-1.0.3-1.fc29.src.rpm3、依赖安装编译过程中一共有两个包版本需要升级:xmlsec1, libnumbertext,举例如下configure: error: Package requirements (xmlsec1-nss >= 1.2.24) were not met:Requested 'xmlsec1-nss >= 1.2.24' but version of xmlsec1-nss is 1.2.20修改spec文件如下(ldconfig_scriptlets为fedora独有宏,centos不认识,需要替换):bash-4.2# git clone https://src.fedoraproject.org/rpms/xmlsec1.gitbash-4.2# git checkout f29bash-4.2# diff -bu xmlsec1.spec*--- xmlsec1.spec 2018-07-16 02:22:59.000000000 +0800+++ xmlsec1.spec.new 2019-06-22 13:21:59.052881474 +0800@@ -123,9 +123,18 @@rm -rf __tmp_doc ; mkdir __tmp_docmv %{buildroot}%{_docdir}/xmlsec1/* __tmp_doc-%ldconfig_scriptlets-%ldconfig_scriptlets gnutls-%ldconfig_scriptlets openssl+%post -p /sbin/ldconfig+%postun -p /sbin/ldconfig++%post gnutls -p /sbin/ldconfig+%postun gnutls -p /sbin/ldconfig++%post openssl -p /sbin/ldconfig+%postun openssl -p /sbin/ldconfig++#%ldconfig_scriptlets+#%ldconfig_scriptlets gnutls+#%ldconfig_scriptlets openssl%files%doc AUTHORS ChangeLog NEWS README Copyrightbash-4.2# su - mockbuild[mockbuild@arm-recommend ~]$ cp /code//* rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libxmlsec1.spec.new[mockbuild@arm-recommend ~]$ sudo rpm -Uv /home/mockbuild/rpmbuild/RPMS/aarch64/xmlsec1{,-nss}{,-devel}-1.2.25-5.el7.aarch64.rpmPreparing packages...xmlsec1-1.2.25-5.el7.aarch64xmlsec1-devel-1.2.25-5.el7.aarch64xmlsec1-nss-1.2.25-5.el7.aarch64xmlsec1-nss-devel-1.2.25-5.el7.aarch64xmlsec1-nss-devel-1.2.20-7.el7_4.aarch64xmlsec1-devel-1.2.20-7.el7_4.aarch64xmlsec1-nss-1.2.20-7.el7_4.aarch64xmlsec1-1.2.20-7.el7_4.aarch64libnumbertext要求GCC版本4.9及以上。当前我们4.8.5的gcc较难升级,我们尝试另一条路--enable-boost。在libnumbertext.spec的configure行添加参数,为解决编译报错,解压tar包修改后打包回去,制作rpm包,修改如下:bash-4.2# git clone https://src.fedoraproject.org/rpms/libnumbertext.gitbash-4.2# git checkout f29bash-4.2# diff -bu libnumbertext.spec*--- libnumbertext.spec 2018-08-16 09:56:39.000000000 +0000+++ libnumbertext.spec.new 2019-06-22 05:47:19.278375751 +0000@@ -28,7 +28,7 @@%buildautoreconf -v --install --force-%configure --disable-silent-rules --disable-static --disable-werror --with-pic+%configure --disable-silent-rules --disable-static --disable-werror --with-pic --enable-boostmake %{?_smp_mflags}%checkbash-4.2# diff -bu libnumbertext-1.0.3/src/spellout.cxx*--- libnumbertext-1.0.3/src/spellout.cxx 2018-06-24 20:33:21.000000000 +0000+++ libnumbertext-1.0.3/src/spellout.cxx.new 2019-06-22 06:24:12.636664515 +0000@@ -1,5 +1,5 @@#include "Numbertext.hxx"-#include "numbertext-version.h"+#include "config.h"#include <cstring>#ifdef HAVE_BOOST_REGEX[mockbuild@arm-recommend ~]$ sudo rpm -iv /home/mockbuild/rpmbuild/RPMS/aarch64/libnumbertext{,-devel}-1.0.3-1.el7.aarch64.rpmPreparing packages...libnumbertext-1.0.3-1.el7.aarch64libnumbertext-devel-1.0.3-1.el7.aarch643)依赖包安装libreoffice要求非root用户编译,fedora使用mockbuild用户进行编译,我们可以参考bash-4.2# useradd mockbuildbash-4.2# su - mockbuild[mockbuild@arm-recommend ~]$ mkdir -p rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ cp /code/libreoffice/* rpmbuild/SOURCES[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec |& grep needed | awk '{print $1}' | xargs sudo yum install -y至此,环境已准备就绪,我们正式进行编译。4、组件编译安装此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。执行后/root/zyy目录下就是个可用的chroot环境,chroot进去即可进行任意操作。[root@arm-recommend ~]# yum install --installroot=/root/zyy/ -y basesystem yum rpm-build[root@arm-recommend ~]# mount --bind /dev/ /root/zyy/dev[root@arm-recommend ~]# mount --bind /proc/ /root/zyy/proc/安装epel-release,或者自行创建epel.repo文件。推荐所有reo源修改为华为开源镜像站,速度更快更稳定。(EPEL中包含了libreoffice所需的rpm包,无需自行编译解决)bash-4.2# yum install -y epel-releaseSPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载libreoffice的src rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。(时间精力有限,前期编译并未采用此方法,这条路期待读者自行走完,理论上更简单。)bash-4.2# yum install -y which wget git sudobash-4.2#wget https://kojipkgs.fedoraproject.org//packages/libreoffice/6.1.6.3/1.fc29/src/libreoffice-6.1.6.3-1.fc29.src.rpm 或者,我们可以使用fedora的git库(其中不包含tar包,下载较快,但错误较多,请做好准备)bash-4.2# git clone https://src.fedoraproject.org/rpms/libreoffice.gitbash-4.2# git checkout f29就libreoffice而言,libreoffice的源码包来源于http://download.documentfoundation.org/libreoffice/src/6.1.6/,外部依赖包来源于https://dev-www.libreoffice.org/src/,至于为什么是以下这些包,一方面,libreoffice.spec文件中的Source行,指定了需要那些包以及URL,另一方面,编译过程中会报错需要哪个包,最终如下。<Object: word/embeddings/oleObject1.bin><Object: word/embeddings/oleObject2.bin>4)Libreoffice编译 Spec文件里注释了BuildRequires: pkgconfig(libpq),这个能力是由postgresql-devel提供的,安装即可。[mockbuild@arm-recommend ~]$ sudo yum install -y postgresql-devellibreoffice还要求python版本>=3.3才行,我们安装python36-devel解决(源仓库为epel)[mockbuild@arm-recommend ~]$ sudo yum install -y python36-devel之后就是漫长的等待了。[mockbuild@arm-recommend ~]$ rpmbuild -ba rpmbuild/SOURCES/libreoffice.spec5、系统配置无6、测试没有KVM访问权限,VNC端口亦未开放,所以无法测试功能。安装是没问题的。7、参考信息无8、FAQ无
-
1、简介 puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息. 官方链接:https://puppet.com/ 类别:平台管理系统2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包puppet5.5.1https://kojipkgs.fedoraproject.org/packages/puppet/5.5.1/2.fc29/src/puppet-5.5.1-2.fc29.src.rpm3、依赖安装无4、组件编译安装此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。执行后/root/zmm目录下就是个可用的chroot环境,chroot进去即可进行任意操作。[root@arm-team-0009 ~]# yum install --installroot=/root/xxx/ -y basesystem yum rpm-build[root@arm-team-0009 ~]# mount --bind /dev/ /root/xxx/dev[root@arm-team-0009 ~]# mount --bind /proc/ /root/xxx/proc/Chroot环境创建后,进去发现很多基础命令没有,比如vi,需要自行安装对应的rpm包。如下图所示:已可用。其它命令如遇到不可用的,请参考上图的方法添加。推荐所有reo源修改为华为开源镜像站,速度更快更稳定。配置参考如下图所示:bash-4.2# grep "huawei" -ri /etc/yum.repos.d//etc/yum.repos.d/CentOS-EPEL.repo:baseurl=https://mirrors.huaweicloud.com/epel/7/aarch64//etc/yum.repos.d/euleros.repo:baseurl=http://mirrors.huaweicloud.com/euler/2.3/os/aarch64//etc/yum.repos.d/euleros.repo:gpgkey=http://mirrors.huaweicloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ SPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载nginx的src rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。bash-4.2# yum install -y which wget git sudo makebash-4.2#wget https://kojipkgs.fedoraproject.org/packages/puppet/5.5.1/2.fc29/src/puppet-5.5.1-2.fc29.src.rpm 或者,我们可以使用fedora的git库(其中不包含tar包,下载较快,但错误较多,请做好准备)bash-4.2# git clone https://src.fedoraproject.org/rpms/puppet.gitbash-4.2# git checkout f28说明:git库的源码没有5.5.1的,最接近的是5.5.10。4)puppet编译:安装源码包: Spec文件里要求的编译依赖如下:BuildRequires: hiera >= 2.0BuildRequires: hiera < 4BuildRequires: ruby-devel >= 1.8.7BuildRequires: ruby-facter >= 3.0BuildRequires: facter >= 2.0BuildRequires: facter < 4Spec文件里要求的安装依赖如下:Requires: ruby(abi) = 1.8Requires: ruby(release)Requires: ruby(shadow)Requires: rubygem(json)Requires: rubygem(pathspec)Requires: rubygem(rgen)Requires: ruby使用yum安装一次,解决部分依赖包:bash-4.2# yum install hiera ruby-devel ruby-facter facter ruby-shadow ruby-augeas rubygem-pathspec rubygem-rgen libselinux-ruby无法使用yum正确安装的包(hiera使用yum安装版本不匹配),找到依赖的对应rpm包安装:bash-4.2#wget https://kojipkgs.fedoraproject.org/packages/hiera/3.0.1/3.fc26/noarch/hiera-3.0.1-3.fc26.noarch.rpmbash-4.2# rpm -ivh hiera-3.0.1-3.fc26.noarch.rpmbash-4.2#wget https://kojipkgs.fedoraproject.org/packages/rubygem-pathspec/0.2.1/2.fc28/noarch/rubygem-pathspec-0.2.1-2.fc28.noarch.rpmbash-4.2# rpm -ivh rubygem-pathspec-0.2.1-2.fc28.noarch.rpm编译puppet rpm包:bash-4.2# rpmbuild -ba /root/rpmbuild/SPECS/puppet.spec编译后的结果如下:6)puppet安装卸载安装:卸载:5、系统配置无6、测试测试内容:查看puppet是否安装成功bash-4.2# rpm -qa puppetbash-4.2# puppet --help测试结果:安装成功测试内容:puppet是否能正常启动,需要在原环境下运行测试结果:puppet可以正常启动7、参考信息无8、FAQQ:测试puppet是否能正常启动时需要在正常环境下测试?A:chroot环境下启动不起来puppet。
-
1、简介 BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士**。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。 官方链接:https://busybox.net/ 类别:系统工具2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包GCC4.8.5 Busybox1.26.2 Make3.8.23 perl5.16.3 libgcrypt-devel1.5.3 glibc-static2.17.260 ncurses-devel5.9.14 3、依赖安装清除yumyum clean all下载服务器包到本地缓存yum makecache更新yum 包yum -y update安装操作系统自带依赖软件版本yum install gcc gcc-c++ perl glibc-static ncurses-devel libgcrypt-devel libselinux-devel libselinux-static libsepol-devel libsepol-static 4、组件编译安装 下文以此配置为例安装目录:${INSTALL_DIR} 下载busybox源码并解压wget https://download.fedoraproject.org/pub/fedora/linux/releases/28/Everything/source/tree/Packages/b/busybox-1.26.2-3.fc27.src.rpm 安装源码包rpm -ivh busybox-1.26.2-3.fc27.src.rpm源码包默认解压到/root目录编译源码包rpmbuild -ba /root/rpmbuild/SPECS/busybox.spec 安装busyboxcd /root/rpmbuild/RPMS/aarch64/rpm -ivh busybox-1.26.2-3.el7.centos.a.aarch64.rpm5、系统配置无6、测试测试内容:进入busybox,执行部分命令,如ls、mkdir测试结果:见下图7、参考信息官方源码编译指导:https://busybox.net/ 8、FAQQ:在rpm -ivh安装时出现mock警告时影响后续操作A:解决用户组的问题,因为在fedora编译的时候存在这个用户组,解决问题方法如下:解决mock问题后,继续安装Q:找不到rpmbuild命令A:安装rpmbuild命令 yum install rpm-build -y
-
1、简介 Node作为异步事件驱动的JavaScript runtime,旨在构建可伸缩的网络应用程序。Node在设计上类似于Ruby的事件机或Python的Twisted等系统,并且受到它们的影响。 官方链接:https://nodejs.org/en/ 类别:代理服务器2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包node0.3.2https://kojipkgs.fedoraproject.org/packages/node/0.3.2/25.fc30/src/node-0.3.2-25.fc30.src.rpm3、依赖安装无4、组件编译安装此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。执行后/root/zmm目录下就是个可用的chroot环境,chroot进去即可进行任意操作。[root@arm-team-0009 ~]# yum install --installroot=/root/zmm/ -y basesystem yum rpm-build[root@arm-team-0009 ~]# mount --bind /dev/ /root/zmm/dev[root@arm-team-0009 ~]# mount --bind /proc/ /root/zmm/proc/Chroot环境创建后,进去发现很多基础命令没有,比如vi,需要自行安装对应的rpm包。如下图所示:已可用。其它命令如遇到不可用的,请参考上图的方法添加。推荐所有reo源修改为华为开源镜像站,速度更快更稳定。配置参考如下图所示:bash-4.2# grep "huawei" -ri /etc/yum.repos.d//etc/yum.repos.d/CentOS-EPEL.repo:baseurl=https://mirrors.huaweicloud.com/epel/7/aarch64//etc/yum.repos.d/euleros.repo:baseurl=http://mirrors.huaweicloud.com/euler/2.3/os/aarch64//etc/yum.repos.d/euleros.repo:gpgkey=http://mirrors.huaweicloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/SPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载node的src rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。bash-4.2# yum install -y which wget git sudo makebash-4.2#wget https://kojipkgs.fedoraproject.org/packages/node/0.3.2/25.fc30/src/node-0.3.2-25.fc30.src.rpm说明:node包源码是最新的,但spec文件官网一直没有修改,所以我们看到的rpm包的版本是0.3.2。 安装源码包:rpm -ivh node-0.3.2-25.fc30.src.rpm Spec文件里要求的编译依赖如下:BuildRequires: gccBuildRequires: zlib-develBuildRequires: libax25-develSpec文件里要求的安装依赖如下:Requires: /sbin/serviceRequires: xinetd找到依赖的对应rpm包安装即可。bash-4.2# yum install -y gcc zlib-devel libax25-devel xinetd initscripts不能使用yum安装的包libax25-devel,获取rpm包安装:bash-4.2#wget http://rpmfind.net/linux/fedora/linux/releases/30/Everything/aarch64/os/Packages/l/libax25-devel-1.0.5-8.fc30.aarch64.rpmbash-4.2#wget http://rpmfind.net/linux/fedora/linux/releases/30/Everything/aarch64/os/Packages/l/libax25-1.0.5-8.fc30.aarch64.rpm安装libax包:rpm -ivh libax25-*.rpmbash-4.2# rpmbuild -ba /root/rpmbuild/SPECS/node.spec编译后的结果如下:安装:卸载:5、系统配置无6、测试无7、参考信息无8、FAQ无
-
1、简介 Tesseract支持多种输出格式:纯文本、HOCR (HTML)、PDF、隐形文本PDF、TSV。主分支还对ALTO (XML)输出提供实验性支持。 官方链接:https://github.com/tesseract-ocr/tesseract 类别:代理服务器2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包tesseract4.0.0https://kojipkgs.fedoraproject.org/packages/tesseract/4.0.0/3.fc30/src/tesseract-4.0.0-3.fc30.src.rpmlibicu52.1https://kojipkgs.fedoraproject.org/packages/icu/52.1/6.fc21/src/icu-52.1-6.fc21.src.rpmleptonica1.74.0https://kojipkgs.fedoraproject.org/packages/leptonica/1.74.0/1.fc26/src/leptonica-1.74.0-1.fc26.src.rpm3、依赖安装无4、组件编译安装此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。1)创建chroot环境执行后/root/zmm目录下就是个可用的chroot环境,chroot进去即可进行任意操作。[root@arm-team-0009 ~]# yum install --installroot=/root/zmm/ -y basesystem yum rpm-build[root@arm-team-0009 ~]# mount --bind /dev/ /root/zmm/dev[root@arm-team-0009 ~]# mount --bind /proc/ /root/zmm/proc/Chroot环境创建后,进去发现很多基础命令没有,比如vi,需要自行安装对应的rpm包。如下图所示:已可用。其它命令如遇到不可用的,请参考上图的方法添加。2)配置YUM源推荐所有reo源修改为华为开源镜像站,速度更快更稳定。配置参考如下图所示:bash-4.2# grep "huawei" -ri /etc/yum.repos.d//etc/yum.repos.d/CentOS-EPEL.repo:baseurl=https://mirrors.huaweicloud.com/epel/7/aarch64//etc/yum.repos.d/euleros.repo:baseurl=http://mirrors.huaweicloud.com/euler/2.3/os/aarch64//etc/yum.repos.d/euleros.repo:gpgkey=http://mirrors.huaweicloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64//etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/3)源码包准备SPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载nginx的src rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。bash-4.2# yum install -y which wget git sudo makebash-4.2#wget https://kojipkgs.fedoraproject.org/packages/tesseract/4.0.0/3.fc30/src/tesseract-4.0.0-3.fc30.src.rpm 或者,我们可以使用fedora的tesseract库(其中不包含tar包,下载较快,但错误较多,请做好准备)bash-4.2# git clone https://src.fedoraproject.org/rpms/tesseract.gitbash-4.2# git checkout f30安装源码包:Spec文件里要求的编译依赖如下:BuildRequires: automakeBuildRequires: autoconf-archiveBuildRequires: gcc-c++BuildRequires: libtoolBuildRequires: libtiff-develBuildRequires: leptonica-develBuildRequires: cairo-develBuildRequires: libicu-develBuildRequires: pango-devel找到依赖的对应rpm包安装即可。bash-4.2# yum install -y automake autoconf-archive gcc-c++ libtool libtiff-devel cairo-devel pango-devel不能使用yum安装的包下载源码编译后安装:bash-4.2# wget https://kojipkgs.fedoraproject.org/packages/leptonica/1.74.0/1.fc26/src/leptonica-1.74.0-1.fc26.src.rpmbash-4.2#rpm -ivh leptonica-1.74.0-1.fc26.src.rpm编译后安装即可使用。tesseract 4.0.0版本新增了train模块,该模块源码对libicu高版本依赖。Centos 7.5自带的libicu包对宏U_RIGHT_TO_LEFT_ISOLATE没有定义。所以先编译安装libicu高版本。我们选择icu-52.1版本源码:bash-4.2# wget https://kojipkgs.fedoraproject.org/packages/icu/52.1/6.fc21/src/icu-52.1-6.fc21.src.rpmbash-4.2#rpm -ivh icu-52.1-6.fc21.src.rpmbash-4.2#rpmbuild -ba /root/rpmbuild/SPEC/icu.specbash-4.2#rpm -ivh /root/rpmbuild/RPMS/*/libicu*.rpm编译tesseract rpm包:bash-4.2# rpm -ivh tesseract-4.0.0-3.el7.src.rpm bash-4.2# rpmbuild -ba /root/rpmbuild/SPECS/tesseract.specSpec文件中存在未打包的文件/usr/share/*,添加重新编译:%files....../usr/share/*编译后的结果如下:5、系统配置无6、测试1)tesseract安装卸载安装:卸载:2)[root@arm-team-0009 1]# tesseract /home/wuyujie/apache-artemis-2.9.0/web/user-manual/images/architecture2.jpg result -l engTesseract Open Source OCR Engine v4.0.0 with Leptonica[root@arm-team-0009 1]# lltotal 4-rw-r--r-- 1 root root 194 Jun 26 11:30 result.txt[root@arm-team-0009 1]# cat result.txt7、参考信息无8、FAQQ:tesseract编译无法编译成功?A:当编译报错时显示宏未定义,是因为需要升级他的依赖包libicu的版本至52.1.6,但52.1.6会在安装中与他自带的libicu50版本冲突,只需进行强制替换安装,rpm --replacefile进行安装。之后再重新编译。
-
CentOS 7.5中的git客户端版本是1.8,我们需要2.11版本以上,最新版本是2.20,我们选择构建2.20,过程如下:1、下载SRPM包:https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Server/source/tree/Packages/g/git-2.22.0-1.fc31.src.rpm2、安装srpm:rpm-ivh git-2.22.0-1.fc31.src.rpm3、安装构建依赖:yum install -y asciidoc xmlto emacs expat-devel libcurl-devel libsecret-devel pcre2-devel tcl tk cvs cvsps highlight httpd mod_dav_svn perl-CGI perl-JSON perl-IO-Tty perl-HTTP-Date perl-DBD-SQLite perl-JSON-PP perl-Test-Simple perl-Digest-MD5 perl-IO-Pty-Easy perl-MailTools subversion subversion-perl python2-devel rpm-build4、构建rpm:rpmbuild -D '%build_cflags -fPIC' -D '%build_ldflags -g' -bb rpmbuild/SPEC/git.spec,不定义2个宏,构建过程中会失败5、构建出来的rpm包在rpmbuild/RPMS目录下
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签