一、rpm

简介

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

rpm:RPM is Redhat Package Manager(递归缩写)

rpm可以完成的操作

安装软件

卸载软件

查询软件信息

升级、降级

检验

打包程序

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

一、安装rpm包

格式:rpm -ivh  软件包名

选项

-i:安装软件

-v:显示安装过程

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

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

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

二、卸载rpm包

格式:rpm -e 软件名

选项:

-e:卸载软件

例子:卸载软件包ken

# rpm -e ken

三、查询rpm包

格式:rpm -q 软件名

选项:

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

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

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

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

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

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

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

四、查询文件是由哪个软件生成的

-f:以/bin/ls文件为例

[root@localhost ~]# rpm -qf /bin/ls
coreutils-8.22-.el7.x86_64

五、升级软件

选项

-U:升级或安装软件

-F:仅仅是升级操作

使用格式;

rpm -Fvh 软件包名

rpm -Uvh 软件包名

二、yum

简介

yum是一个rpm包的管理工具,可以实现自动解决rpm包的依赖关系(自动安装依赖顺序进行rpm包的安装)

为何rpm包会有依赖关系?

制作rpm的人,在制作rpm包的时候,就将这个rpm的所依赖的软件的信息保存在这个rpm包的内部

yum的工作原理

通过yum源(本地或者网络源)来解决rpm包的依赖问题。其实yum源本质上就是rpm包的集合

  是如何来解决依赖关系的呢

用 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

yum源的配置方法

yum的配置文件

主配置文件:/etc/yum.conf

子配置文件:/etc/yum.repos.d/*.repo  (意思是在yum.repos.d这个目录下,只要一   .repo为结尾的文件都会被识别为配置文件)

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(1.本地yum源   file://   例如 baseurl=file:///mnt

2.网络源  http://  例如 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/)

1.本地源的配置

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

第一步:挂载光盘

# mount /dev/cdrom /media

第二步:备份yum自带的配置文件

# cd /etc/yum.repos.d

# mkdir bak

# mv *.repo bak

第三步:创建yum的配置文件,使用光盘作为yum仓库

# vim 1.repo

[myrepo]

name=my repo

enabled=1

gpgcheck=0

baseurl=file:///media

第四步:执行yum命令检测结果

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

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

2.网络源的配置

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

mirrors.aliyun.com

mirrors.163.com

mirrors.sohu.com

进入网址的子级页面直到出现repodata的页面,将这个页面的网址复制放到baseurl后面

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=https://mirrors.aliyun.com/epel/7/x86_64/

[epel]

name=epel repo

enabled=1

enabled=1

baseurl=http://xxxx

rpm与yum软件管理的更多相关文章

  1. 末学者笔记--rpm和yum软件管理(Linux)

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

  2. rpm和yum软件管理

    rpm简介 数据库管理工具,通过读取数据库,判断软件是否安装,如已安装可读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package Manager(递归 ...

  3. rpm和yum软件管理(week2_day5)--技术流ken

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

  4. Linux rpm和yum软件管理

    rpm是管理程序的一个小工具,rpm常来用作查询 什么源码包:大多数都是tar.gz,bz.bz2结尾的包 zip结尾的包 压缩格式为 zip –r 命名.zip ./* 解压格式为 unzip 命名 ...

  5. rpm 和 yum 软件管理

    软件安装总结: 安装软件方式有如下几种: 方式1:编译安装 将源码程序按照需求进行先编译,后安装 缺点: 安装过程复杂,而且很慢 优点: 安装过程可控,真正的按需求进行安装(安装位置.安装的模块都可以 ...

  6. yum 软件管理器

    yum软件管理器 yum是一个强大的软件包管理器,能够自动解决安装时rpm包之间的依赖关系. 一.使用yum管理软件包 1.使用命令 yum help 查看使用方法 [root@majinhai ~] ...

  7. Linux之yum软件管理

    YUM yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 yum特点 *可以 ...

  8. linux系统rpm和yum软件包管理

    软件安装方式总结 安装软件方式有如下几种: 方式1:编译安装 将源码程序按照需求进行先编译,后安装 缺点:装过程复杂,而且很慢 优点:安装过程可控,真正的按需求进行安装(安装位置.安装的模块都可以选择 ...

  9. linux yum软件管理

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

随机推荐

  1. linux centos7 防止暴力破解

    系统 centos 7.4 系统, 不知道的可以用 cat /etc/redhat-release 查看 利用到了linux 系统的日志,每次我们登陆服务器时,如果有登陆认证失败的情况,会在服务器的/ ...

  2. 一篇文章学会shell脚本

    一.Shell传递参数 #!/bin/bash # 假设在脚本运行时写了三个参数 ..,,则 "(传递了三个参数). echo "-- \$* 演示 --" for i ...

  3. (CSDN迁移) Java路径获取

    package unit02; /** * * @time 2014年9月18日 下午10:29:48 * @porject ThinkingInJava * @author Kiwi */ publ ...

  4. DHCP、DHCP Snooping及DHCP relay工作原理入门及实践(转)

    原文https://blog.51cto.com/5167020/2312718 序:DHCP服务相对简单,写本文的目的是为了讲一些DHCP安全方面的技术. 1.DHCP基础 DHCP 全称动态主机配 ...

  5. 使用SnowFlake算法生成唯一ID

    转自:https://segmentfault.com/a/1190000007769660 考虑过的方法有 直接用时间戳,或者以此衍生的一系列方法 Mysql自带的uuid 以上两种方法都可以查到就 ...

  6. java笔记——java加载与执行

    java的加载与执行过程: 编译阶段: 首先,我们先创建一个java源文件xxx.java 2. 经过javac.exe编译(如果源文件没有语法错误),生成一个或多个.class文件,注意的是此时的字 ...

  7. C++ 多态详解及常见面试题

    今天,讲一讲多态: 多态就是不同对象对同一行为会有不同的状态.(举例 : 学生和成人都去买票时,学生会打折,成人不会) 实现多态有两个条件: 一是虚函数重写,重写就是用来设置不同状态的   二是对象调 ...

  8. SQL Server 索引优化——无用索引

    我们知道,合理的索引能大幅提升性能,但冗余的索引也会降低数据库性能.随着我们业务的发展,数据库的中的表.表结构.查询的内容都有可能发生变化.这样,有的索引就可能不再使用了,需要删除(因为维护索引即浪费 ...

  9. Centos7部署开源聊天软件rocket.chat

    一.部署rocket.chat 1.看官方文档部署,很简单,一步一步跟着部署即可 注意:需要部署节点需要联网主要是yum方式 https://rocket.chat/docs/installation ...

  10. Window 使用Nginx 部署 Vue 并把nginx设为windows服务开机自动启动

    1.编译打包Vue项目 在终端输入 npm run build 进行打包编译.等待... 打包完成生成dist文件夹,这就是打包完成的文件. 我们先放着,进行下一步. 2下载Nginx 下载地址: h ...