rpm和yum软件管理

1. rpm

Redhat Package Manager,是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件

1.1  rpm可以完成的操作

  安装软件

  卸载软件

  查询软件信息

  升级、降级

  检验

  打包程序

注意:rpm仅仅能管理符合rpm格式的程序包,不能管理源码格式的程序。

1.2 程序的格式

  1)源码格式的程序:都是以压缩方式呈现的(后缀都是.tar.gz|bz2)

  2)rpm格式的程序:这都是编译以后的程序 (后缀都是.rpm)

2. 安装方式


安装方式


优点


缺点


编译安装


安装过程可控,真正的按需求进行安装(安装位置、安装的模块都可以选择)


安装过程复杂,而且很慢


rpm安装(用rpm来安装rpm后缀的安装包)


安装和卸载过程非常方便


安装过程不可控(安装位置,安装那些功能模块)

rpm包的依赖关系非常复杂


yum安装


yum安装,其实就是自动分析rpm包的依赖关系,然后按照需要的顺序依次安装


绿色安装

3.rpm操作

3.1 安装rpm包

格式:rpm -ivh 软件包名

选项

  -i:安装软件

  -v:显示安装过程

  -h:用#表示安装进度(# 2%)

  -vv:显示更详细的安装过程信息

  -vvv:显示更更详细的安装过程信息

3.2  卸载rpm包

  格式:rpm -e 软件名

3.3  查询已安装的rpm包

  格式: rpm -q 软件名

选项

  -q:查看一个已经安装的软件

  -a:查看所有已经安装的软件all

  -l:显示软件安装完成以后生成文件列表(所有文件)list

  -i:查看软件包的相关信息 info

  -d:显示该软件所生成的说明性质的文档列表docfiles

  -c:查看软件所生成的配置文件列表configfiles

  -scripts:查看软件相关的脚本

3.4 查看文件是哪个软件生成的

  rpm -qf  /path/to/file   (绝对路径)

3.5 升级选项

  -U:升级或安装软件

  -F:仅仅是升级操作

使用格式;

  rpm -Fvh 软件包名

  rpm -Uvh 软件包名

4. yum

4.1  yum工作原理

1)创建一个yum仓库(rpm包仓库、软件仓库)

  仓库其实就是一个目录;

  仓库中存放的是rpm包;

  仓库中还保存了一个文件,文件中记录了该仓库中所有rpm包的元数据信息;

元数据信息包括:

  软件名

  软件版本

  软件是否已经安装

  软件的依赖关系

2)用 yum 来从仓库中找软件进行安装的过程(比如要安装软件A,A依赖B 和C, B依赖C D)

  1))yum首先会扫描保存元数据信息的文件,检查A是否已经安装,如果已经安装,那提示已经安装;

  2))如果A尚未安装,那么扫描A的依赖关系信息,会发现A 依赖B 和C;

  3))yum会再次扫描元数据文件,检测B C 是否安装,如果都已经安装,那么会开始开始安装A;

  4))如果B C尚未安装,那么会检测 B C的依赖关系,会发现B依赖C D;

  5))yum会再次扫描元数据文件,检测C D是否安装,如果都已经安装,那么会开始开始安装B,然后安装C,,然后安装A。

4.2 yum仓库

本地:将本地的一个目录做成yum仓库,只有当前系统可以。

网络:通过网络将服务器上的一个目录作为yum仓库,网络中的全部主机都可以用。

使用yum仓库的方式,就是修改yum的配置文件

