zoukankan      html  css  js  c++  java
  • 创造属于你的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.

  • 相关阅读:
    中国各省份绘制SVG地图数据
    cookie sessionStorage localStorage 区别
    CSS隐藏元素的几种方法
    15款增强web体验的Javascript库
    HTTP状态码
    IE CSS HACK
    网站性能优化(Yahoo 35条)
    几款超实用的 CSS 开发工具
    Linux 日志切割工具cronolog详解
    linux 文件搜索命令
  • 原文地址:https://www.cnblogs.com/yusq77/p/13470479.html
Copyright © 2011-2022 走看看