软件安装总结:

安装软件方式有如下几种:

方式1:编译安装

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

缺点:

安装过程复杂,而且很慢

优点:

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

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

优点:

安装和卸载过程非常方便

缺点:

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

rpm包的依赖关系非常复杂

方式3:yum安装

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

方式4:绿色安装

RPM:

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

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

rpm可以完成的操作

安装软件

卸载软件

查询软件信息

升级、降级

检验

打包程序

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

程序的格式

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

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

rpm的操作:

一、安装rpm包

格式:rpm -ivh  软件包名

选项

-i:安装软件

-v:显示安装过程

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

二、卸载rpm包

格式:rpm -e 软件名

选项:

-e:卸载软件

三、查询已经安装的rpm包

格式:rpm -q 软件名

选项:

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

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

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

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

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

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

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

补充:

安装前脚本(preinstall)

安装后脚本(postinstall)

卸载前脚本(preuninstall)

卸载后脚本(postunistall)

常见组合: rpm -ql 软件名

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

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

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

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

yum仓库的url的表示方式

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

本地yum仓库

file://

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

网络yum仓库

http://

创建本地yum仓库

使用光盘中的rpm包作为yum仓库
第一步:挂载光盘
# mount /dev/cdrom /media
[root@ken ~]# echo "mount /dev/cdrom /mnt" >> /etc/rc.local
[root@ken ~]# chmod +x /etc/rc.d/rc.local
(执行之后,开机自动挂载) 第二步:备份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包

yum使用

1. 安装软件

yum -y install 软件1 软件2 软件3 ....

2. 卸载软件

yum -y remove 软件1 软件2 软件3 ....

3. 管理包组

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

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

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

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

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

网络yum源的使用方式

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

mirrors.aliyun.com

mirrors.163.com

mirrors.sohu.com

https://mirrors.tuna.tsinghua.edu.cn/

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

制作一个网络yum源

思路:在网络上准备一个主机,在其中安装一个web服务器软件(比如apache),然后创建一个目录,在这个目录中准备上yum仓库的全部资源,如果用户可以通过网络访问到该主机的这个目录,那么这个目录就成为网络yum仓库

实现过程

第一步:配置yum源主机

1)安装配置apache

2)配置yum仓库相关资源

1. 创建一个目录,作为存储yum资源的目录

# mkdir /usr/local/apache/htdocs/mysource

# mount /dev/cdrom /mnt

3. 将光盘中的资源复制到前面所创建的目录下

# cp /mnt/* /usr/local/apache/htdocs/mysource -rvf

4. 用浏览器访问一下yum仓库,检查是否可以看到相关文件

http://ip/mysource

第二步:配置客户端主机

修改yum配置文件

1)备份原有的配置文件

# mkdir bak

# mv *.repo bak

# vim a.repo

[]

name=

enabled=

gpgcheck=

baseurl=http://ip/mysource

2)测试一下

# yum repolist

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. rpm与yum软件管理

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

  5. Linux rpm和yum软件管理

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

  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. Flex实现左右布局

    html <div class="business-content-1"> <div class="item"> 111 </di ...

  2. java基础第11期——Stream流、方法引用、junit单元测试

    1.Stream流 Stream流与io流是不同的东西,用于解决集合类库已有的弊端, 1.1 获取Stream流: Collection集合的Stream方法,注意Map集合要经过转化 default ...

  3. ElementUI使用总结

    首先声明,我这总结的官网都有,只是将自己使用时遇到的问题,重新记录一下,官网地址:https://element.eleme.cn/ 1.表格内指定行数给定不同样式(类似于隔行变色,也能叫指定行数不同 ...

  4. Java流程控制:循环结构

    一.简介 顺序结构的程序语句只能被执行一次,如果您想要同样的操作执行多次,就需要使用循环结构. Java中有三种主要的循环结构: 'while'循环 'do...while'循环 'for'循环 在J ...

  5. 清除浏览器默认样式的reset.css(转载于reset.css的官方)

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0-modified | 20110126 License: none (public domain) ...

  6. 后端程序员之路 23、一个c++的api framework

    在"21.一个cgi的c++封装"中,我们封装了cgi,在这之上,我们可以再来封装一个webapi的framework.当然,前文的Casablanca是个不错的选择,但是它比较庞 ...

  7. 解决vue 绑定事件会覆盖默认参数的问题

    解决vue 绑定事件会覆盖默认参数的问题 在使用一些ui框架的时候,某些组件的框架中的事件所规定的参数不能满足实际开发的需要,但是直接传入参数会把默认的参数覆盖掉 解决方法:将参数放入箭头函数中,传递 ...

  8. iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了

    转: iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了 苹果今天发布了即将发布的 iOS 14.5 和 iPadOS 14.5 更新的第一个 Beta 版本,我们在其中 ...

  9. Java 程序员每天都在做什么?

    作为一名 在大.中.小微企业都待过 的 Java 开发者,今天和大家分享下自己在不同公司的工作日常和收获.包括一些个人积累的工作提升经验,以及一些 Java 学习的方法和资源. 先从我的第一份 Jav ...

  10. 剑指 Offer 48. 最长不含重复字符的子字符串 + 动态规划 + 哈希表 + 双指针 + 滑动窗口

    剑指 Offer 48. 最长不含重复字符的子字符串 Offer_48 题目详情 解法分析 解法一:动态规划+哈希表 package com.walegarrett.offer; /** * @Aut ...