Linux软件管理RPM 和 YUM

【记录】linux软件管理 RPM 和 YUM

时间 2020-06-08
linux 软件包格式

1 可直接执行: RPM DEB

2 源码形式: gzip bzip2

一、RPM 软件包管理

1 简介

RPM (RetHat Package Manager),红帽软件包工具。

RPM 可以建立统一的数据库文件,详细记录软件信息,并能够自动分析依赖关系,但并不能解决依赖文体,就是它不会帮你顺便下载依赖包

2 安装与卸载 RPM 包

安装RPM包rpm -ivh filename.rpmi (install) v (可视化,显示详细信息) h(显示安装进度)
更新RPM包rpm -Uvh 软件名称rpm会删除旧版本软件(仅保留配置文件),再安装新的软件版本
卸载RPM包rpm -e 软件包名称rpm -e ftp 卸载 ftp ,具体版本号可以不写

demo: 安装bind-9.9.4-29.el7.x86_64.rpm软件包,并显示安装过程中的详细信息和水平进度条。

[root@rhel Packages]# rpm -ivh bind-9.9.4-29.el7.x86_64.rpm

3 软件包信息查询

格式 <rpm -q>

查询软件包

命令解释filename 具体指
rpm -q filename.rpmquery 查询是否安装该软件包一个具体软件
rpm -qaall 查询系统中已经安装的所有软件包系统已安装的全部软件
rpm -qi filename.rpminformation查询某一软件包的详细信息一个具体软件
rpm -ql filename.rpm查询某一软件的安装路径,与文件列表一个具体软件
rmp -qc filename.rpmconfig 查询某一软件的配置文件一个具体软件
rpm -qf filenamefile 查询指定文件由哪个软件所安装一个具体文件

4 安全验证

RPM提供的验证功能可以随时追踪软件的状态,使用rpm -V 会提示哪个软件的状态被修改,未被篡改的软件使用该命令将无任何提示

rmp   -V  bash
##可能出现的字符及含义
5   # MD5值已改变
S   # 文件大小已改变
L   # 链接文件的源已改变
T   # 文件最后修改时间已改变
D   # 设备改变
U   # 用户发生改变
G   # 组发生改变
M   # 包括权限与类型在内的模式已改变
?  # 不可读的文件

二、YUM 软件包管理

1 简介

Yum (Yellow dog Updater, Modified) 黄狗升级器,更新、管理软件的命令,红帽专属。能够从指定的服务器自动下载RPM包并安装,可以处理依赖性关系,并且一次性安装所有依赖的软件包

yum 命令查询repo上配置的地址去取相应的rpm包进行安装。

配置文件 /etc/yum.repos.d/

注意这个目录下面不要有重复的.repo文件。

yum 基本工作机制

服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装

2 YUM 源

yum源是网址呀,是yum命令去寻找RPM包的地图。

配置yum源(centos7)

(0)先备份原来的源

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo_bak
(1)网易
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum clean all

yum makecache
(2)阿里
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache
(3)清华源

清华大学镜像仓库:https://mirrors.cnnic.cn/

第一步:备份原来/etc/yum.repos.d文件

第二步:将清华源提供的网址写入/etc/yum.repos.d文件。

第三步:清除缓存,生成yum缓存

yum clean all     # 清除系统所有的yum缓存
yum makecache     # 生成yum缓存

参考博客: https://blog.csdn.net/xiaojin21cen/article/details/84726193

(4)epel
yum -y install epel-release

yum clean all

yum makecache
(5)查看YUM源
查看所有的YUM源
yum   repolist all

查看可用的YUM源
yum   repolist  enabled

3 YUM 增删改查软件包

(1)参数介绍

格式 : yum (选项)(参数)

-y    对所有的提问都回答 yes
-c    指定配置文件
-q    安静模式
-v    详细模式
-d    设置调试等级
-e    设置错误等级(0-10)
-R    设置yum 处理一个命令的最大等待时间
-C    完全从缓存中运行,而不去下载或者更新任何头文件
-h    显示帮助信息

(2)安装
安装软件包(单独安装)
yum  install  foo
#安装web  server  软件包组
yum   groupinstall  "Web server"

groupinstall是一种快捷安装方式,它会将包组中的所需要的软件包一次性全部安装。如,上例中的“Web server”包组可能会有 httpd、crypto-utils等软件包

(3)更新、升级

对于已安装的程序,可以进行升级操作

#检测可用更新
yum   check-ipdate
#更新
yum  update  foo
或者  yum  upgrade  foo
# 升级Web server  软件包组
yum   groupupdate  "Web  server"
  1. yum update是更新下载源里面的metadata,包括这个源有什么包、每个包什么版本之类的
  2. yum upgrade会根据update后的元信息对软件包进行升级
(4)删除
# 删除软件
yum   remove  foo
# 删除 Web  server 软件包组
yum    groupremove  "Web server"
(5)查找

通过search 命令可以查找软件包,而info 命令可以显示软件包信息

# 查找名叫foo 的软件包
yum   search  foo
# 显示名为 foo 软件的信息
yum   info  foo
# 显示软件包foo的依赖关系
yum   deplist foo
# 显示软件包组 Web server 的信息
yum   groupinfo  "Web server"
# 显示所有已经安装和可以安装的程序包
yum  list
# 显示已经安装的软件包
yum   list  installed

(6) 清除缓存

yum   clean  packages  #清除缓存目录下的软件包

yum    clean  headers  # 清除缓存目录下的 headers

 yum clean, yum clean all # (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers 

我好迷呀

yum clean all

yum makecache

yum -y install gcc

莫名奇妙装不好宝塔面板,莫名其妙又装好了。

Bt-Panel: http://ip地址:8888/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值