openEuler 20.03

编译liboath-devel软件包

  1. 下载源码及补丁。

    1
    2
    cd /home
    git clone https://gitee.com/src-openeuler/oath-toolkit.git
    

    执行此操作时可能报错并提示“SSL certificate problem: self signed certificate in certificate chain”,该错误由SSL认证失败引发,可通过执行git config --global http.sslVerify false命令关闭SSL认证后再次执行以上命令即可解决报错问题。

  2. 将patch文件和源码包移动到“/root/rpmbuild/SOURCES”目录下。

    1
    2
    rpmdev-setuptree
    cp /home/oath-toolkit/0001-oath-toolkit-2.6.5-lockfile.patch /home/oath-toolkit/oath-toolkit-2.6.5.tar.gz /root/rpmbuild/SOURCES
    

  3. 编译RPM包。

    1
    2
    cd /home/oath-toolkit
    rpmbuild -bb oath-toolkit.spec
    

  4. 将编译好的RPM包作为本地Yum源。

    1
    2
    3
    4
    mkdir -p /home/rpm/oath
    cp -r /root/rpmbuild/RPMS/*  /home/rpm/oath/
    yum install -y createrepo
    cd  /home/rpm/oath && createrepo .
    

  5. 配置repo文件。

    1. 打开“local.repo”文件。
      1
      vi /etc/yum.repos.d/local.repo
      
    2. “i”键进入编辑模式,在文件末尾加入以下内容。
      1
      2
      3
      4
      5
      6
      [local-oath]
      name=local-oath
      baseurl=file:///home/rpm/oath
      enabled=1
      gpgcheck=0
      priority=1
      
    3. “Esc”键退出编辑模式,输入:wq! 并按“Enter”键保存退出文件。

  6. 刷新Yum缓存。

    1
    yum clean all && yum makecache
    

编译Ceph

  1. 软件要求中下载Ceph源码包,并将源码包放入“/home”目录下进行解压。

    1
    cd /home && tar -zxvf ceph-14.2.8.tar.gz
    

  2. 修改yum.conf文件。

    1. 打开“yum.conf”文件。
      1
      vi /etc/yum.conf
      
    2. “i”键进入编辑模式,在文件末尾添加“sslverify=false”和“deltarpm=0”。

    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  1. 由于Ceph 14.2.8源码自带的isa-l的版本较低,需要升级isa-l。参考如下方式升级isa-l。

    1. 进入src目录。
      1
      cd /home/ceph-14.2.8/src
      
    2. 备份原有isa-l,下载最新isa-l。
      1
      2
      mv isa-l isa-l.bak
      git clone https://github.com/intel/isa-l.git   
      
    3. 升级成功后,在“/home/ceph-14.2.8/src/isa-l/erasure_code/”目录下有“aarch64”目录。
      1
      ll /home/ceph-14.2.8/src/isa-l/erasure_code/
      

  2. 安装liboath相关依赖。

    1
    yum install liboath liboath-devel -y
    

  3. 将修改后的Ceph源码重新打包成tar.bz2格式,获得修改后的Ceph。

    1
    cd /home && tar -zcvf ceph-14.2.8.tar.bz2 ceph-14.2.8
    

  4. 编译修改后的Ceph。

    1
    2
    3
    4
    5
    rpmdev-setuptree
    cp ceph-14.2.8/ceph.spec /root/rpmbuild/SPECS/
    cp ceph-14.2.8.tar.bz2 /root/rpmbuild/SOURCES/
    cd /root/rpmbuild/SPECS/
    rpmbuild -ba ceph.spec