• 创造属于你的rpm软件包


    RPM 是Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,
    但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
    yum是基于rpm的包管理工具,yum最终安装的是rpm包,那rpm包是如何来的呢?

    一、 安装RPM包

    $ yum -y install rpm-build rpm-devel rpmdevtools
    

    二、 实例讲解

    1. 生成开发目录
    $ rpmdev-setuptree 
    
    2. 新建helloworld-1.0.0 项目文件
    $ mkdir helloworld-1.0.0
    
    3. 新建源码文件helloworld,输入以下内容
    #!/bin/sh
    echo "Hello World!"
    
    4. 打包项目helloworld-1.0.0.tar.gz,并拷贝到资源目录SOURCES
    $ tar -czvf helloworld-1.0.0.tar.gz helloworld-1.0.0
    $ cp helloworld-1.0.0.tar.gz ~/rpmbuild/SOURCES/
    
    5. 生成spec模板文件
    $ cd  ~/rpmbuild/SPECS
    $ rpmdev-newspec helloworld.spec  # 生成spec模版文件
    
    6. 修改spec文件如下
    Name:           helloworld
    Version:        1.0.0
    Release:        1%{?dist}
    Summary:        helloworld
    
    Group:          Development/Tools
    License:        GPLv2+
    #URL:            
    Source0:        %{name}-%{version}.tar.gz
    
    #BuildRequires:  
    #Requires:       
    
    %description
    A simple example for rpm.
    
    %prep
    %setup -q
    
    %build
    
    %install
    mkdir -p $RPM_BUILD_ROOT/usr/bin
    cp $RPM_BUILD_DIR/%{name}-%{version}/helloworld $RPM_BUILD_ROOT/usr/bin/
    
    %clean
    rm -rf %{buildroot} 
    
    %files
    %defattr(-,root,root,-)
    %doc
    %{_bindir}/helloworld
    
    %changelog
    * Sat Aug 8 2020 shuoqi.yu <shuoqi.yu@cs2c.com.cn> -1.0.0
    - Init
    
    7. 打包
    $ rpmbuild -ba SPECS/helloworld.spec
    
    注:当前目录结构文件简介
    > BUILD是编译rpm包的临时目录
    > BUILDROOT是最后生成rpm包的临时安装目录
    > RPMS存放最终生成的rpm二进制包
    > SOURCES是源代码(.tar.gz)存放目录
    > SPECS用来存放spec文件
    > SRPMS存放最终生成的rpm源码包
    
    rpmbuild/RPMS/x86_64/helloworld-1.0.0-1.el7.x86_64.rpm就是我们打出来的rpm包
    
    8. 安装
    $ yum install ~/rpmbuild/RPMS/x86_64/helloworld-1.0.0-1.el7.x86_64.rpm 
    或者
    rpm -ivh helloworld-1.0.0-1.el7.x86_64.rpm 
    
    9. 测试
    $ /usr/bin/helloworld
    Hello World!
    
    

    三、参考地址

    1. 制作rpm包
    2. rpm安装mysql
    3. rpm和yum学习

    作者:yusq77

    -------------------------------------------

    Wish you all the best and good health in 2021.

  • 相关阅读:
    第二次结对编程作业
    第一次结对编程作业
    第9组 团队展示
    第一次个人编程作业
    第一次博客作业
    2016-2017-1 20155215 信息安全技术 补课上测试
    2017-2018-1 20155215 第九周 加分项 PWD命令的实现
    2017-2018-1 20155215 《信息安全系系统设计基础》实验三
    2017-2018-1 20155215 《信息安全系统设计基础》第9周学习总结
    2017-2018-1 20155215 《信息安全系统设计基础》第8周学习总结
  • 原文地址:https://www.cnblogs.com/yusq77/p/13470479.html
Copyright © 2020-2023  润新知