yum的配置文件

  主:/etc/yum.conf

  子:/etc/yum.repos.d/*.repo

  /etc/yum.conf文件

  cachedir=/var/cache/yum/$basearch/$releasever:指定缓存文件的保存位置,默认:/var/cache/yum/x86_64/7/  ;

  keepcache=0:指定是否保留缓存文件  。

用yum安装软件过程中会从yum仓库下载并缓存多个资源

  1)会将yum仓库的元数据文件缓存到配置文件所指定的路径中

  2)会将要安装的软件及其依赖的软件一并缓存到配置文件指定的目录中

4.3 yum配置文件的构成

  [localRpm]          :指定yum仓库的id,可以随便写,但是中间不能有空格

  name=xxx          :指定yum仓库的名称,可以随便写

  enabled=0|1      : 指定是否使用该yum仓库,0表示不使用;1表示使用

  gpgcheck=0|1   : 指定是否对rpm包做完整性和来源合法性验证,0表示不做验证;1表示必须做验证

  gpgkey=            : 指定公钥文件(如果gpgcheck=1,那么该项不能省略)

  baseurl=           :指定yum仓库的url

  cost=1              :优先级,数字越小优先级越高

4.4  yum仓库的url的表示方式

注意:在指定yum仓库的时候,其实不是指向rpm包的目录,而是执行repodata所在目录

本地yum仓库: file:// ,比如我的yum仓库 /myrpm,此时yum仓库的表示方式就是file:///myrpm

网络yum仓库: http://

4.5  使用光盘中的rpm包作为yum仓库

1)挂载光盘

  # mount /dev/cdrom /media

2)备份yum自带的配置文件

  # cd /etc/yum.repos.d

  # mkdir bak

  # mv *.repo bak   mv  C*  ken

3)创建yum的配置文件,使用光盘作为yum仓库

  # vim 1.repo                 #名字无所谓,必须以 .repo 结尾

  [myrepo]

  name=my repo

  enabled=1

  gpgcheck=0

  baseurl=file:///media

4)执行yum命令检测结果

  # yum clean all    <<< 清空yum缓存的全部数据

  # yum repolist     <<< 检查yum仓库中有多少个可用的rpm包

[[email protected] ~]# mount /dev/cdrom /mnt               #挂载,挂载前应将虚拟机的CD勾选连接
mount: /dev/sr0 is write-protected, mounting read-only
[[email protected] ~]# cd /etc/yum.repos.d/                #切换目录
[[email protected] yum.repos.d]# vim test.repo             #新建文件必须以,repo结尾
[test]                                                  #yum仓库的id
name=test                                               #yum仓库的名称
enable=1                                                #使用该yum仓库
gpgcheck=1                                              #验证完整性
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7                 #公钥文件
baseurl=file:///mnt                                     #yum仓库的url,url必须在repodata所对应的目录下
cost=1                                                  #优先使用本地源,cost越大,优先级越低
:wq
[[email protected] ~]# ls /mnt
CentOS_BuildTag  GPl       liveOS    RPM-GPG-KEY-CentOS-7
EFi              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EUla             isolinux  repodata  TRaNS.TBl
[[email protected] yum.repos.d]# yum clean all             #清空yum缓存
loaded plugins: fastestmirror
Cleaning repos: base extras test updates
Cleaning up everything
Cleaning up list of fastest mirrors
[[email protected] yum.repos.d]# yum repolist              #查看仓库
repo id                 repo name                            status
base/7/x86_64           CentOS-7 - Base                      10,019
extras/7/x86_64          CentOS-7 - Extras                      85
test                     test                                 3,831
updates/7/x86_64         CentOS-7 - Updates                    1,511
repolist: 15,746

4.6  yum 的使用

1)安装软件

  yum -y install 软件1 软件2 软件3 ....(可以是多个软件)

2)卸载软件

  yum -y remove 软件1 软件2 软件3 .... (可以是多个软件)

3) 管理包组

grouplist:查看系统中的全部的包组

groupinfo 包组名:查看指定包组的信息(包组的作用、包含的软件)

groupinstall 包组名:安装指定的包组

groupremove 包组名:卸载指定的包组

CentOS7: 命令行界面升级为图形化界面

  yum groupinstall "X Window System"  -y

  yum groupinstall "GNOME Desktop" "Graphical administration Tools" - y

  这时,我们可以通过命令 startx 进入图形界面,第一次进入会比较慢,请耐心等待。(可能需要重启,命令为reboot)

4)管理yum的缓存数据

clean [ packages | metadata | all ]

all:清除所有数据

packages:仅仅清除rpm包

metadata:仅仅清理缓存元数据

5)查看所有已经安装和尚未安装rpm包

yum list all 或者yum list 可以列出所有的软件包

6)yum list available:仅仅显示可以安装但是尚未安装的rpm包

7)yum list  installed:仅仅显示已经安装rpm包

@:表示已经安装rpm

8)查看yum仓库的信息

yum repolist

4.7  网络yum源的使用方式

1)国内主流的网络yum仓库地址

  mirrors.aliyun.com

  mirrors.163.com

  mirrors.sohu.com

rpm的yum源

  centos提供的

  epel提供的:

例子:

#使用aliyun提供的epel 和centos的yum源
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim new.repo
[centos]
name=centos repo
enabled=1
gpgcheck=0
baseurl=http://mirrors.163.com

[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx
[[email protected] yum.repos.d]# vim bendi.repo
[test]
name=test
enable=1
gpgcheck=1
geokey=file:///mnt/RPM-GPG-KEY-CentOS-7
baseurl=file:///mnt
cost=1

[net]
name=net
enable=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/    #阿里云提供的网络云仓库, url必须在repodata所对应的目录下
:wq
[[email protected] yum.repos.d]# yum repolist
[[email protected] yum.repos.d]# yum clean all
repo id                     repo name                         status
test                        test                               3,831
base/7/x86_64             CentOS-7 - Base                      10,019
extras/7/x86_64           CentOS-7 - Extras                       385
net                          net                             13,051
updates/7/x86_64          CentOS-7 - Updates                    1,511
repolist: 28,797

原文地址:https://www.cnblogs.com/ajunyu/p/10881431.html

时间: 2025-01-04 21:31:06

rpm和yum软件管理的相关文章

5.YUM软件管理

5.YUM软件管理 ·rpm软件包形式管理软件虽然方便,但是需要手工解决软件包的依赖关系,很多时候安装一个软件需要安装多个其他软件,手工解决很复杂,使用YUM(Yellowdog Update Modified)可以解决这个问题, ·YUM是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题, ·YUM特点: ·自动解决依赖关系, ·可以对RPM进行分组,并基于组进行安装操作, ·引入仓库概念,支持多个仓库, ·配置简单, ·YUM仓库 ·YUM引入了仓库(repo)的概念,仓

linux yum软件管理

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti

yum软件管理器

yum软件管理器 yum是一个强大的软件包管理器,能够自动解决安装时rpm包之间的依赖关系. 一.使用yum管理软件包 1.使用命令 yum help 查看使用方法 [[email protected] ~]# yum help 已加载插件:fastestmirror, langpacks Usage: yum [options] COMMAND List of Commands: check 检查 RPM 数据库问题 check-update 检查是否有可用的软件包更新 clean 删除缓存数

六、Linux企业级YUM软件管理

一.软件包的安装 程序员首先通过开发工具开发出软件来,最初的称为源码包,就是人能看的明白的.然后编译成机器可以看懂的二进制软件.而rpm就是红帽公司研发的适合自动化安装软件的一套软件管理工具.包含软件的存放位置,库文件.头文件,配置文件.文件间依赖关系等各种关系的管理工作. 1.软件包的组成部分 二级制程序: 安装位置:/bin /sbin./usr/bin./usr/sbin./usr/local/bin./usr/local/sbin. 库文件:也可以是可执行程序,可以是被其他程序调用的.在

Linux 之RPM和YUM包管理

在Linux的日常维护管理中,管理员要不停的和Linux的程序安装,升级,卸载打交道,这里面用到最多的两个命令就是rpm和yum,甚至有时候我们还涉及源程序的编译安装,用来更高效利用我们的设备,本次博客的主题就是关于rpm和yum命令的介绍和使用. 一:包程序管理简介 过去,许多 Linux 程序以源代码的形式发行,用户把源代码构建为所需的程序或程序集:源代码还附带必需的手册页.配置文件等等,但对于很多系统管理员原来说源代码要想安装上,必须要经过编译才行,但是编译过程又是一个复杂繁琐的过程,对于

rpm软件包管理/yum软件管理

绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make  对源代码进行编译,生成可执行文件 make install    将生成的可执行文件安装到当前计算机中 特点: 兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系 为了解决编译时间长复杂容易出错等问题,开发了rpm(redhat package manager) 命名

YUM软件管理

YUM是一个RPM的前端程序,主要目的是设计用来解决RPM的依赖关系的问题,而不用手动安装所依赖的所有软件.它使用仓库保存管理RPM软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,格式如下: [仓库名字] name=仓库基本信息的描述(可随便写,主要给管理员自己看) baseurl=仓库的路径(可以使用本地的或网络上的file.http.ftp.nfs.动态加载路径:mirrorlist=仓库路径) enable=1(1:启用本仓库配置.0:禁用本仓库配置.当该项没有时,默

yum软件管理器,及yum源配置

说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的.yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好. yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器(源)自动下载RPM包并且安装,可以自动处理依赖性关系,并

yum 软件管理

可选命令 检查 check (检查包错误) check-update(不使用本地缓存检查更新) 安装 install localinstall groupinstall reinstall(重新安装) 更新 update(更新)update-to更新到指定版本 localupdate rpmfile 本地更新 升级 upgrade(升级) upgrade-to(升级到指定版本) groupupdate 降级 downgrade 删除 remove erase  两个命令效果一样 列表 group