• RPM软件管理


    1.源代码形式
    绝大多数软件都是以源代码形式发布的;
        因为开源的理念是不重复造轮子;让其它不以商业为目的人都能修改这个软件;
     
    源代码一般会被打包成tar.gz的压缩归档文件;
    程序源代码需要编译成二进制形式之后才能够使用;
     
    源代码基本编译流程:
        ./configure    ->检查编译环境、相关库文件及配置参数并生成makefile;
        make    ->对源代码进行编译,并生成可执行文件;
        make install    ->将生成的可执行文件安装到当前计算机中;
     
    源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性好;
         就是说从网上下载的源代码可以自己针对平台进行编译;
     
    开源软件一般会使用依赖其它开源软件的功能,因此有大量的依赖关系;在编译源代码时会遇到很多问题;
     
    2.RPM
    源代码形式的缺点:操作复杂、编译时间长、容易出现错误;
    源代码形式的优点:适合所有系统、可定制;
     
    为了方便使用;Erik Troan和 Marc Ewing 开发了 RPM (redhat package manager);
    RPM通过将源代码基于特定平台系统编译成可执行文件,并保存依赖关系,来简化开源软件的安装管理;
    RPM设计目标:
        使用简单;
        使用单一软件包格式文件发布;(rpm文件)源代码文件解压缩后可能有很多文件,而rpm文件只有一个.rpm格式的文件;
        可升级;某个软件有一个新的版本出现了,可通过rpm包进行升级;
        追踪软件依赖关系;保存依赖关系,但并不解决;也就是说下载了一个rpm包可能还需要安装另外一个依赖的rpm包等等;
        基本信息查询;作者、发布时间、版本号、说明等;
        软件验证功能;
        支持多平台;不是一个rpm支持多个平台,而是不同的平台发布不同的rpm;
     
    1)RPM软件包的命名规范
        软件名-版本号.系统.平台.rpm
        例如:darksoul3-1.15.el6.1686.rpm
     
    2)RPM基本命令(从网上下载的rmp都是一个.rpm文件,可通过命令来安装卸载升级)
        安装软件:
    rpm -i software.rpm
        卸载软件:
    rpm -e software 
        升级软件:
    rpm -U software-new.rpm
        通过http、ftp协议安装:
    rpm -lvh http://www.baidu.com/software.rpm
        
        相关参数:
            -v    ->显示相信信息;
            -h    ->显示进度条;
     
    3)rpm查询
        rpm会保存软件的相关信息,可通过命令查询;
            列出所有安装的rpm软件:
    rpm -qa
            查询目标文件属于哪个rpm包:
    rpm -qf filename
            查询指定已安装rpm软件的信息:软件名、版本号、发行版、安装时间等;
    rpm -qi packagename
            查询指定已安装rpm软件包含的文件:也就是把哪些文件装在操作系统里了
    rpm -ql packagename
            查询rpm文件的信息:加一个p来查询未安装的rpm文件信息;
    rpm -qip software.rpm
            查询rpm文件包含的文件:
    rpm -qlp software.rpm
     
    4)rpm验证
        软件在传播过程中,可能会被恶意修改,为了安全起见,现在的系统都会加入软件的验证功能;
        验证一般使用非对称加密算法,所以需要一个密钥;
        导入密钥:
    rpm --import RPM-GPG-KEY-CentOs-6
        验证rpm文件:
    rpm -K software.rpm
        验证已安装的软件:
    rpm -V software
     
     
     
  • 相关阅读:
    [计算机网络] HTTPDNS 协议
    [计算机网络] DNS 协议
    [计算机网络] P2P 协议
    [年中总结]一个骄傲而又自卑的人的内心独白
    [计算机网络] FTP 协议
    [计算机网络]简单聊聊套接字 Socket
    扒一扒自从买了kindle后看的书
    安全学习笔记——缓冲区溢出攻击
    思想感悟
    C#利用服务器实现客户端之间通信
  • 原文地址:https://www.cnblogs.com/ShiningArmor/p/10492493.html
Copyright © 2020-2023  润新知