rpm  |  yum

一、rpm软件包Red-Hat Package Manage):是红帽包管理的缩写。只能在redhat、centos系统中使用。ubuntu、suse、debin、deepin等系统无法使用rpm软件包。

优点:
 1.易于升级安装已有的软件包
 2.易于保护配置文件,即不会覆盖原配置文件
 3.易于跟踪已安装的文件,即方便查询软件的文件列表

缺点
 rpm不能自动解决软件之间的依赖关系


软件依赖性:

blob.png

上图的意思是:
  1、安装软件A之前,必须先安装C
  2、安装软件C之前,必须先安装D、E
  3、说明软件A的安装顺序是依次安装软件D、E、C、A,才能安装成功。

rpm命令(rpm  --help)的用法:rpm [选项......]

  -i  即install安装

  -v  即verbose显示执行过程

  -h  以#号方式显示安装进度条

  -U  升级安装软件

  --nodeps   不检查依赖关系

  -q   查软件包是否安装

  -qi  查软件的信息。例:rpm  -qi  at

  -ql  查软件包的文件

  -qc  查软件包的配置文件


光盘挂载(临时):
 创建/dvd目录:    mkdir   -pv   /dvd
 临时手动挂载:    mount  -v   /dev/cdrom   /dvd
 查看/dvd目录的文件列表:ls   /dvd
 命令格式说明:mount   设备   挂载点目录
自动挂载:
 编辑/etc/fstab文件:vi   /etc/fstab    在文件最后添加如下内容
 /dev/cdrom    /dvd       iso9660      defaults      0          0
 设备       挂载点目录   文件系统格式   挂载选项    是否dump备份  是否fsck磁盘扫描


 rpm 软件包位置:cd  /dvd/Packages       (统计当前目录下文件数量 ls  | wc  -l )




二、YumYellowdog Updater Modified):是一种类似于360软件管家的软件,可以实现软件的在线安装、升级、卸载、查询等功能

优点:可以自动解决rpm软件包之间的依赖性。

yum的分类:
本地yum源:客户端和服务端在同一台机器上。正解是rpm软件包存放在本机的某个目录中。
远程yum源:服务端是一台机器,客户端是另外的机器 。正解是rpm软件包存放在文件共享的服务器上的某个目录中。


yum的工作原理:

执行yum命令――>读取/etc/yum.repos.d/*.repo的yum源配置文件中的baseurl路径――>查找可用yum仓库的rpm软件包――>安装一个或多个rpm格式的软件包。


yum源文件路径:/etc/yum.repos.d/
yum源:文件中提供软件包的目录,文件名后缀必须是.repo格式。
配置yum源:配置软件的仓库


yum源配置解释:

[centos76]      仓库标识,[]中括号的内容必须没有空格。
name=centos 7.6 linux    仓库别名   
baseurl=ftp://192.168.11.11/centos76     仓库路径,即rpm软件包的repodata目录的路径。
enabled=1       是否启用仓库,1为启用,0为禁用 

gpgcheck=0      是否启用gpg检验功能来检验文件的MD5值,来验证文件是否被***篡改过

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  定gpg密钥文件,当gpgcheck=0是,可以省略gpgkey这行代码。


yum 安装软件命令格式:yum   命令   软件名
yum  clean  all             清除所有仓库缓存
yum  repolist               列出所有yum源和仓库信息
yum  info  软件包名称         查看软件包信息
yum  grouplist              分组查看rpm软件包的信息
yum  remove   软件包名称       删除除软件包
yum  history  undo  2        (回退)撤消yum中的2号历史操作(2根据实际情况)
yum  history  redo  2        (前进)重做yum中的2号历史操作

yum  provides    软件名       查询某个软件来自于哪个软件包

yum  search   软件名      查询软件包的全称

yum   list                  查软件包列表

yum   update    软件包名称      更新软件包
yum   reinstall   -y   软件名    修复安装


--------------------------------------------------------------------------------------------------

项目部署:centos本地yum源搭建(centos7.6镜像为例)

1.采用/etc/rc.d/rc.local运行控制(Running  Control)脚本实现centos光盘在开机时自动挂载。

2.备份系统自带的网络yum源配置文件,创建本地yum源文件。

3.测试本地yum源的可用性,并测试wget、curl和elinks软件的安装。

项目实施:

1.采用/etc/rc.d/rc.local运行控制(Running  Control)脚本实现centos光盘在开机时自动挂载。

注意:etc/rc.d/rc.local默认没有可执行权限,需手动添加

命令功能解释

chmod  -v  +x  /etc/rc.d/rc.local给rc.local文件添加x可执行权限

mkdir  -pv  /mnt/dvd创建挂载点目录

vim  /etc/rc.d/rc.local

mount  /dev/cdrom   /mnt/dvd

编辑rc.local运行控制脚本文件,添加如下内容

脚本中的光盘挂载命令



bash  /etc/rc.d/rc.local手动运行rc.local脚本
df  或  lsblk查看已挂载的磁盘设备

2.备份系统自带的网络yum源配置文件,创建本地yum源文件。

命令功能解释
cd   /etc/yum.repos.d切换到yum源的配置文件目录
ls显示当前目录的文件名列表
mkdir  -pv  bak在当前目录中创建bak目录
mv  -v  *.repo  bak/移动*.repo系统自带的网络yum源文件到bak目录下
cat  > dvd.repo <<EOF

[centos76]

name=centos 7.6 linux

baseurl=file:///mnt/dvd

enabled=1

gpgcheck=0


EOF

用cat以脚本非交互式创建dvd.repo这个yum源文件

3.测试本地yum源的可用性,并测试curl和wget软件的安装

命令功能解释
yum  clean  all
清除yum缓存
yum  repolist查询yum清单
yum  grouplist查询yum源分组清单
yum  -y  install  wget  curl  elinks用yum安装wget、curl、elinks
rpm  -q  wget  curl  elinks查询是否安装



附:全自动挂载centos光盘、yum源全自动配置脚本:

touch  yum_auto.sh          创建yum_auto.sh脚本文件

chmod  -v  +x  yum_auto.sh    给yum_auto.sh脚本文件添加可执行权限

vim  yum_auto.sh       打开vim,添加下面代码

#!/bin/bash

chmod  +x  /etc/rc.d/rc.local

mkdir  -pv  /mnt/dvd

grep  ^mount  /etc/rc.d/rc.local

[ $? -ne 0 ] && echo  'mount  /dev/cdrom  /mnt/dvd' >> /etc/rc.d/rc.local

sh  /etc/rc.d/rc.local

df  -hT | grep  iso9660
cd  /etc/yum.repos.d

ls

[ -d bak ] && echo 'bak directory  exists.' || mkdir  -pv  bak

\mv  -fv  *.repo  bak/

cat  > dvd.repo <<EOF

[centos76]

name=centos 7.6 linux

baseurl=file:///mnt/dvd

enabled=1

gpgcheck=0

 

EOF

cd

yum  clean  all

yum  repolist

yum  install  -y  wget  curl  elinks

rpm  -q  wget  curl  elinks