我的编程空间,编程开发者的网络收藏夹
学习永远不晚

rpm包管理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

rpm包管理



linux程序包管理

RPM ==================================================================


#ldd 查看二进制程序调用的动态链接库

#ldconfig  -p  显示本机已缓存的所有可用库文件



    dll: Dynamic link library

    so : Shared Object


    API: Application Program Interface 应用编程接口

    ABI: Application Binary INterface 应用二进制接口

    Unix-like   ELF


    C/C++程序格式:

    源代码:文本格式的程序代码

        编译开发环境:编译器,头文件,开发库

    二进制格式:文本格式的程序代码-编译器-二进制格式(二进制程序,库文件,配置文件)


    java/pathon程序格式:

    源代码:编异成能够在其虚拟机(jvm/pvm)运行的格式

        开发环境:编译器,开发库


    项目构建工具:

    c/c++:make

    java:maven



  程序包管理器:

源代码 - 目标二进制格式 - 组织成几个包文件;完成安装、升级、查询、卸载、效验等操作


     debian:dpt,dpkg  ".deb"

     redhat:rpm        ".rpm"

     S.u.S.E:rpm   ".rpm"

          rpm:Redhat Package Manage

            RPM Package Manage



  rpm包命名格式:


     name-VERSION-rpmrelease.arch.gz archetecture 架构

     VERSION:major.minor.release

    

     yum-3.2.29-73.el6.centos.noarch.rpm

     yum-3.2.29版本 73次修改 Redhat Enterprise 6


  changelog


  拆包:选择完整程序包中需要的功能


  前端工具:自动解决依赖关系

     yum: rhel

     apt-get(apt-cache): deb

     zypper: suse

     dnf: fedora 22+


程序包管理器:

    功能:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,

    从而方便的实现程序包的安装,卸载,升级等操作



    /var/lib/rpm/    rpm数据库




获取程序包途径:

    1.系统发行版的光盘或官方的文件服务器(或镜像站点)

          mirrors.aliyun.com

          mirrors.sohu.com

          mirrors.163.com

     2.项目的官方站点

     3.第三方组织

          pkgs.org

          rpmfind.net

          rpm.pbone.net

     4.自己制作



检查其合法性:

    来源合法性

    程序包完整性





#rpm [OPTIONS] [PACKAGE_FILE]

     -i 安装  --install

     rpm -ivh packagefile  -v 显示详细信息  -h  以#号表示进度

    

    

     -U 升级或安装  --update

     -F  仅可升级

         --oldpackage 降级

         --force 强制升级

    

     -e  卸载  --erase    rpm -e http(包名)

         --allmatchs 删除指定名称软件包所有版本

         --nodeps 忽略依赖关系

         --test 测试卸载

    

     -q  查询  --query

      [select-options]

     -a --all 查询所有已装包;可配合grep

]#rpm -qa | grep httpd


    -f FILE 查询指定文件由哪个软件包安装生成

]#rpm -qf /etc/named


     -p --package PACKAGE_FILE  对未安装的程序包执行查询 -qpc -qpl -qpi

          --whatprovides CAPABILITY  查询指定能力由哪个程序提供

          --whatrequires CAPABILITY  查询指定能力被哪个包依赖

    

      [query-options]

     --changelog 查询rpm包的changelog

     --provides 列出指定程序包提供的所有CAPABILITY

     -R --requires查询指定程序包的依赖关系(CAPABILITY)

     -l --list 列出程序安装生成的所有文件

     -qpl 查询未安装的程序包安装后会生成哪些文件

     -i --info 程序包相关信息

     -c --configfiles 查询指定程序提供的配置文件

     -d --docfiles 查询指定程序包提供的帮助文档

     --scripts 查看程序包自带的脚本

    

    

     -V  校验  --verify   可指定检查哪些

]#rpm -V bash
]#S.5....T

      S file Size differs

       M Mode differs (includes permissions and file type)

       5 digest (formerly MD5 sum) differs

       D Device major/minor number mismatch

       L readLink(2) path mismatch

       U User ownership differs

       G Group ownership differs

       T mTime differs

       P caPabilities differ


  数据库重建:     默认位置:/var/lib/rpm

     rpmdb

     --initdb 初始化数据库。当前无数据库可初始化创建新的数据库;如果存在则不作操作

     --rebuilddb 重新创建数据库

     --dbpath 指定创建数据库文件存放路径

    

     --builddb,initdb  数据库维护



 通用选项:

     --nodeps  忽略依赖关系

     --replacepkgd 重新安装     删除某个配置文件后可重新安装

     --replacefiles  替换不同程序包中可能出现的相同的文件

     --test  测试安装  仅测试能否安装  不真正安装

     --nosignature 不检查包签名信息,不检查来源合法性

     --nodigest 不检查包完整性





  包来源和发行、完整性验证:

 包制作者:

     提取程序包的特征码

     使用自己的私钥对特征码加密(签名)

     将签名加入包放到互联网


 使用者:

    使用公钥验证包来源合法性、完整性


 验证:

    安装时自动验证

    手动验证:rpm -K PACHAGE-FILE










免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

rpm包管理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2024-04-02

RPM包管理常用命令

RPM包管理常用命令 一、rpm命令 1. 包名与包全名 包全名:操作的包是没有安装的包时,使用包全名。而且要主要路径包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库 2. RPM安装 rpm -ivh 包全
2023-08-30

如何分析Linux RPM和YUM包管理

本篇文章为大家展示了如何分析Linux RPM和YUM包管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。先决条件为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识,并需要准备一个
2023-06-16

怎么在CentOS中使用rpm包管理器

怎么在CentOS中使用rpm包管理器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RPM包的命名例如,bash-4.3.2-1.centos6.x86_64.rpmrpm
2023-06-10

RedHat系Linux中的rpm包管理系统是什么

这篇文章将为大家详细讲解有关 RedHat系Linux中的rpm包管理系统是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在linux世界里流行两种包管理方式,分别是redhat系的rp
2023-06-10

编程热搜

目录