linux下RPM及yum学习

  • linux中程序管理程序主要分为两类

dpkg(Debian Packager):debian,Ubuntu,Knoppix
        rpm(Redhat Package Manager):Redhat,Centos,Fedora

linux通过管理程序实现程序的安装,但不管是dpkg还是rpm安装软件时若软件存在依赖性关系,则自动安装所需要软件及相关配置,为实现此功能,rpm需包含自己的数据库(/var/lib/rpm),将安装程序分别安装到指定位置,本次学习以rpm为本进行学习

  1.     RPM管理程序:

    1. RPM是什么

RPM是Redhat开发的为Redhat系列的linux提供程序安装管理的管理程序

RPM与SRPM

Linux由于开源关系导致其各发行版或多或少有点不一样,由于RPM安装程序事先编译按照,因此不可能适应全部发行版的linux环境,针对此现象可使用SRPM程序包,此程序包包含RPM源码,可根据具体发行部再行编译安装

RPM使用

 打包:rpmbuild:基于specs文件进行打包

主包:包含包的主要功能(app-version)

分包:包含包的部分非常用功能,根据需要进行安装(app-devel-version)

version格式:主版本号.此版本号.release号

例子:      zlib-1.2.7-13.el7.x86_64.rpm(主包)
                            zlib-devel-1.2.7-13.el7.x86_64.rpm(分包)

 获取包方式

1.发行版提供的程序包
              2.Fedora-EPEL  个别开源程序;

3. 项目官方站点
              4.搜索引擎

安装

格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...

-i:表示安装程序

-v:表示显示安装过程

-vv:显示调试信息

--percent:以百分比方式显示安装进度

--excludedocs:不安装包中的文档文件

--ignoreach:不校验包结构

--includedocs:安装文档

--noscripts:不运行安装脚本

--prefix:安装到指定目录下

--force:忽略文件冲突

-h:安装时输出hash记号#

--nodeps:忽略依赖关系

--test:仅做测试

--replacepkgs:重装程序包

 例子

升级

格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
                       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

常用命令格式:

-Uvh:若有旧版程序则升级,若无则安装

-Fvh:若有旧版程序则升级,若无则不做操作

--nodeps:忽略依赖关系

--oldpackage:降级

--force:强制升级

--test:仅做测试

 卸载

格式: rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
                                   [--notriggers] [--test] PACKAGE_NAME ...

[--nodeps]:卸载忽略依赖关系

[--noscripts]:卸载时不运行脚本

[--test]:只是测试

查询

格式:rpm {-q|--query} [select-options] [query-options]

-q:查询

-qa:查询本机安装的所有程序

-qf FILE:查询FILE由那个安装包生成

-p:查询未安装的软件包

--whatprovides:查询所有提供了功能的软件包

--whatrequires:查询所有要求功能的软件包

-qc:查询程序包生成的配置文件

-qd:查询程序包生成的文档

-qi:查询程序包的信息

-ql:查询程序包生成的文件列表

-q  --scripts:查询程序包相关脚本

preinstall:安装前

postinstall:安装后

preuninstall:卸载前

postuninstall:卸载后

例子:

 校验:

格式:rpm {-V|--verify} [select-options] [verify-options]

校验码含义:

S:  文件大小发生了变化

M:权限发生变化

5:MD5校验码变化

D:设备文件不匹配

U:属主改变

T:最近修改时间戳改变

P:功能变化

由于安全性考虑文件可能需要秘钥进行校验:

导入秘钥:rpm --import

校验:       rpm -k FILE

yum:

网上存在较多镜像站点,其中repodata所在父目录即仓库路径

yum仓库:

文件服务器:

ftp://hostname/PATH/TO/REPO

http://hostname/ PATH/TO/REPO

file:///PATH/TO/REPO

      yum配置文件:

全局配置文件:/etc/yum.conf

