• [分享交流] Manjaro Linux 32 位已死
    自 64 位处理器成为主流处理器以来已经有很长一段时间了。但是由于某些原因,一些开发人员仍在继续维护 32 位版本的操作系统。其中就包括微软,该公司直到 2020 年都仍支持 32 位 Windows 10 操作系统。不过随着 64 位系统逐渐成为市场的唯一选择,微软目前也已经开始取消 Windows 10 对 32 位系统的支持。而另一方面,许多 Linux 发行版(例如 Fedora、Tails 和 Linux Mint)则早都已经取消了其 32 位版本,选择专注于 64 位版本的开发。现如今,又有一个主要的 Linux 发行版也紧跟其后。Manjaro Linux 方面表示,由于时间不足和硬件故障的原因,manjaro32 已停止运行。正如 betanews 所表述的那样,从某些方面说,32 位计算机已经过时,对 32 位操作系统的持续维护也会造成一定资源的浪费。Manjaro 团队此举这不失为一个明智的措施。Manjaro 团队的 Philip Mueller 分享了以下内容:不幸的是,我们不得不宣布 manjaro32 项目现在已经一去不复返了。@jonathon 成功地将这个据点维持了更久,甚至超出了他的预期。在近 9 年的时间里,我们一直支持 i686。让我们对这部分项目留下一个美好的回忆。而那些仍然对 32 位体系结构感兴趣的用户,则可查看此列表。
  • [其他] 【安装】磁盘空间不足导致RPM安装失败
    问题背景与现象执行Preinstall,发现Add Package Failed导致PreInstall失败。原因分析分析preinstall日志(/tmp/fi-preinstall.log)。Preparing...                ###Preparing...                ############xorg-x11-libICE             ##################################################xorg-x11-libSM              ##################################################xorg-x11-libxcb             #####################################################xorg-x11-libX11             ##############################################################################installing package xorg-x11-libXau-7.4-1.15.x86_64 needs 20KB on the / filesysteminstalling package xorg-x11-libICE-7.4-1.15.x86_64 needs 132KB on the / filesysteminstalling package xorg-x11-libSM-7.4-1.18.x86_64 needs 176KB on the / filesystemError: Execute failed on 192.168.29.32 (17) ###[Mon Jun  8 15:51:38 CST 2015] Info: Run ./script//function/remote.sh -i 192.168.29.32 -P 22 -u root -a /tmp/fi-preinstall-ctrl/preinstall-p.bin -t 300 -m ssh-cmd -c rpm -ivh /tmp/fi-preinstall/192.168.29.32_rpms_dir/*.rpm failed, ret code:17[Mon Jun  8 15:51:38 CST 2015] Error: Install [ xorg-x11-libICE xorg-x11-libSM xorg-x11-libX11 xorg-x11-libXau xorg-x11-libXext xorg-x11-libXfixes xorg-x11-libXmu xorg-x11-libXp xorg-x11-libXpm xorg-x11-libXprintUtil xorg-x11-libXrender xorg-x11-libXt xorg-x11-libXv xorg-x11-libfontenc xorg-x11-libs xorg-x11-libxcb xorg-x11-libxkbfile ] on 192.168.29.32 failed. Please check rpm packages version.[Mon Jun  8 15:51:38 CST 2015] Info: Add packages failed on 192.168.29.322.根目录磁盘空间不足,导致安装失败。解决办法清理根目录磁盘空间或者扩容。执行preinstall。
  • [其他] 【安装】版本过高导致RPM安装失败
    问题背景与现象执行Preinstall,Add Package Failed导致PreInstall失败。原因分析分析Preinstall日志(/tmp/fi-preinstall.log)。[Thu Apr  9 18:16:17 CST 2015] Info: Run ./script//function/remote.sh -i 192.168.17.33 -P 22 -u root -a /tmp/fi-preinstall-ctrl/preinstall-p.bin -k /tmp/fi-preinstall-ctrl/known_hosts -t 300 -m ssh-cmd -c rpm -ivh /tmp/fi-preinstall/192.168.17.33_rpms_dir/*.rpm failed, ret code:16[Thu Apr  9 18:16:17 CST 2015] Debug: [/opt/patch/packages/squid-3.1.10-19.el6_4.x86_64.rpm] Leave [get_rpm_file:77][Thu Apr  9 18:16:17 CST 2015] Error: rpm -ivh /tmp/fi-preinstall/192.168.17.33_rpms_dir/*.rpm failed on 192.168.17.33[Thu Apr  9 18:16:17 CST 2015] Error: Add packages failed on 192.168.17.33 [Thu Apr  9 18:16:16 CST 2015] Debug: Leave [exec_cmd_r:60][Thu Apr  9 18:16:16 CST 2015] Debug: Leave [check_rpms_dir:86][Thu Apr  9 18:16:16 CST 2015] Error: [192.168.17.39] Setup os failed2.OS在安装完成后,又安装了OS补丁,有些RPM被升级到高版本了,导致有些有依赖关系的RPM包安装失败。解决办法            方法一:卸载OS补丁后,再重新执行preinstall。 方法二:下载高版本的RPM包,手动安装RPM包。
  • [技术干货] 【转载】Linux下9种优秀的代码比对工具推荐
    【转载华为云社区】大家好,我是良许。在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性。在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?本文介绍 9 种 Linux 下常用的 9 种代码比对工具,不仅有命令行工具,还有 GUI 界面工具,让你轻松进行代码比对。1. diff命令diff 命令是 Linux 下自带的一个强大的文本比对工具,而且使用起来非常方便。对于它的使用,我之前也单独写过一篇文章介绍,点击下方链接可以查看。教你一招Linux下文本比对方法diff 命令在大多数的 Linux 发行版里已经预装了,它可以逐行比对两个文本文件,并输出它们的差异点。更多介绍可以直接查看它的 man 手册。$ man diff但是,diff 命令虽然强大,但它的输出结果实在是太感人了,不直观也不清晰。于是,有大佬为了弥补这个缺点,基于 diff 开发了更强大的工具。这里推荐两个:colordiff 和 wdiff 。colordiff命令colordiff 是一个 Perl 脚本工具,它的输出结果和 diff 命令一样,但是会给代码着色,并且具有语法高亮功能。同时,你如果不喜欢它的默认颜色的话,还可以自定义主题。你可以自行安装 colordiff 到你的电脑,根据不同的发行版选择不同的安装命令。$ yum install colordiff             [On CentOS/RHEL/Fedora] $ dnf install colordiff             [On Fedora 23+ version] $ sudo apt-get install colordiff    [On Debian/Ubuntu/Mint]同样,你可以使用 man 命令查看它的帮助文档:$ man colordiffwdiff命令diff 命令是逐行比较差异,而 wdiff 更变态,是逐字比较。所以如果你的文本只是修改了少数一些词语的话,使用 wdiff 命令将更加高效。安装命令如下:$ yum install wdiff             [On CentOS/RHEL/Fedora] $ dnf install wdiff             [On Fedora 23+ version] $ sudo apt-get install wdiff    [On Debian/Ubuntu/Mint]更详细内容可以查看它的 man 手册。$ man wdiff2. vimdiff命令vimdiff 等同于 vim -d 命令,即 Vim 编辑器的 diff 模式。该命令后面通常会接两个或多个文件名作为参数,这些文件会同时在 Vim 编辑器的分割窗口中打开,并高亮显示文件中内容有差异的部分。它的中文主页是:http://vimcdoc.sourceforge.net/doc/diff.html以上介绍的两款是 Linux 命令行的对比工具,我们再来看一些 GUI 比对工具。3. KompareKompare 是基于 diff 的一个 GUI 工具,使用者可以很方便看到文件之间的差异,并且支持合并这些差异。Kompare 的特性有如下:支持多种 diff 格式;支持目录之间的比对;支持读取 diff 文件;自定义界面;创建及应用源文件的 patch 文件。该工具的主页为:https://www.kde.org/applications/development/kompare/4. DiffMergeDiffMerge 是一个跨平台的 GUI 文本比对工具,具有 Linux ,Windows ,macOS 三大平台版本。我们知道,BeyondCompare 是一款收费软件,所以如果你们公司的版权要求比较高的话,不妨考虑一下 DiffMerge工具。DiffMerge 具有两大功能:1. 图示化显示两个文件之间的改变。包含内部行高亮和完整的编辑支持。2. 图示化显示三个文件之间的改变。允许自动合并(当可以安全操作时)和对结果文件完全编辑控制。它具有以下特性:支持文件夹比对;集成文件浏览器;高度可配置。该工具的主页为:https://sourcegear.com/diffmerge/5. MeldMeld 是一个轻量级 GUI 代码比对工具,它支持用户比对文件、目录,并且高度集成版本控制软件。但针对软件开发人员,它的以下几个特性尤为吸引人:执行双向和三向差异并合并轻松地在差异和冲突之间导航逐个文件地比较两个或三个目录,显示新文件,缺失文件和更改文件支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。它的官网为:http://meldmerge.org/6. DiffuseDiffuse 是另外一款很受欢迎的,免费,小巧,也十分简单的 GUI 文本差异比对合并工具,它是用 Python 写成的,具有两个主要功能:文件比对及版本控制,允许文件编辑、合并,并且输出两个文件的差异点。你可以使用它查看文本比对小结,使用鼠标选择文件里的某行进行编辑。它的其它特性包括:语法高亮快捷键便于文本导航无限次撤销支持 unicode 编码文件支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。它的官网为:http://diffuse.sourceforge.net/7. XXdiffXXdiff 是一款免费、强大的文件及文件夹差异比对及合并工具,它可以运行在很多类 Unix 系统上。不过它有个限制就是它不支持 unicode 文件,也没法办法直接编辑文件。它具有以下特性:递归对比文件及文件夹高亮显示差异点合并差异点,导出结果支持外部 diff 工具,比如:GNU diff,SIG diff ,Cleareddiff ,以及其它更多工具支持脚本拓展8. KDiff3KDiff3 是另外一种很强大的跨平台差异比对及合并工具,它是由 KDevelop 开发而成,可以在所有类 Unix 平台上运行,包括 Linux ,Mac OS ,Windows 等。它可以比对或合并两到三个文件或目录,具有以下特性:可以逐句、逐字对比差异支持自动合并内置编辑器,可以手动解决冲突支持 unicode ,UTF-8 等各种编码格式支持打印差异它的官网为: http://kdiff3.sourceforge.net/9. TkDiffTkDiff 是另外一种跨平台,易于使用的 GUI 文本比对工具,可以运行在 Linux ,Windows 及 MacOS 系统上。它同样提供一个左右分开的界面,用于查看对比的两个文件。但是,它也有一些其它文本对比工具没有的功能,比如差异书签,以及一个便于快速定位导航差异点的导航图。
  • [问题求助] 铜豌豆 Linux(atzlinux)中文软件源申请收录
    《铜豌豆 Linux》,英文名 atzlinux,意为 a to z 全搞掂,希望能给大家提供简洁易用的 Linux 桌面环境。《铜豌豆 Linux》操作系统在 Debian 基础上,收集制作这些常用软件,一次性安装完成,节省大家定制 Debian 的时间,做到“开箱即用”。最新版本: 2020-04-14 日发布《铜豌豆 Linux》 10.3.3 版。目前收录的主要中文软件包如下:QQ、微信、百度网盘、搜狗输入法、网易云音乐、有道词典、WPS、中文字体、星际译王等。可点击查看中文软件完整列表。铜豌豆 Linux 是一个非赢利项目的运作,主要是若干爱好者用业余时间开发及维护,希望能给国内开源做一些自己的贡献。但由于铜豌豆 Linux 是个人发起、社区维护,在云服务器搭建的软件源,在国内很多地方的速度并不理想,希望华为源镜像能收录,方便大家使用起来。项目官方网址: https://www.atzlinux.com/中文软件包:https://atzlinux.com/allpackages.htm 软件源信息:https://www.atzlinux.com/debian/download/changelog.txt非常感谢!!
  • 【鲲鹏翱翔】数据库04-MySQL5.7.28移植安装指南-RPM包方式
    1.   简介MySQL是一种快速易用的关系型数据库管理系统(RDBMS),它通过插件形式提供了多种存储引擎,目前最通用的是InnoDB。作为一款开放源码的数据库软件,MySQL社区及用户活跃度很高,用户问题往往可以及时得到响应。此外,MySQL还具有软件体积小、安装简单易于维护等优点。官方链接:https://dev.mysql.com/doc/refman/5.7/en/类别:云计算/数据库2.   部署环境Packet NameVersionCentOSCentOS 7.5 with ARMMysql5.7.283.   安装部署3.1 依赖安装在系统中安装需要的组件,安装相应的库:yum install cmake time libaio-devel ncurses-devel numactl-devel openssl-devel zlib-devel cyrus-sasl-devel openldap-devel  perl-Env  gcc gcc-c++ make rpm-build autoconf perl-JSON3.2 下载安装源码wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-community-5.7.28-1.el7.src.rpm rpm -ivh   mysql-community-5.7.28-1.el7.src.rpm3.3 编译安装MySQL安装后的源码在/root/rpmbuild/SOURCES/里面。我们将使用系统自带的GCC4.8.5来编译MySQL5.7.28,为此我们需要做一些修改cd /root/rpmbuild/SOURCES vim mysql-5.7.28/sql/mysqld.cc #添加 #include <sys/prctl.h>   vim mysql-5.7.28/cmake/build-configurations/compiler_options.cmake将所有的-O3改成-O1。上述修改不会对MySQL功能造成影响,主要是GCC的版本问题。修改完之后重新打包,编译。tar -zcf mysql-5.7.28.tar.gz mysql-5.7.28 rpmbuild -bb /root/rpmbuild/SPECS/mysql.spec编译完成后,编译好的RPM包在/root/rpmbuild/RPMS/aarch64下      如果不想编译,也可从以下链接获取:https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql.5.7.28-rpm.tar#安装数据库 rpm -ivh *.rpm启动数据库#启动数据库 systemctl start mysqld #查看数据库状态 systemctl status mysqld数据库初始密码在/var/log/mysqld.log里可以查到mysql -uroot –p #修改密码和远程登录 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa!123456'; mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> FLUSH PRIVILEGES;4.   FAQ在执行rpm -ivh *.rpm时,可能会报错    这是因为mariadb-libs和mysql的lib冲突引起的,执行yum -y remove mariadb-libs可解决问题。
  • [问题求助] efk中的logstash包有问题
    logstash版本:7.7.0logstash的rpm包,官方的包为158MB左右,华为镜像站上面的rpm包为20MB左右,而且无法安装
  • [问题求助] LinuxMint镜像有误
    LinuxMint的使用说明有问题,教程中提示备份并修改/etc/apt/sources.list.d/official-lackage-repositories.list,然而在系统中这个文件是不存在的,其中official-lackage-repositories.list中的lackage应该改为package,即/etc/apt/sources.list.d/official-package-repositories.list 该错误一共出现了4次,需要修改 2.出现使用sudo apt update命令进行源的更新时,出现WARNING,这个WARNING在使用 系统自带的换源工具替换为阿里云的镜像后没有问题,如图-------------------------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------------------------------------补充后续:应当把使用帮助中的最后一行deb https://repo.huaweicloud.com/ubuntu/ bionic partner改为deb http://archive.canonical.com/ubuntu/ bionic partner
  • [交流吐槽] Nginx Linux仓库镜像
    华为镜像站已经有了Nginx源码镜像: https://mirrors.huaweicloud.com/nginx/希望可以一并同步下Nginx的packages目录,这个目录下包含了全部的Nginx官方Linux仓库镜像: https://nginx.org/packages/
  • [迁移工具] Dependency Advisor Linux 2.1.1 SP100 分析不出结果
    用迁移完毕,打包好的 jar 包再接着扫描,并没有提示我扫描成功与否,而是告警,告诉我“ 二进制扫描或源码扫描没有结果”,那么这到底是成功了,还是程序崩了呢?
  • KunPeng平台 Hpl 2.3版本移植安装指南
    1 Hpl简介    HPL是一个软件包,用于在分布式内存计算机上以双精度(64位)算法解决(随机)密集线性系统。因此,它可以被视为高性能计算Linpack Benchmark的便携式以及免费使用的实现。  2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB  3 配置编译环境3.1 Yum源配置说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:1、本地yum源2、网络yum源3、华为yum源不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用本地yum源方式。3.2 安装依赖包步骤1   安装依赖包。yum install wget gcc-c++ gcc-gfortran----结束   4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载并解压mpich源码包。wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gztar -xzf mpich-3.2.1.tar.gz                                               步骤 2   下载并解压blas源码包。wget http://www.netlib.org/blas/blas-3.8.0.tgztar -xzf blas-3.8.0.tgz 步骤 3   下载并解压cblas源码包。wget http://www.netlib.org/blas/blast-forum/cblas.tgztar -xzf cblas.tgz 步骤 4   下载并解压hpl源码包。wget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gztar -xzf hpl-2.3.tar.gz说明:如果提示”wget: 未找到命令”,请先用yum install wget安装wget工具。  4.1.2 编译安装mpich参考鲲鹏论坛https://bbs.huaweicloud.com/forum/thread-51290-1-1.html 的第4.1.2章节 编译安装4.1.3 编译安装blas步骤 1   编译安装。cd /opt/BLAS-3.8.0make -j16链接.o文件生成libblas.a文件:ar rv libblas.a *.o 4.1.4 编译安装cblas步骤 1   编译前配置。cd /opt/CBLAS将4.1.3章节编译产生的blas_LINUX.a文件拷贝到当前目录:cp BLAS-3.8.0/blas_LINUX.a ./修改Makefile.in文件中的参数:vi Makefile.inBLLIB = ../blas_LINUX.a                                             CBLIB = ../lib/cblas_$(PLAT).a 步骤 2   编译安装。make -j16测试运行:./testing/xzcblat14.1.5 编译安装hpl步骤 1   编译前配置。sudo cp /opt/CBLAS/lib/* /usr/local/libsudo cp /opt/BLAS-3.8.0/blas_LINUX.a /usr/local/lib切换至解压目录:cd /opt/hpl-2.3复制文件:cp setup/Make.Linux_PII_CBLAS ./ 开始修改配置文件:vi Make.toparch = Linux_PII_CBLAS vi Makefilearch = Linux_PII_CBLAS  vi Make.Linux_PII_CBLASARCH         = Linux_PII_CBLAS TOPdir       = /opt/hpl-2.3 MPdir        = /usr/localMPlib        = $(MPdir)/lib/libmpi.a /usr/lib64/libpthread-2.17.so /usr/lib64/libc-2.17.so LAdir         = /usr/local/libLAinc        =               LAlib         = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a CC            = /usr/local/bin/mpicc LINKER     = /usr/local/bin/mpif77 步骤 2   编译安装。make arch=Linux_PII_CBLAS4.2 RPM方式安装4.2.1 mpich安装参考鲲鹏论坛https://bbs.huaweicloud.com/forum/thread-51290-1-1.html 的第4.2.1章节 安装4.2.2 hpl安装说明:附件中的rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。见附件步骤 1   复制RPM包至服务器“ /opt”目录并安装。ll /opt步骤 2   安装RPM包。yum localinstall /opt/ hpcg-3.1.0-1.el7.aarch64.rpm  ----结束 5 运行和验证5.1 运行测试步骤 1   执行验证。切换目录。源码方式安装:cd /opt/hpl-2.3/bin/Linux_PII_CBLASRpm方式安装:cd /usr/local/hpl-2.3/bin/Linux_PII_CBLAS 执行验证命令:mpirun -np 4 ./xhpl > HPL-Benchmark.txt会生成以下文件:查看文件结果: ----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild----结束 6.2 mpich打包参考鲲鹏论坛https://bbs.huaweicloud.com/forum/thread-51290-1-1.html 的第6.2章节打包 6.3 hpl打包6.3.1 编辑SPEC文件前置条件:先按照4.1章节编译安装mpich、blas、cblas步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。cd ~/rpmbuild/SPECS2.生成模板文件hpl2.3.spec。rpmdev-newspec hpl2.3.specls  步骤 2   修改SPEC文件。vi hpl2.3.spec修改后,hpl2.3.spec文件内容如下:                        Name:           hpl                        Version:        2.3                        Release:        1%{?dist}                        Summary:        HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers.                                                License:        GPL                        URL:            http://www.netlib.org/benchmark/hpl/                         %undefine _disable_source_fetch                        Source0:        http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz                                                BuildRequires:  gcc-c++ gcc-gfortran                                                %description                        HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.The algorithm used by HPL can be summarized by the following keywords: Two-dimensional block-cyclic data distribution - Right-looking variant of the LU factorization with row partial pivoting featuring multiple look-ahead depths - Recursive panel factorization with pivot search and column broadcast combined - Various virtual panel broadcast topologies - bandwidth reducing swap-broadcast algorithm - backward substitution with look-ahead of depth 1.The HPL package provides a testing and timing program to quantify the accuracy of the obtained solution as well as the time it took to compute it. The best performance achievable by this software on your system depends on a large variety of factors. Nonetheless, with some restrictive assumptions on the interconnection network, the algorithm described here and its attached implementation are scalable in the sense that their parallel efficiency is maintained constant with respect to the per processor memory usage.                                                %prep                        %setup -c -n %{name}-%{version}                                                                        %build                        cd %{name}-%{version}                        cp setup/Make.Linux_PII_CBLAS ./                        sed -i '47,47s/arch             = UNKNOWN/arch             = Linux_PII_CBLAS/g' Make.top                        sed -i '50,50s/arch             = UNKNOWN/arch             = Linux_PII_CBLAS/g' Makefile                        sed -i '70,70s#TOPdir       = $(HOME)/hpl#TOPdir       = /root/rpmbuild/BUILD/hpl-2.3/hpl-2.3#g' Make.Linux_PII_CBLAS                        sed -i '84,84s#MPdir        = /usr/local/mpi#MPdir        = /usr/local/#g' Make.Linux_PII_CBLAS                        sed -i '86,86s#MPlib        = $(MPdir)/lib/libmpich.a#MPlib        = $(MPdir)/lib/libmpi.a /usr/lib64/libpthread-2.17.so /usr/lib64/libc-2.17.so#g' Make.Linux_PII_CBLAS                        sed -i '95,95s#LAdir        = $(HOME)/netlib/ARCHIVES/Linux_PII#LAdir         = /usr/local/lib#g' Make.Linux_PII_CBLAS                        sed -i '97,97s#LAlib        = $(LAdir)/libcblas.a $(LAdir)/libatlas.a#LAlib         = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a#g' Make.Linux_PII_CBLAS                        sed -i '169,169s#CC           = /usr/bin/gcc#CC            = /usr/local/bin/mpicc#g' Make.Linux_PII_CBLAS                        sed -i '176,176s#LINKER       = /usr/bin/g77#LINKER     = /usr/local/bin/mpif77#g' Make.Linux_PII_CBLAS                                                make arch=Linux_PII_CBLAS                                                mkdir -p %_buildrootdir/hpl-2.3-1.el7.aarch64/usr/local/                        cp -r %_builddir/hpl-2.3/hpl-2.3 %_buildrootdir/hpl-2.3-1.el7.aarch64/usr/local/                                                %files                        /usr/local                        %doc                                                                                                %changelog见附件----结束 6.3.2 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。yum install rpmlint 2.错误检查。说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。rpmlint –i hpl2.3.spec 步骤 2   构建SRPM和RPM。rpmbuild -ba hpl2.3.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束 7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html
  • KunPeng平台 RocksDB 6.7.3移植安装指南
    1 RocksDB简介        RocksDB是一个快速存储系统,它会充分挖掘Flash or RAM硬件的读写特性,支持单个KV的读写以及批量读写。RocksDB自身采用的一些数据结构如LSM/SKIPLIST等结构使得其有读放大、写放大和空间使用放大的问题。2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 Yum源配置                说明:根据依赖或软件来源的不同,以及配置过程的不同,yum源配置分为如下三种:                ·  本地yum源                ·  网络yum源                ·  华为yum源                不作任何配置时,则默认使用Centos官方yum源(需要外网权限)。                Yum源详细配置,可以参考:《KunPeng平台软件移植Yum源配置参考》,本次使用Centos官方默认yum源。                ----结束3.2 安装依赖包    步骤1   安装gcc-c++、snappy、snappy-devel、zlib、zlib-devel、bzip2、bzip2-devel、lz4-devel、git。                yum install gcc-c++ snappy snappy-devel zlib zlib-devel bzip2 bzip2-devel lz4-devel git                                ----结束4 安装        说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。              表 4-1 安装方式说明安装方式安装说明源码编译安装源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 安装gflags                说明:gflags是一个命令行参数解析工具    步骤 1 使用git获取gflags源码。                git clone https://github.com/gflags/gflags.git                cd gflags                git checkout v2.0                                    步骤 2 编译安装。                ./configure --build=arm-linux && make && sudo make install                    步骤 3 刷新环境变量。               echo "export CPATH=/usr/local/include/gflags/:/usr/local/include/google/:$CPATH" >> /etc/profile               echo "export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH" >> /etc/profile               source /etc/profile               4.1.2 安装zstd               说明:zstd是一个实时压缩算法库。    步骤 1  获取zstd源码。               wget https://github.com/facebook/zstd/archive/v1.1.3.tar.gz                   步骤 2   编译安装zstd。               tar –zxvf v1.1.3.tar.gz               cd zstd-1.1.3               make && sudo make install    4.1.3 安装RocksDB    步骤 1  获取RocksDB源码。               wget https://github.com/facebook/rocksdb/archive/v6.7.3.zip                              unzip v6.7.3.zip                              cd rocksdb-6.7.3    步骤 2  编译静态库,获得librocksdb.a。               make static_lib                              make install-static                   步骤 3  编译动态库,获得librocksdb.so。               make shared_lib                              make install-shared                   步骤 4   刷新ldconfig缓存。               echo "/usr/local/lib" |sudo tee /etc/ld.so.conf.d/rocksdb-arm_64.conf               sudo ldconfig –v                              ----结束4.2 RPM方式安装               说明:rpm都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。     步骤 1   获取RPM包,并复制RPM包至服务器并安装。               ls –alh *.rpm                   步骤 2   安装gflags。               yum localinstall gflags-2.0-1.el7.aarch64.rpm                   步骤 3   安装zstd。               yum localinstall zstd-1.1.3-1.el7.aarch64.rpm                   步骤 4   安装rocksDB。               yum localinstall rocksdb-6.7.3-1.el7.aarch64.rpm                   步骤 5   刷新环境变量。               echo "export CPATH=/usr/local/include/gflags/:/usr/local/include/google/:$CPATH" >> /etc/profile               echo "export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH" >> /etc/profile               source /etc/profile                                         ----结束 5 运行和验证5.1 验证准备    步骤 1   准备测试程序。               新建test.cpp文件,内容如下:                 #include <cstdio>                 #include <string>                  #include "rocksdb/db.h"                 #include "rocksdb/slice.h"                 #include "rocksdb/options.h"                                   using namespace std;                 using namespace rocksdb;                  const std::string PATH = "/tmp/rocksdb_tmp";                  int main(){                     DB* db;                     Options options;                     options.create_if_missing = true;                     Status status = DB::Open(options, PATH, &db);                     assert(status.ok());                     Slice key("foo");                     Slice value("bar");                                         std::string get_value;                     status = db->Put(WriteOptions(), key, value);                     if(status.ok()){                         status = db->Get(ReadOptions(), key, &get_value);                         if(status.ok()){                             printf("get %s success!!\n", get_value.c_str());                         }else{                             printf("get failed\n");                                          }                     }else{                         printf("put failed\n");                     }                      delete db;                    }    步骤 2   动态编译。               g++ -o rocksdbtest_d -std=c++11 -lrocksdb test.cpp -ldl               预期生成rocksdbtest_d可执行文件;                   步骤 3   静态编译。               g++ test.cpp -o rocksdbtest_s –lpthread –lrocksdb –std=c++11 –lsnappy –lz –lbz2 –ldl               预期生成rocksdbtest_s可执行文件;                              ----结束5.2 运行测试    步骤 1   运行动态编译生成的可执行执行。                              预期出现“get bar success!!”的提示。    步骤 2   运行动态编译生成的可执行执行。                              预期出现“get bar success!!”的提示。               ----结束6 RPM打包(参考)               说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境    步骤 1   安装打包依赖。               RPM打包依赖与编译依赖相同,请参考“3 配置编译环境“。    步骤 2   安装rpmdevtools。               yum install rpmdevtools                   步骤 3   生成打包目录树。               cd ~/               rpmdev-setuptree    步骤 4   进入目录~/rpmbuild,应有如下文件夹:               cd ~/rpmbuild                              ----结束6.2 gflags支撑库RPM打包6.2.1 编辑SPECS文件    步骤 1   生成SPEC文件模板。               1.切换目录至~/rpmbuild/SPECS。                   cd ~/rpmbuild/SPECS               2.生成模板文件gflags.spec。                   rpmdev-newspec gflags                   ls                       步骤 2   修改SPEC文件。Name:           gflagsVersion:        2.0 Release:        1%{?dist}Summary:        The gflags package contains a C++ library that implements commandline flags processing. License:        GOOGLEURL:            https://github.com/gflags/gflags%undefine_disable_source_fetchSource0:        https://github.com/gflags/gflags/archive/v2.0.zipBuildRequires:  gcc%descriptionThe gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used%prep%setup -q%build./configure --build=arm-linuxmake %{?_smp_mflags}%install%make_install%{define} local_bin_path %{_prefix}/local/bin%{define} local_include_path %{_prefix}/local/include%{define} local_lib_path %{_prefix}/local/lib%{define} local_share_path %{_prefix}/local/share%files%{local_bin_path}/gflags_completions.sh%{local_include_path}/gflags%{local_include_path}/google%{local_lib_path}/libgflags*%{local_lib_path}/pkgconfig/libgflags*%{local_share_path}/doc/gflags-2.0%changelog                        ----结束6.2.2 RPM打包                        步骤 1   rpmlint检查SPEC文件或RPM包。               1.安装rpmlint。                   yum install rpmlint                                  2.错误检查。                   说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。                   rpmlint –i gflags.spec                        步骤 2   构建RPM。               rpmbuild -bb gflags.spec                               ........                   步骤 3   查看生成的RPM包。               ls –alh ~/rpmbuild/RPMS/aarch64                              ----结束6.3 zstd支撑库RPM打包6.3.1 编辑SPECS文件    步骤 1   生成SPEC文件模板。               1.切换目录至~/rpmbuild/SPECS。                   cd ~/rpmbuild/SPECS               2.生成模板文件zstd.spec。                   rpmdev-newspec zstd                   ls                       步骤 2   修改SPEC文件。Name:           zstdVersion:        1.1.3Release:        1%{?dist}Summary:        Zstandard, or zstd as short version, is a fast lossless compression algorithmLicense:        BSD and GPLv2URL:            https://github.com/facebook/zstd%undefine_disable_source_fetchSource0:        https://github.com/facebook/zstd/archive/v1.1.3.tar.gz BuildRequires:  gcc%descriptionZstandard, or zstd as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. It's backed by a very fast entropy stage, provided by Huff0 and FSE library.The project is provided as an open-source dual BSD and GPLv2 licensed C library, and a command line utility producing and decoding .zst, .gz, .xz and .lz4 files. Should your project require another programming language, a list of known ports and bindings is provided on Zstandard homepage.%prep%setup -q%buildmake %{?_smp_mflags}%install%make_install%{define}local_bin_path%{_prefix}/local/bin%{define} local_include_path %{_prefix}/local/include%{define}local_lib_path %{_prefix}/local/lib%{define}local_share_path %{_prefix}/local/share/man/man1%files%{local_bin_path}/unzstd%{local_bin_path}/zstd%{local_bin_path}/zstdcat%{local_bin_path}/zstdgrep%{local_bin_path}/zstdless%{local_include_path}/zbuff.h%{local_include_path}/zdict.h%{local_include_path}/zstd.h%{local_include_path}/zstd_errors.h%{local_lib_path}/libzstd*%{local_lib_path}/pkgconfig/libzstd.pc%{local_share_path}/unzstd.1%{local_share_path}/zstd.1%{local_share_path}/zstdcat.1%changelog                        ----结束6.3.2 RPM打包    步骤 1   rpmlint检查SPEC文件或RPM包。                              说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。               rpmlint –i zstd.spec                    步骤 2   构建RPM。               rpmbuild -bb zstd.spec                              ........                   步骤 3   查看生成的RPM包。               ls –alh ~/rpmbuild/RPMS/aarch64/zstd-*                              ----结束6.4 RocksDB RPM打包6.4.1 编辑SPECS文件    步骤 1   生成SPEC文件模板。               1.切换目录至~/rpmbuild/SPECS。                   cd ~/rpmbuild/SPECS               2.生成模板文件rocksdb.spec。                   rpmdev-newspec rocksdb                   ls                       步骤 2   修改SPEC文件。Name:           rocksdbVersion:        6.7.3Release:        1%{?dist}Summary:        RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)License:        GPLv2 URL:            https://github.com/facebook/rocksdb%undefine _disable_source_fetchSource0:        https://github.com/facebook/rocksdb/archive/v6.7.3.zip BuildRequires:  gcc-c++ Requires:      gflags zstd snappy snappy-devel gcc-c++ zlib zlib-devel bzip2 bzip2-devel lz4-devel %descriptionRocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)%prep%setup -q%buildmake static_libmake shared_lib%install%{define} install_path%{_prefix}/local%{define}target_path %{buildroot}%{install_path}mkdir -p %{target_path}INSTALL_PATH=%{target_path} make install-staticINSTALL_PATH=%{target_path} make install-shared%postecho "/usr/local/lib" |sudo tee /etc/ld.so.conf.d/rocksdb-arm_64.confsudo ldconfig -v%files%{install_path}%changelog                        ----结束6.4.2 RPM打包    步骤 1   rpmlint检查SPEC文件或RPM包。               说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。               rpmlint –i rocksdb.spec                    步骤 2   构建RPM。               rpmbuild -bb rocksdb.spec                              ........                   步骤 3   查看生成的RPM包。               ls –alh ~/rpmbuild/RPMS/aarch64/rocksdb*                   步骤 4   RPM包验证。               RPM包的验证,可参考”5 运行和验证“。               ----结束7 参考7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 官方文档参考:https://github.com/google/cadvisor/tree/master7.3 打包参考参考:https://github.com/facebook/rocksdb/blob/master/INSTALL.md参考:https://blog.jeffli.me/blog/2016/12/02/getting-started-with-rocksdb-in-centos-7/
  • [问题求助] linux 服务器 Agent安装与相关配置
                                        图1agent显示安装成功图1,但控制台显示插件未安装                                                                            图2
  • [迁移工具] Dependency-advisor-Kunpeng-linux-2.1.1.SPC100代码迁移工具,在扫描存在误报
    使用Dependency-advisor-Kunpeng-linux-2.1.1.SPC100工具扫描hummingbird-1.6.0软件的源代码时,提示需要libcurl.so依赖库文件,但通过代码分析该依赖库文件是_example列举文件中的要求,需要在软件中将此情况排除掉
  • Kunpeng平台hue 4.1.0版本移植安装指南
    1  HUE简介    Hue是一个开源的Apache Hadoop UI系统,早期由Cloudera开发,后来贡献给开源社区。它是基于Python Web框架Django实现的。通过使用Hue可以通过浏览器方式操纵Hadoop集群。例如put、get、执行MapReduce Job等等。 2 环境信息2.1 环境信息项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0包含在操作系统镜像中CPU鲲鹏920服务器配置16U16GB40GB3 配置编译环境3.1 配置yum源配置yum源参考《KunPeng平台软件移植 Yum源配置参考》。说明:文档中的Yum源配置包含本地yum源、网络yum、华为yum源三种,本次使用网络yum源,其它方式保留在文档中,按需参考。----结束3.2 安装依赖工具和库        步骤1   安装hue依赖工具和库。sudo yum -y install libffi-devel gcc-c++ ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi  krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel maven wget由于网络yum源的问题,没有可用libtidy软件包,可使用如下方法安装libtidy。1) 使用Centos官方默认yum源安装扩展源epel:yum install epel-release2) 重新安装yum install –y libtidy        步骤2   安装logilab-astng。1)    安装pip(注意这里使用扩展源EPEL)2)    pip install logilab-astng----结束 4 安装说明:本文将介绍两种安装方式,请视具体情况选择其中一种安装方式。表 4-1 安装方式说明安装方式安装说明源码编译安装 源码安装,与环境内核无冲突,可定制,但是复杂度高。rpm方式安装rpm包方式,方便简单(当部署环境与本文档环境一致时,推荐使用本方式)。4.1 源码编译安装4.1.1 获取源码步骤 1   下载hue源码。进入“/opt”目录下:cd /optwget https://github.com/cloudera/hue/archive/release-4.1.0.tar.gz说明:如果是新机器需在”/etc/resolv.conf”中添加nameserver,防止找不到域名。步骤 2   解压源码。进入“/opt”目录下:cd /opttar -zxvf release-4.1.0.tar.gz 4.1.2 hue编译步骤 1    make编译。cd /opt/hue-release-4.1.0make apps说明:1)    编译过程需要连接外网下载很多软件包,可能出现某些软件包连接超时导致编译失改,重新编译即可;此编译过程可能耗时较长,请耐心等待;2)    编译过程的警告信息可以忽略,结束后使用echo $?查询编译结果,预期为0。----结束4.2 RPM方式安装说明:rpm包(由于此包较大不适合上传论坛)都是通过开源代码编译打包而成,并验证通过,打包过程参考”6 RPM打包“。步骤 1   复制RPM包至服务器“ /opt”目录。cp hue-4.1.0-1.el7.aarch64.rpm /opt步骤 2   安装RPM包。cd /optyum localinstall hue-4.1.0-1.el7.aarch64.rpm 说明:使用yum localinstall hue-4.1.0-1.el7.aarch64.rpm安装RPM包,可以自动安装依赖;如使用rpm安装,则需要手动安装依赖。----结束 5 运行和验证5.1 验证准备步骤 1   修改Hue的配置文件。cd /usr/local/huecp desktop/conf.dist/hue.ini desktop/conf/步骤 2   添加hue用户。由于Hue启动时候需要在非root用户下,因此需要创建一个用户useradd huepasswd hue步骤 3   更改权限。由于在hue用户下启动时会报logs权限问题,所以需在root用户下生成logs目录。cd /usr/local/huemkdir logscd /usr/localchown hue:hue ./hue/* -f----结束5.2 运行测试步骤 1   切换至hue用户,运行如下命令。su - hue/usr/local/hue/build/env/bin/supervisor出现如下画面表示启动成功。  ----结束6 RPM打包(参考)说明:本段提供了RPM包制作的详细过程,当部署环境与本文档环境不兼容时,可参考此打包过程,自制RPM包,然后再安装到部署环境。6.1 准备RPM 打包环境步骤 1   安装rpmdevtools。yum install rpmdevtools  步骤 2   生成打包目录树。cd ~/rpmdev-setuptree步骤 3   进入目录~/rpmbuild,应有如下文件夹:cd ~/rpmbuild                          步骤 4   拷贝源码至SOURCES目录下。cd release-4.1.0.tar.gz ~/rpmbuild/SOURCES----结束          6.2 编辑SPEC文件步骤 1   生成SPEC文件模板。1.切换目录至~/rpmbuild/SPECS。    cd ~/rpmbuild/SPECS2.生成模板文件hue.spec。    rpmdev-newspec hue步骤 2   修改SPEC文件。修改后的emqx.spec文件内容(亦可见附件hue.spec.zip)。%define __os_install_post %{nil}%define _huepath usr/local/%{name}Name:          hue Version:       4.1.0 Release:       1%{?dist}Summary:       Hue is a mature open source SQL Assistant for querying Databases & Data Warehouses License:       Apache license 2 URL:           https://github.com/cloudera/hue Source0:    release-%{version}.tar.gzPrefix:        /usr/localBuildRequires:       make gcc gcc-c++ %descriptionHue is a mature open source SQL Assistant for querying Databases & Data Warehouses. %prepcd %{prefix}tar -zxvf %{_sourcedir}/release-4.1.0.tar.gzmv hue-release-4.1.0 hue %buildcd %{prefix}/huemake apps sed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./desktop/core/ext-py/ply-3.9/doc/makedoc.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./desktop/core/ext-py/ply-3.9/example/yply/yply.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./tools/ace-editor/demo/kitchen-sink/docs/python.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./build/env/lib/python2.7/site-packages/setuptools/tests/test_easy_install.pysed -i "s#!/usr/local/bin/python#!usr/bin/python#g" ./build/env/lib/python2.7/site-packages/setuptools/tests/test_easy_install.py %installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT/%{_huepath}cp -r /%{_huepath}/* $RPM_BUILD_ROOT/%{_huepath} %files%dir %{prefix}/%{name}/%{prefix}/%{name}/* %changelog* Wed Mar 18 2020 guweibo <youremail@xxx.xxx> - 4.1.0-1- Update to 4.1.0----结束6.3 RPM打包步骤 1   rpmlint检查SPEC文件或RPM包。1.安装rpmlint。    yum install rpmlint      2.错误检查。    说明:如果返回错误/警告,使用 “-i” 选项查看更详细的信息。但由于rpmlint检测较严格,一些错误可忽略,可根据实际情况结合检测结果进行修改。    rpmlint –i hue.spec (由于打包目录需要有一处错误提示,可忽略) 步骤 2   构建RPM。rpmbuild -bb hue.spec 步骤 3   查看生成的RPM包。ls ~/rpmbuild/RPMS/aarch64 步骤 4   RPM包验证。RPM包的验证,可参考”5 运行和验证“。----结束 7 FAQ7.1 RPM打包流程、示例及问题集参考:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html7.2 大数据-Hue参考:https://www.huaweicloud.com/kunpeng/software/hue.html7.3 KunPeng平台软件移植Yum源配置参考参考:https://bbs.huaweicloud.com/forum/thread-47344-1-1.html
总条数:1200 到第
上滑加载中