zoukankan      html  css  js  c++  java
  • 包管理-rpm

    rpm包管理


    程序源代码---->预处理---->编译---->汇编---->链接
                数据处理  转为汇编代码  进行汇编    引入库文件
        静态编译:.a
        动态编译:.so
    包的组成:
        二进制文件、库文件、配置文件、帮助文件
    程序包管理器:
        debian: deb文件, dpkg包管理器
        redhat: rpm文件, rpm包管理器
        rpm:Redhat Package Manager
        RPM Package Manager
    rpm包命名方式:
        bash-4.2.46-19.el7.x86_64.rpm
        name-版本-编译次数.发布版本.架构
        
        systemctl start autofs --启动服务
        systemctl enable autofs
        cd /misc/cd  --会自动挂载光盘到/misc/cd
        
    包:分类和拆包
        Application-VERSION-ARCH.rpm: 主包
        Application-devel-VERSION-ARCH.rpm 开发子包
        Application-utils-VERSION-ARHC.rpm 其它子包
        Application-libs-VERSION-ARHC.rpm 其它子包    
    解决依赖包管理工具:
        yum:rpm包管理器的前端工具
        apt:deb包管理器前端工具
    查看二进制程序所依赖的库文件
        ldd /PATH/TO/BINARY_FILE    
        ldd /bin/cat  --查看cat依赖的库
    管理及查看本机装载的库文件
        ldconfig 加载配置文件中指定的库文件
        /sbin/ldconfig –p 显示本机已经缓存的所有可用库文件名及文件路径
    映射关系
        配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
        缓存文件:/etc/ld.so.cache

        
    rpm包管理:
    rpm -i [install-options] PACKAGE_FILE
        -v:verbose:显示详细信息
        -vv:显示的更加详细
        -h:以#显示程序包管理秩序进度
        
    rpm包安装:        
    [install-options]
        --test: 测试安装,但不真正执行安装,即dry run模式
        --nodeps:忽略依赖关系
        --replacepkgs | replacefiles
        --nosignature: 不检查来源合法性
        --nodigest:不检查包完整性
        --noscripts:不执行程序包脚本
            %pre: 安装前脚本 --nopre
            %post: 安装后脚本 --nopost
            %preun: 卸载前脚本 --nopreun
            %postun: 卸载后脚本 --nopostun
        
    rpm包升级:
    升级:
    rpm -U [install-options] PACKAGE_FILE...
    rpm -F [install-options] PACKAGE_FILE...
        -U:安装有旧版程序包,则“升级”
                如果不存在旧版程序包,则“安装”
        -F:安装有旧版程序包,则“升级”
                如果不存在旧版程序包,则不执行升级操作
        rpm -Uvh PACKAGE_FILE ...
        rpm -Fvh PACKAGE_FILE ...
        --oldpackage:降级
        --force: 强制安装    
        
    包查询:
    rpm -q [select-options] [query-options]    
    [select-options]
        -a:所有包
        -f:查看指定的文件由哪个程序包生成
            rpm -qf /etc/yum.conf
        -p profile:针对未安装的程序包文件做查询操作
        示例:rpm -qp dnf-0.6.4-2.sdl7.noarch.rpm
        --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供
        示例:rpm -q --whatprovides httpd
        --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
        示例:rpm -q --whatrequires bash
    rpm2cpio 包文件|cpio –itv 预览包内文件
    rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件    

    [query-options]    
        --changelog:查询rpm包的changelog
            rpm -q --changelog httpd
        -c:查看程序的配置文件
        -d:查询程序的文档
        -i:information
        -l:查看指定程序安装后生成的所有文件
        --scripts:程序包自带的脚本
        --provives:列出指定程序包所提供的能力
        -R:查询指定的程序包所依赖的能力
        
    包卸载:
        rpm -e PACKAGE_NAME

    导入所需要公钥
        rpm -K|checksig rpmfile 检查包的完整性和签名
        rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
        
    rpm数据库
        /var/lib/rpm
    rpm {--initdb|--rebuilddb}
        initdb:初始化,如果事先不存在数据库则新建,否则不处理
        rebuilddb:重建已安装的包头的数据库索引目录
        
        

    常用命令:rpm -ivh | -evh | -qa | -qf | -qp | -qc | -qd | -qi | -ql | --provides | --scripts
       

  • 相关阅读:
    淘宝的样式初始化
    手机上 input submit ios和andirod样式不统一
    css实现div左侧突出一个带边框的三角形
    git不提交某个文件
    判断一个对象是否是数组
    操作对象的几种方法
    LWIP互联网资料汇总
    stm32 看门狗
    SPI协议再读
    每天要做的事
  • 原文地址:https://www.cnblogs.com/wangyanqiang/p/11776476.html
Copyright © 2011-2022 走看看