单个仓库或同类仓库:/etc/yum.repos.d/*.repo

name:仓库名称

baseurl:参照yum仓库文件服务器设置,可设置多个,随机挑选一个

mirrorlist:将仓库写成列表,在通过列表读取baseurl,实现baseurl冗余

gpgcheck:是否检验包的合法性(0/1)

gpgkey:秘钥文件

enable:是否启用(0/1)

cost:指明仓库开销,越小越优先

添加后yum repolist生效仓库

仓库定义变量:

$releasever:当前系统主版本号

$basearch:当前系统架构:

i386,i486,i586,i686

  例子:

yum管理软件:

安装:install

卸载:remove(自动卸载依赖关系包)

升级:update(yum check-update检察升级包)

查询:

info:不管安装没安装都能查询相关信息

search KEYWOED [all]:all代表只要出现了都search,没有all代表只搜索包名出现关键字的

list all|installed|availiable:显示所有包|已安装包|可安装包

provides:查询文件由那个包生成的

重新安装:reinstall

降级:downgrade

清理: [ packages | metadata | expire-cache | rpmdb | plugins | all ],一般可以clean all

生成缓存:makecache

包组:一次管理一组程序包

grouplist:列出所有包组

groupinfo GROUPNAME:查看GROUPNAME信息

groupinstall “GROUPNAME”包组安装

groupremove “GROUPNAME”包组卸载

仓库:

列出仓库: repolist [all|enabled|disabled]  默认enableed
                            查看仓库信息:repoinfo [all|enabled|disabled]

查看仓库包安装情况: repository-packages

转载于:https://blog.51cto.com/610463479/1694773

linux下rpm,yum学习相关推荐

  1. [mysql] linux下使用yum安装mysql

    From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list ins ...

  2. yum linux gcc安装包下载,linux下安装yum及gcc

    linux下安装yum及gcc的详细教程 ----孤独小客(http://doc.docsou.com) 1.安装yum [root@st ~]#wget http://doc.docsou.com/ ...

  3. linux下安装工具——yum

    目录 一  yum基本概念 1 yum的功能之一--搜索安装下载 2 解决依赖关系 二 yum相关操作 Yum源 Yum操作 1 查找 list 2 安装 install 3 卸载软件 remove ...

  4. 第十章 Linux下RPM软件的安装与卸载

    第十章 Linux下RPM软件的安装与卸载 第一节 RPM软件包安装 rpm命名原则 如: vsftpd-3.0.2-9.el7.x86_64.rpm vsftpd 3.0.2 9 e17 x86_6 ...

  5. linux下rpm方式安装mysql(2012-5-12)

    由于感觉前几篇博客中关于linux下rpm方式安装mysql的方法问题太多,今天抽时间重新实践和整理了一下,现在拿出来和大家分享,希望对家有用. 系统环境: Rat had enterprise li ...

  6. linux rpm 查找,Linux下 rpm 命令查询方法

    [root@wang /]# rpm -qa // 查看安装所有包 [root@wang /]# rpm -qa |grep vim // 查询所安装的包 +包名 [root@wang /]# rpm ...

  7. Linux下光盘yum源搭建及简单软件安装

    Linux下软件安装包常见的有源码包.二进制包, 软件安装一般有以下几种方式:RPM包安装.yum安装.以及脚本安装. 严格来说,脚本安装并不是独立的一种安装方式,只是对Linux字符界面下软件复杂安 ...

  8. Linux下rpm安装软件

    软件包类型 bin文件 .bin (适合所有Linux发行版),bin是可以执行的文件. rpm文件 .rpm,yum(redhat系列)大多数官方下载的安装包都是rpm格式 # 安装rpm文件 rp ...

  9. LINUX下的makefile学习(此文是我学习过程遇到问题时找到的所有回答,感谢其它大佬的回答,各个文章我都标明了原文链接)

    看视频学习截图: 针对上面情况就使用makefile工程管理 内容一行写不完,加上'\' : CC=gcc2 CFLAGS=-Wall -std=gnu993 #CFLAGS=-Wall -std=g ...

最新文章

  1. 【Matlab 控制】构建系统,绘制零极点
  2. Spark配置属性整理(非常全面)
  3. C#——Lambda表达式与泛型委托DEMO
  4. Python编程基础16:类和对象
  5. 【网络信息安全】鉴别和密钥分配协议
  6. hdu 5504 GT and sequence
  7. 屏蔽网页所有弹出广告的神器工具!Adblock插件
  8. Linux内核安全模块学习-导言
  9. 小a的旅行计划(BM模板)
  10. 武汉大学计算机 韩立,文澜学术系列讲座 第135期 武汉大学经济与管理学院韩立宁老师:“Financial Network and Industry Connectedness”...
  11. NVIDIA之Triton Inference Server环境部署安装
  12. 如何使用百度统计监测网站流量
  13. 51单片机系列--闪烁灯,呼吸灯与流水灯
  14. 对于Verilog语言的一些总结
  15. apicloud菜鸟教程_APICloud 对象之 Method
  16. Excel应用技巧:不规则合并单元格的求和
  17. Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板
  18. eclipse配置python开发环境_Eclipse配置python开发环境
  19. shell编程(二)
  20. [转载]利用Web Services实现软件自动升级

热门文章

  1. 如何解决传输模式解决FTP连接问题
  2. 用中值排序基数法实现树状结构 (转)
  3. oracle10g sql跟踪,SQL性能的度量 - 语句级别的SQL跟踪autotrace
  4. python urlretrieve登录下载_使用python urlretrieve下载文件
  5. win7拒绝访问_win7系统提示无法访问application data如何解决
  6. android下载后的app自动安装,Android 7.0 下载APK后自动安装
  7. 根据开源数据库选择合适的工具
  8. JavaScript初学者编程题(5)
  9. ad 原理图差分线_usb hub原理图及pcb设计
  10. 图像数据增强(平移,旋转,亮度变换,翻转,添加高斯噪声,缩放,裁剪)