一.rpm简介

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

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

  rpm可以完成的操作:

    安装软件

    卸载软件

    查询软件信息

    升级、降级

    检验

    打包程序

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

  程序的格式:

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

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

二.软件安装方式总结

安装软件方式有如下几种

1.方式1:编译安装

  将源码程序按照需求进行先编译,后安装

  缺点

  安装过程复杂,而且很慢。

  优点

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

2.方式2:rpm安装(用rpm来安装rpm后缀的安装包)

  优点

  安装和卸载过程非常方便

  缺点

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

  rpm包的依赖关系非常复杂

3.方式3:yum安装

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

4.方式4:绿色安装

  绿色安装指的是不用安装的软件,通常是一个压缩文件,解压之后直接可以运行。

三.rpm的操作

1、安装rpm包

  格式:rpm  -ivh  软件包名

  选项:

    -i:install,安装软件

    -v:verbose,显示安装过程

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

    -vh:显示过程及进度

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

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

2、卸载rpm包

  格式:rpm  -e 软件名

  选项:

    -e:erase,卸载软件

  如:

    # rpm  -e  zip

3、查询已经安装的rpm包

  格式:rpm  -q  软件名

  选项:

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

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

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

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

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

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

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

  补充:

    安装前脚本(preinstall)

    安装后脚本(postinstall)

    卸载前脚本(preuninstall)

    卸载后脚本(postuninstall)

    ——rpm -q  zip      #查看zip是否安装

    ——rpm -qa      #查看当前系统所有已经安装的软件

   【总结】: rpm -q 程序名 --》查询该程序是否已经安装

        rpm -ql 程序名  --》查询该程序生成的文件

        rpm -qf  `which command` --》查看文件所依赖的包

        rpm -qa  --》查询所有已经安装和未安装的包

4、升级软件

  选项:

    -U:upgrade,升级或安装软件

    -F:freshen,仅仅是升级操作

  使用格式;

    ——rpm  -Fvh 软件包名

    ——rpm  -Uvh 软件包名

四.软件管理yum

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

为何rpm包会有依赖关系?

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

 

1.yum的工作原理

  (1.需要首先创建一个yum仓库(rpm包仓库、软件仓库)

    1)仓库其实就是一个目录

    2)仓库中存放的是rpm包

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

    4)元数据信息包括:

      软件名

      软件版本

      软件是否已经安装

      软件的依赖关系

   (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。

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)会将要安装的软件及其依赖的软件一并缓存到配置文件指定的目录中。

3.yum配置文件的构成

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

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

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

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

  baseurl= <<< 指定yum仓库的url

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

4.yum仓库的url的表示方式

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

  本地yum仓库格式:

    file://

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

  网络yum仓库

    http://

  例如:http://mirrors.aliyun.com/epel/7Server/x86_64/

5.创建本地yum仓库

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

  (1第一步:挂载光盘

    ——mount /dev/cdrom /media

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

    ——cd  /etc/yum.repos.d

    ——mkdir  bak

    ——mv  *.repo   bak (或——mv  C*  bak)

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

    ——vim local.repo      #名称随便取,但必须为xx.repo格式

    [localrepo]:

    name=local repo

    enabled=1

    gpgcheck=0

    baseurl=file:///media

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

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

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

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可以列出所有的软件包

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

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

    @:表示已经安装rpm

  (8查看yum仓库的信息

    ——yum repolist

7.网络yum源的使用方式

  国内主流的网络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

      gpgcheck=0

      baseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/

 

末学者笔记--rpm和yum软件管理(Linux)的更多相关文章

  1. Linux rpm和yum软件管理

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

  2. rpm和yum软件管理

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

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

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

  4. rpm与yum软件管理

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

  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. Python神器 Jupyter Notebook

    什么是Jupyter Notebook? 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. Jupyter Not ...

  2. [BJOI2019]排兵布阵(动态规划)

    [BJOI2019]排兵布阵(动态规划) 题面 洛谷 题解 暴力dp: 设\(f[i][j]\)表示考虑到了第\(i\)座城市用了\(j\)人的最大收益,枚举在这个城市用多少人就可以了. 优化: 发现 ...

  3. GraphQL

    GraphQL 官方描述: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地 ...

  4. 关于bytes和bytearray

    背景 平时工作因为有批量线上数据进行更新,通过Python程序连接数据库,利用连接池和gevent的并发性能,处理大量数据. 因为数据方提供的数据表结构中带有varbinary类型字段,并非全部,所以 ...

  5. Educational Codeforces Round 56 (Rated for Div. 2) D

    给你一个无向图 以及点的个数和边  每个节点只能用1 2 3 三个数字 求相邻 两个节点和为奇数   能否构成以及有多少种构成方法 #include<bits/stdc++.h> usin ...

  6. Apache POI 示例

    Apache POI 3.17 Javadocs 用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel.WO ...

  7. 微信小程序地图控件篇 ---自定义图标被地图覆盖的问题

    今天在做微信小程序的时候遇到这个这样的问题  需要在地图上加个一个自定义的图标控件 类似这样的 刚开始的时候怎图片一直会被地图组件覆盖  ,要怎么解决这个问题  我去翻了下小程序的文档 有个cover ...

  8. python类方法以及类调用实例方法的理解

    classmethod类方法 1) 在python中.类方法 @classmethod 是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法. 类方法的第一个参数cls,而 ...

  9. Springboot集成Thymeleaf

    Thymeleaf 官方解释: Thymeleaf是一个用于web和独立环境的现代服务器端Java模板引擎. Thymeleaf的主要目的是将优雅的自然模板引入到您的开发工作流中——以使HTML可以在 ...

  10. 条件随机场(conditional random field,CRF)模型初探

    0. 引言 0x1:为什么会有条件随机场?它解决了什么问题? 在开始学习CRF条件随机场之前,我们需要先了解一下这个算法的来龙去脉,它是在什么情况下被提出的,是从哪个算法演进而来的,它又解决了哪些问题 ...