今天小编与大家聊聊软件包管理 的俩大神器:rpmyum,它俩在我们在对软件进行安装,查询,卸载,升级等等方面可给我们带来了非常,相当,特别多的方便,哈哈,听到小编说这么多副词来形容它们就知道它们非常重要。接下来小编从下面几个方面来介绍他们,废话不多,全是干货。

1.包管理器的功能

1)将软件包打包成一个文件,其中包括:
二进制应用程序的组成部分:
1.都有配置文件,通过设置配置文件来改变程序启动时的运行特征
2.都具有二进制的程序主体
3.都自带库文件,供程序主体进行调用
4.都带有帮助文件,对程序的使用方法进行说明
2)程序包管理器:
debian:deb文件, dpkg包管理器
redhat: rpm文件, rpm包管理器
rpm: Redhat Package Manager
RPM Package Manager

2.rpm与yum的区别于联系

rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

3.RPM的用法

CentOS系统上使用rpm命令管理程序包:
安装、卸载、升级、查询、校验、数据库维护

1.安装
rpm包安装
rpm -i [install-options] 包名
-v 显示详细信息
-vv 显示更详细信息
-h 显示进度
-ivh rpm包名
–test: 测试安装,但不真正执行安装,即dry run模式
–nodeps:忽略依赖关系直接安装
–replacepkgs | replacefiles 已安装过的包重装。
–nosignature: 不检查来源合法性
–nodigest:不检查包完整性
–noscripts:不执行程序包脚本
%pre: 安装前脚本; –nopre
%post: 安装后脚本; –nopost
%preun: 卸载前脚本; –nopreun
%postun: 卸载后脚本; –nopostun
Rpm2cpio 软件包名 > name
实例:
1.安装

2 Rpm -iv 软件名和-ih 软件名

Rpm -ivh 显示名字和安装进度

-ivvh 软件名 显示详细信息

3.rpm -ivh –test 测试安装,但不真正执行安装


4–nodeps:忽略依赖关系直接安装

危害:

可以用–replacepkgs | replacefiles (已安装过的包重新安装)挽救。

5–nosignature: 不检查来源合法性

6

2.升级
 rpm {-U|–upgrade} [install-options] PACKAGE_FILE…
 rpm {-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE …
rpm -Fvh PACKAGE_FILE …
–oldpackage:降级
–force: 强制安装
-Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。
-Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing
–oldpackage 降级 已有新包,装旧包。
–force 强制安装。–replacepkgs –replacefiles –oldpackage
实例:
1 -Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。

2 对内核进行升级

3 降级 –oldpackage 降级 已有新包,装旧包。

3 查询
包查询
 rpm {-q|–query} [select-options] [query-options]
 [select-options]
-a: 所有包
-f: 查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作
–whatprovides CAPABILITY:查询指定的CAPABILITY 由哪个包所提供
–whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
 rpm2cpio 包文件|cpio –itv 预览包内文件
 rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件

-q 软件包名  查询已安装过的软件包名。-qa 列出所有的已安装过的rpm包-qa "name*"-qa |grep name-qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)在数据库中查询-q --changelog 版本更新日志-qc 查询软件包的配置文件(不是所有包都有配置文件)-qd 查询软件包的帮助文档-qi 查询![这里写图片描述](https://img-blog.csdn.net/20170818204428639?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvS2V0Y2h1cF8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)软件包的详细信息-ql 查询软件包所安装到系统当中的所有文件路径-q --scripts 查询软件包自带的脚本-q --provides 查询自身的功能-qR 查询实现自身的功能需要什么能力-qp[licd] rpm包 查看未安装的rpm包的各项信息

实例
1.当一个文件找不到时,而你又不知道来自哪个包:
rpm2cpio aide-0.15.1-11.el7.x86_64.rpm |cpio -id ( 解包)


2 -qa 列出所有的已安装过的rpm包

结合正则

3 -qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)在数据库中查询


4 -q –changelog 版本更新日志

5 -qd 查询软件包的帮助文档

6-qi 查询软件包的详细信息

  1. -ql 查询软件包所安装到系统当中的所有文件路径

  2. -q –scripts 查询软件包自带的脚本

    9.-q –provides 查询自身的功能


10 -qR 查询实现自身的功能需要什么能力

11 -qc 查询软件包的配置文件(不是所有包都有配置文件)

12用 -qp[licd] rpm包 查看未安装的rpm包的各项信息

