Centos7软件包的管理与安装

目录

1.RPM的使用

(1) 获取

(2)安装rpm软件

1)从本地安装

2)从网上下载直接安装centos epel扩展源

(3)rpm查询功能

1)用法:rpm -q(query)

2)查看软件包内容是否被修改

(4) rpm包卸载和升级

1)卸载

2)升级

(5)手动解决rpm依赖关系

2.YUM的使用

(1)配置本地yum源

1)挂载镜像

2)配置yum源文件

(2)配置网络yum源

(3)yum使用

(4)yum安装开发工具软件包组


1.RPM的使用

  • rpm二进制包------》已经使用GCC编译后的
  • tar源码包-----》需要编译

RPM概述:

RPMRPM Package ManagerRPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo LinuxLinux的分发版本都有采用,可以算是公认的行业标准了

(1) 获取

rpm包的获取方式:

  • 1、Centos系统镜像光盘  
  • 2、网站rpmfind.net
  • 3、比如安装mysql、nginx软件,我们可以去它的官方网站下载:http://www.mysql.com

Centos7软件包的管理与安装

zsh                       -5.                0.              2-                     28.                             el7.               x86_64.rpm

软件名              主版本号 次版本号  修订 release(第几次发布版本) 操作系统版本   软件包是64位包

  • 修订指是的第几次修改bug。   
  • 发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数做了修改,而没有其它改动。

(2)安装rpm软件

RPM工具使用分为安装、查询、验证、更新、删除等操作

命令格式:rpm [参数] 软件包

参数:

  • -i   是install的意思, 安装软件包
  • -v  显示附加信息,提供更多详细信息
  • -V  校验,对已经安装的软件进行校验
  • -h  --hash  安装时输出####标记

rpm使用时,什么情况下使用软件包全名,什么时候使用软件包名?

  • 全名:在安装和更新升级时候使用
  • 包名:对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等 ,使用包名。它默认是去目录/var/lib/rpm下面进行搜索。 当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的 /var/lib/rpm/目录下 

1)从本地安装

Centos7软件包的管理与安装

2)从网上下载直接安装centos epel扩展源

Centos7软件包的管理与安装

注:epel源是对centos7系统中自带的 base源的扩展

(3)rpm查询功能

1)用法:rpm -q(query)

常与下面参数组合使用

  • -a(all)  查询所有已安装的软件包
  • -f(file)系统文件名(查询系统文件所属哪个软件包),反向查询
  • -i  显示已经安装的rpm软件包信息,后面直接跟包名
  • -l(list)  查询软件包中文件安装的位置
  • -p  查询未安装软件包的相关信息,后面要跟软件的命名
  • -R 查询软件包的依赖性

Centos7软件包的管理与安装     查询指定的包是否安装

Centos7软件包的管理与安装        查询所有已安装包中带vim关键字的包

Centos7软件包的管理与安装        查询文件或命令属于哪个安装包

查询已经安装的rpm包的详细信息或作用  rpm -qi  绝对路径下rpm包名

Centos7软件包的管理与安装

针对没有安装的RPM包,要加参数:  -p

查询没有安装的rpm包的详细信息或作用

Centos7软件包的管理与安装

查看rpm安装后,将生成哪些文件

Centos7软件包的管理与安装

2)查看软件包内容是否被修改

用的多的情景:用于检验命令没有被黑客进行修改

rpm -V包名

rpm -Vf 文件路径

Centos7软件包的管理与安装

注:如果出现的全是点,表示测试通过

出现下面的字符代表某测试的失败:

5 — MD5 校验和是否改变,你也看成文件内容是否改变

S — 文件长度,大小是否改变

L — 符号链接,文件路径是否改变

T — 文件修改日期是否改变

D — 设备

U — 用户,文件的属主

G — 用户组

M — 模式 (包含许可和文件类型)

? — 不可读文件

再后面的c 文件名,它表示的是文件类型

c 配置文件

d 普通文件

g 不该出现的文件,意思就是这个文件不该被这个包所包含

l 授权文件(license file)

r 描述文件

互动: 查看系统中所有的rpm包及安装的文件有没有被黑客修改

Centos7软件包的管理与安装

注: 检验时参考了 /var/lib/rpm 目录下的rpm数据库信息

Centos7软件包的管理与安装

(4) rpm包卸载和升级

1)卸载

用法:rpm  -e(erase) 包名

Centos7软件包的管理与安装

参数: --nodeps 忽略依赖,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum

2)升级

Centos7软件包的管理与安装

了解即可,因为升级时会有一些依赖包要解决。 所以一般我们使用yum update 包来升级

(5)手动解决rpm依赖关系

Centos7软件包的管理与安装

2.YUM的使用

yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构

C=client          S=ftp\http\file

(1)配置本地yum源

1)挂载镜像

先确定虚拟机光驱中有加载系统镜像

Centos7软件包的管理与安装

2)配置yum源文件

yum的一切配置信息都储存在一个叫yum.repos.d的配置文件中,通常位于/etc/yum.repos.d目录下

Centos7软件包的管理与安装

自己编写一个CentOS7.repo

Centos7软件包的管理与安装

内容如下:

Centos7软件包的管理与安装

参数说明:

  • [CentOS7]        --->yum源名称,在本服务器上唯一的,用来区分不同的yum源
  • name=CentOS-server     ----->对yum源描述信息
  • baseurl=file:///mnt    ------->yum源的路径,提供方式包括FTP(ftp://...)、HTTP(http://...)、本地(file:///... 光盘挂载目录所在的位置) /mnt表示的是光盘的挂载点  . file:后面有3个///
  • enabled=1   ------>表示启用yum源;0为禁用
  • gpgcheck=0   ---->使用公钥检验rpm包的正确性;0为不校验
  • gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  ------>指定进行rpm校验的公钥文件地址         公钥:验证    私钥:加密

清空并生成缓存列表

Centos7软件包的管理与安装

如果看到好多包,就没有问题

验证:

Centos7软件包的管理与安装

Centos7软件包的管理与安装

安装成功,代表没有问题

(2)置网络yum源

wget 下载文件 ,-O 将wget下载的文件,保存到指定的位置,保存时可以重新起一个名字,或者直接写一个要保存的路径,这样还用原来的文件名。

Centos7软件包的管理与安装

排错:

在最新版本与你的系统版本不一致的情况下,会出现错误,yum配置源只有最新版本的能够用

Centos7软件包的管理与安装

找到这一条:

Centos7软件包的管理与安装

  • $releasever系统的版本的值等于Centos7软件包的管理与安装
  • $basearch 等于:x86_64

而只有最新版本的能够用

解决:打开阿里云链接:http://mirrors.aliyun.com/centos/ 找到centos7最新版本号,如:

Centos7软件包的管理与安装

然后执行:sed进行全文替换

Centos7软件包的管理与安装

Centos7软件包的管理与安装

(3)yum使用

  • yum install -y httpd   #安装软件包, -y 直接安装
  • yum -y update 包   #升级软件包,改变软件设置和系统设置,系统版本内核都升级
  • yum -y upgrade 包  #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变
  • yum -y update  # 不加任何包,表示整个系统进行升级
  • yum info  httpd    #查询rpm包作用
  • yum provides /usr/bin/find  #查看命令是哪个软件包安装的
  • yum -y remove  包名    #卸载包
  • yum search keyword   #按关键字搜索软件包

(4)yum安装开发工具软件包组

# yum grouplist   #查看有哪些软件包组

Centos7软件包的管理与安装

安装工具包:yum groupinstall GROUPNAME

Centos7软件包的管理与安装

也可以切换到英文界面下:

Centos7软件包的管理与安装