美文网首页
包管理工具rpm

包管理工具rpm

作者: Michael_林 | 来源:发表于2018-01-19 20:38 被阅读35次

Linux 程序包管理

功能:将编译好的应用程序文件打包成一个或是几个程序文件, 从而方便程序的安装、卸载、升级、查询和校验等管理工作。

程序包的组成
  1. 文件包的组成清单, 私有部分;
    文件清单
    安装卸载时运行的脚本;

  2. 数据库,公共部分。
    程序包名称及版本
    依赖关系
    功能说明
    安装生成的各个文件的路径及校验码信息

说明:
arch 与平台有关 x86 x86_64
noarch 与平台无关

管理工具 rpm

包管理工具: rpm
前端工具: yum dnf

获取程序包的途径

(1) 系统发行的程序包光盘或是服务器;
(2) 项目官网
(3) 第三方组织
Fedora - epel
http://pkgs.org
http://rpmfind.net
http://rpm.phone.net
(4) 手动制作

注意: 使用斯三分包需要验证来源的合法性和完整性

Windows 虚拟Linux环境: wine
Linux 虚拟Widow 环境: cywin

查看二进制文件依赖的库文件
ldd /PATH/TO/BINARY_FILE

管理及查看本机装载的库文件
ldconfig
idconfig -p 显示出所有的已经装载的库文件和文件路径的映射关系
配置文件为: /etc/id.so.conf. /etc/id.so.conf.d/*.conf
缓存文件: /etc/ld.so.cache

rpm 命令使用

rpm 可以用来安装、卸载、升级、校验和数据库维护
安装用法 rpm {-i|--install} [install-options] PACKAGE_FILE ...

-v verbose 显示详细信息
-vv 显示详细更信息
-h: 以#显示包管理的执行进度 #表示2%的进度
-i: install 安装

[install-options] 安装选项
--test 安装测试 不真正安装
--nodeps 忽略依赖关系
--replacepkgs 重新安装,替换
--nodegist 不检查包的完整性
--noscript 安装程序但是不执行脚本片段
%pre 安装前脚本 --nopre
%post 安装后脚本 --nopost
%prenu 卸载前脚本 --nopreun
%postun 卸载后脚本 --nopostun
常用安装组合: rpm -ivh rpmpkg

升级用法
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

upgrade 如果安装有旧版本就升级,如果没有就版本就安装, 即安装又升级
freshen 如果安装有旧版本就升级,如果没有旧版本就不执行安装 只升级

常用安装组合:
rpm -Uvh rpmpkg
rpm -Fvh rpmpkg

[install-options]
--oldpackages 降级
--force 强制

注意:
(1) 不对内核使用升级操作, Linux支持多版本并存,因此可以直接安装新版内核;
(2)

查询操作:
rpm {-q|--query} [select-options] [query-options]
-q query 查询操作
-p 表示是一个程序包,还没有安装 , 可以对一个未安装的包做查询操作
[select-options] 挑选
-a all 查询所有已安装rpm包
-f file 查询文件由那个安装包生成
例如: [root@ansible1 ~]# rpm -qf /etc/issue
-g 查询指定包组的程序包
--whatprovides CAPABILITY 查询指定的功能由那个包提供
--whatrequires CAPABILITY 查询指定的功能由那个包依赖

[query-options] 查询
--changelog 查询一个包的修改日志
-c 查询程序包的配置文件, 例如:
[root@ansible1 ~]# rpm -qc ansible
-d, --docfiles 安装生成的文档
-i, --info 查询包的描述信息
-l, --list 查看程序包生成的所有文件列表
--scripts 查看包自带的安装脚本
-R 列出依赖的包

常用查询用法
-qi package
-qf file
-qc package
-ql package
-qd package
-qpi package_file
-qpl package_file
-qa

卸载程序包
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACK-

-e 卸载

校验

rpm {-V|--verify} [select-options] [verify-options]

相关文章

  • [Linux]软件包管理工具:RPM

    RPM RPM介绍 rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理L...

  • Linux程序包管理命令

    rpm命令的常见选项 rpm命令是RPM软件包的管理工具。rpm最初是Red Hat Linux发行版专用于管理L...

  • 每天一个Linux命令之rpm

    rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程...

  • day16-Linux软件包的管理

    1.什么是rpm? redhat packages manager 红帽推出软件包管理工具 2.rpm软件包的组成...

  • Linux基础之RPM软件包的管理

    一、软件包的命名和工具 包命名和包管理工具 Application-VERSION-ARCH.rpm: 主包 A...

  • Centos命令笔记

    一.包管理工具 1.查找某个包[root@xuyj~]# rpm -qa|grep -i [包名]2.删除某个包[...

  • Centos7-RPM命令使用

    离线下载rpm包 RPM包安装 RPM包升级 RPM包的卸载 RPM包的查询

  • 2020-07-08 Linux-RPM包详解

    RPM包详解 rpm命令执行安装rpm包和源码包,rpm包以.rpm结尾,而源码包以.src.rpm结尾 RPM软...

  • yum的理解与使用

    yum工作原理 yum是一个RPM包的前端管理工具,在rpm包的依赖关系已经被建成数据库的前提下它能够实现自动查找...

  • Linux下软件的安装

    一、RPM的使用 RPM RPM(RedHat Package Manager),Rethat软件包管理工具,类似...

网友评论

      本文标题:包管理工具rpm

      本文链接:https://www.haomeiwen.com/subject/khpaoxtx.html