zoukankan      html  css  js  c++  java
  • rpm与yum软件管理

    一、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-18.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

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/tomsongqi/p/10772262.html
Copyright © 2011-2022 走看看