4.校验
1包来源合法性验正及完整性验正
完整性验正:SHA256
来源合法性验正:RSA
2 公钥加密
对称加密:加密、解密使用同一密钥
非对称加密:密钥是成对儿的
public key: 公钥,公开所有人
secret key: 私钥, 不能公开
3 导入所需要公钥
rpm -K|checksig rpmfile 检查包的完整性和签名
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7
rpm -qa “gpg-pubkey*”
–import GPG-KEY…. 导入公钥
-qa “gpg-pubkey*” 显示所有已导入的公钥
-e gpg-pubkey….
-K rpm包 验证某rpm签名是否合法
-V验证
实例
1–import GPG-KEY…. 导入公钥

2 -K rpm包 验证某rpm签名是否合法

5 数据库维护
 数据库重建:
/var/lib/rpm
 rpm {–initdb|–rebuilddb}
initdb: 初始化
如果事先不存在数据库,则新建之
否则,不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录
6 卸载
rpm -e 软件名
–nodeps 忽略依赖性。强制卸载

4.yum的用法

1.yum配置文件
 yum客户端配置文件:
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
2.yum仓库

仓库指向的定义:
[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0}
gpgcheck={1|0}
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
cost= 默认为1000
仓库的实例


3 yum-config-manage
生成172.16.0.1_cobbler_ks_mirror_CentOS-X-x86_64_.repo
yum-config-manager –add-repo=
http://172.16.0.1/cobbler/ks_mirror/7/

对设置进行补充
1. yum-config-manager –disable “仓库名” 禁用仓库
2. yum-config-manager –enable “仓库名” 启用仓库
1.
2


yum命令1
 yum命令的用法:
yum [options] [command] [package …]
 显示仓库列表:
yum repolist [all|enabled|disabled]
 显示程序包:
yum list
yum list [all | glob_exp1] [glob_exp2] […]
yum list {available|installed|updates} [glob_exp1] […]
 安装程序包:
yum install package1 [package2] […]
yum reinstall package1 [package2] […] (重新安装)
 升级程序包:
yum update [package1] [package2] […]
yum downgrade package1 [package2] […] (降级)
 检查可用升级:
yum check-update
 卸载程序包:
yum remove | erase package1 [package2] […]
 查看程序包information:
yum info […]
 查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] […]
 清理本地缓存:
清除/var/cache/yum/basearch/basearch/releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
 构建缓存:
yum makecache
1.显示仓库列表yum repolist [all|enabled|disabled] 列出repo信息

2 安装程序包yum install package1 [package2] […]


3.显示安装过的程序包:

4.显示没安装过的程序包:

5.显示要更新的程序包:

6. 检查可用升级 :

7. -e修改之后,在卸载,用rm 删除,配置文件会另保存

8.查看程序包information:

9.查看指定的特性(可以是某文件)是由哪个程序包所提供
whatprovides查看某个文件来自那个包
当文件的名称也记不全时

10.清除/var/cache/yum/basearch/basearch/releasever缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

yum makecache就是把服务器的包信息下载到本地电脑缓存起来

yum命令2

4.搜索
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
通过rpm -qa | grep filename去查询,发现没有返回。没返回说明没装
yum源里面有没有呢?
执行yum list | filename
Search 只是找到相关的软件包,但是是不是已经安装了,那可不一定
通过rpm -qa

2.yum history
info [number] 查看具体那一条
undo [number]
undo - 会撤销一个指定的事务。
redo - 重复一次指定的事务

3.查看日志


5安装及升级本地程序包:
yum localinstall rpmfile1 [rpmfile2] […]
(用install替代)
yum localupdate rpmfile1 [rpmfile2] […]
(用update替代)
 包组管理的相关命令:
yum grouplist
yum groupinfo “包组名”
yum groupinstall “包组名”
yum groupremove “包组名” 只删除包组中的包,不删除依赖包,可以用yum history undo 操作数字来删除包含依赖包。
yum groupupdate 更新包组中的包a
实例:
1.yum groupinfo group1 […]

2.yum grouplist [hidden] [groupwildcard] […]

3.remove和undo删除的区别
remove可以卸载包本身
undo可以卸载有依赖的包

yum的命令行选项:
–nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定的repo
–enablerepo=repoidglob:临时启用此处指定的repo
–noplugins:禁用所有插件

1 –nogpgcheck:禁止进行gpg check

2静默模式



好了,今天小编就介绍到这 。

