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

包管理-rpm的更多相关文章

  1. 程序包管理rpm、yum与简单编译安装程序

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  2. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  3. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  4. linux基础之程序包管理(rpm,yum)

    一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...

  5. 程序包管理rpm和yum

    Linux程序包管理: API:Application Programming Interface源码包 POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 -- ...

  6. Linux 程序包管理-RPM

    程序简介:  POSIX(Portable Openratin System)跨平台系统:不同操作系统平台的标准C库(glibc)都是遵循POSIX规范的,这样基于标准库开发程序的源代码可以夸平台编译 ...

  7. Linux-软件包管理-rpm命令管理-查询

    rpm -q httpd 查看apache包是否已经安装 rpm -qa 查看所有已经安装的包rpm -qa | grep httpd 查询包含和apache关键字相关联的所有包信息 rpm -qi ...

  8. Linux-软件包管理-rpm命令管理-安装-卸载

    mount 确认光盘是否挂载 mount /dev/cdrom /mnt/cdrom 将设备名称/dev/cdrom安装到/mnt/cdrom挂载点下面 mount 查看光盘是否已经挂载 (ro表示只 ...

  9. Linux 基础教程 34-软件包管理-RPM

        对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础     RPM(RedHat Package ...

随机推荐

  1. 【译】Kubernetes监控实践(2):可行监控方案之Prometheus和Sensu

    本文介绍两个可行的K8s监控方案:Prometheus和Sensu.两个方案都能全面提供系统级的监控数据,帮助开发人员跟踪K8s关键组件的性能.定位故障.接收预警. 拓展阅读:Kubernetes监控 ...

  2. 推荐5款自学手机APP,请低调收藏,让你变得越来越优秀

    现在的手机APP真的是太多了,但里面的功能同类性又非常大,很难找到实用并且符合要求的APP.接下来就为小伙伴们推荐5款非常实用的APP软件,保证你会爱不释手,轻松秒变手机达人. 1.清爽视频编辑器 一 ...

  3. selenium自动化测试-浏览器基本操作

    webdriver 通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器.控制浏览器大小. 浏览器刷新及浏览器前进.后退等,接下来介绍浏览器的一些基本操作. 1.启动浏览器 dri ...

  4. bugku—Web_Writeup

    Bugku_Web_Writeup Writeup略显粗糙~~ 部分Web题没有得到最后的flag~只是有了一个简单的思路~~ Web1: 如上,打开题目答题网址后就会弹出一张图片,看图片就可以发现是 ...

  5. java基础之缓存:session、cookie和cache的区别

    以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application. 其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息. Session则 ...

  6. hover和position共用出现的问题

    hover  鼠标移入的样式 position  定位属性 包含 relative  相对定位   absolute  绝对定位为     fixed 固定定位 hover作用范围 可以实现自己样式的 ...

  7. 再探vue

    1. vue项目搭建 搭建vue环境需要安装node软件,node是由c++编写而成,主要运行js文件或者js代码的,安装node会自动安装一个管理器叫npm,建议换源下载,国外的网站较慢(比如cnp ...

  8. TCP/UDP的小事情

    UDP: 没有复杂的控制机制,面向无连接的通信服务. 常用于: 包总量少的通信 音视频传输(即时通信) TCP: 对传输.发送.通信.进行控制的协议.面向有连接的协议,只有在确认通信对端存在时才会发送 ...

  9. 你所不知道的TIME_WAIT和CLOSE_WAIT

    你遇到过TIME_WAIT的问题吗? 我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下.哎呀妈呀,几 ...

  10. mobaxterm和CRT的文件上传

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/submarineas/article/de ...