软件包管理:rpm和yum相关推荐

  1. Linux_09 Linux软件包管理 rpm与yum

    Linux软件包管理 rpm与yum 文件的压缩与打包 rpm安装软件 yum安装删除软件 yum进阶 一. 文件的打包 与压缩 压缩:指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容. ...

  2. Linux软件包管理-rpm、yum

    Linux软件包管理 软件包是什么?软件包顾名思义就是将应用程序.配置文件和数据打包的产物. 所有的linux发行版都采用了某种形式的软件包系统,这使得linux软件管理和在windows下一样方便, ...

  3. 软件包管理 rpm yum apt-get dpkg

    软件包管理 rpm yum apt-get dpkg 标签: debdebian工具linuxubuntulotus 2012-03-28 10:17 3410人阅读 评论(0) 收藏 举报  分类: ...

  4. 大数据与云计算学习计划 (一) 云计算系统管理 6 Linux中RPM软件包管理操作 、 Yum软件包仓库操作(概念与实操)

    大数据与云计算学习计划 (一) 云计算系统管理 6 Linux中RPM软件包管理操作 . Yum软件包仓库操作(概念与实操) 一.RPM软件包管理 1.常见软件包类型 2.RPM包文件名特征 3.RP ...

  5. 软件包管理,rpm,yum,dnf,apt,dpkg使用

    软件包管理 包管理器: rpm:rpm包管理器 yum:rpm包管理器的前端工具 dnf:Fedora 18+ rpm包管理器前端管理工具,CentOS 8 版代替 yum dpkg:deb包管理器 ...

  6. 【Linux扩展】五、软件包管理 ——RPM(RedHat Package Manager,RedHat软件包管理工具)查询与卸载、YUM仓库配置

    软件包管理 5.1 RPM 5.1.1 RPM 概述 5.1.2 RPM 查询命令(rpm -qa) 5.1.3 RPM 卸载命令(rpm -e) 5.2 YUM 仓库配置 5.2.1 YUM 概述 ...

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

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

  8. Linux软件安装—软件包管理—rpm命令管理—包名与依赖性

    一.RPM包管理-rpm包命令管理 1.rpm包命名规则 apache包举例: httpd-2.2.15-15.el6.centos.l.i686.rpm各部分的含义如下表 内容 含义 httpd 软 ...

  9. linux-linux常用命令总结四linux压缩、打包、解压命令软件安装管理rpm及yum的使用

    一.压缩和打包概念 压缩: 指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容. 打包: 指将多个文件(或目录)合并成一个文件,方便传递或部署. 在Linux系统中,文件的后缀名不重要,但 ...

  10. Linux平台软件包管理rpm、yum---马哥运维笔记

    文章目录 一.预先知识: (一). 软件开发语言有哪些类? 1. 系统级开发 2. 应用级开发 (二). 应用程序的组成部分: 1.程序的组成组成清单 (每个包独有) 2.数据库(公共) (三). 程 ...

最新文章

  1. craigslist_Craigslist,Wikipedia和丰富经济
  2. Orchard之模版开发
  3. sap 后台作业状态都是什么含义
  4. 201621123009 《Java程序设计》第二周学习总结
  5. R语言数据转换(split-apply-combin…
  6. 优秀工程师应该具备哪些素质_一名优秀工程师所需要具备的条件和素质[1]
  7. python中把输出结果写到一个文件中_如何将脚本输出写入文件和命令行?
  8. Git教程之一个团队如何在github上协作开发
  9. Java基础-自增自减运算符练习题
  10. AI架构师:深度学习框架、部署上线及应用,一文梳理
  11. Linux的EXPORT_SYMBOL和EXPORT_SYMBOL_GPL的使用和区别
  12. 《Effective C#》读书笔记——条目25:用事件模式实现通知使用C#表达设计
  13. 16、1.6 常用Java开发工具
  14. 全国计算机等级考试准考证下载 怎么弄
  15. 数字信号处理前瞻(note1):奈奎斯特与折叠频率
  16. java myqq ui_GitHub - 744184755/myqq: Java版SWing“高”仿QQ即时通聊天系统
  17. 谁在制造房价泡沫:土地供应下滑 居民杠杆上升
  18. 电脑连android手机上网,电脑通过手机3G上网(android安卓手机)的几种方法
  19. 2020/03/11美版iPhone卡贴ICCID完美激活!
  20. android 流畅动画svg,android svg动画

热门文章

  1. 为了讨好大舅子,程序员竟当场学起了外挂???
  2. unity3d 建立3D中文立体字
  3. 1月1日服务器例行维护公告,1月1日服务器例行维护公告(已完成)
  4. 可证明安全的密文策略基于属性加密(Provably Secure Ciphertext Policy ABE)
  5. rockchip rk3566 调试杂记
  6. 回眸--从高考到程序猿
  7. html中如何写平方根等,开方符号 数学符号平方根号等怎么输入
  8. 【SCIENTIFIC AMERICAN December 2019】【NUCLEAR PHYSICS】Proton Size Puzzle
  9. 共享服务器文件溢出,文件共享软件Samaba中发现缓冲区溢出漏洞
  10. html-SVG-rect border width