美文网首页
RPM包和两种Yum源

RPM包和两种Yum源

作者: 光明_7c13 | 来源:发表于2019-08-04 11:19 被阅读0次

RPM全称是RedHat Package Manager

命名规则

httpd-2.4.6-67.el7.centos.x86_64.rpm
 |     |    |  |     |      |    |
 |     |    |  |     |      |    |___.rpm-------软件包后缀名,一般为 *.rpm 或 *.src.rpm
 |     |    |  |     |      |________.x86_64----适用硬件平台,一般为 x86_64、i386 等
 |     |    |  |     |_______________.centos----适用操作系统,noarch为通用版本
 |     |    |  |_____________________.el7-------发行商版本号,el5为CentOS5与HREL5以下使用
 |     |    |________________________.67--------编译版本号,表示第几次编译
 |     |_____________________________.2.4.6-----软件版本号,分别为:主版本号.次版本号.修正号
 |___________________________________.httpd-----软件包名称

MD5校验

[root@kvm-docker ~]# md5sum anaconda-ks.cfg
bb6e974d74a51b24d0576edca461a03b  anaconda-ks.cfg

作用:对比下载的rpm包是否来源于官方

SRPM

全称Source RPM,也就是这个RPM档案里面含有原始码,扩展名为***.src.rpm
Red Hat公司的RHEL发布出后,连带会将SRPM发布出来。社群的朋友就将这些SRP收集起来重新编译成为需要的软件,再重复解释为Centos,所以才能称为Red Hat的RHEL企业版同步。

rpm包的安装:

rpm 包安装工具,无法解决安装包的依赖性,Yum可以解决他的依赖性。

rpm  -ivh
          -i 安装
          -v 显示安装
          -h 安装进度 

rpm包的管理

rpm -qi  //查询已安装的软件包的信息
rpm -qa | grep 软件包名   //查询系统已经安装的软件
rpm -ql 软件包名   //列出所有已安装的文件
rpm -qc 软件包名  //列出配置文档
rpm -V  //校验已经安装到系统中的文件的改动情况

-V后面加值:

*S 文件大小
*L 链接文件
*T 文件的创建时间
*D 设备文件
*U 文件的属主
*G 文件的属组
*M 文件的权限

  rpm2cpio 从一个rpm包中提出文件
 
  rpm -ql 软件名 | grep example  //查询软件包里的文件

当不小心删除了系统里的一个重要的配置文档,该怎么找回来

首先, 查询这个文件是哪个软件包安装的
rpm -qf 绝对路径的完整文件名
之后,将需要的文件提取到当前的工作目录
rpm2cpio 软件包名.rpm | cpio -idv ./要提取的文件名
例如
rpm2cpio tree-1.6.0-10.el7.x86_64.rpm |cpio -idv ./usr/bin/tree

Yum

目的:

搭建自己的yum源,主要是解决大批量服务器下载更新互联网带宽占用问题及速度问题以及不能访问的问题。
生产环境需要大规模的安装部署rpm包,每次安装,更新,都需要上传,安装,比较麻烦,可以在生产环境中自建一个yum源。

yum  -y install bash-com*  使用Yum命令时可以自动补全

PID 文件

通过配置文件的设置,可以把从远程仓库安装的软件保存到本地。

/var/run/yum.pid
这个文件在每次使用 yum 命令时被创建,正常安装软件结束后被删除。
有时候非正常退出 yum install 命令时,这个文件会保留,并且里面写入了本次 yum install 命令的进程号。
因为 YUM 是单进程的,就是每次只能运行一个 yum install 命令, 所以假如上次的命令没有正常结束,本次的命令就无法执行,此时就会报错,解决方法就是删除 /var/run/yum.pid 文件后,重新执行 yum install 命令即可。

  配置文件路径:/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
...略...
cachedir 设置缓存软件到本地的路径
keepcache 设置是否保存缓存的软件包,0 不保存, 1 保存

配置本地Yum源

挂载镜像:

mount /dev/sr0 /mnt

查看镜像是否挂载成功:

df -Th

客户端配置文件放在本地的

/etc/yum.repo/*.repo文件中

格式为:

[仓库名]
name=仓库描述
baseurl=file:///mnt
enabled=0 | 1 (0:不激活配置;1:激活配置)
gpgcheck=0 | 1 (0:安装前不对RPM包检测 1:反之)

清理缓存:

yum clean all 

缓存新的数据:

yum makecache

检测:

yum list 或者 yum -y install gcc

配置磁盘Yum源(基于ftp服务)

在光盘镜像中还存放着一个repodata目录,这个目录下存放的yum源的数据库文件,也可以理解为这里记录了软件包的互相依赖关系。
只要把光盘镜像挂载到服务器上,然后配好yum源为挂载的镜像,当使用yum安装软件的时候yum就会到这个目录下面去查询数据库,然后再到Packages目录下去拿rpm包进行安装,所以简单理解可以说repodata是记录Packages目录下所有 rpm 包的数据库

先挂载镜像并将Packages 拷贝到 /var/ftp/ftpYum下

mount /dev/sr0/ mnt
cp /mnt/Packages /var/ftp/ftpYum
安装FTP Server
yum -y install vsftpd
下载工具 createrepo
yum -y install createrepo
进入/etc/yum.repo.d/目录下创建ftpYum.repo
cd /etc/yum.repo.d 
mkdir back 
mv C*  back  //目的是编写的配置文件不受影响  

使Packages里面的rpm包产生依关系
createrepo /var/ftp/ftpYum/Packages
编写配置文件vim ftpYum.repo
清除Yum缓存并重新生成
yum clean all 
yum makecache

相关文章

  • yum更换国内源、yum下载rpm包、源码包安装

    76 yum更换国内源 更换基础仓库源 77 yum下载rpm包 更换yum仓库源 yum下载rpm包 yum下载...

  • yum命令

    yum在线管理rpm软件包 解决了rpm包手动安装的依赖性问题 yum源 修改yum源 文件位置 /etc/yum...

  • RPM包和两种Yum源

    RPM全称是RedHat Package Manager 命名规则 MD5校验 作用:对比下载的rpm包是否来源于...

  • 用createrepo本地yum源配置

    下载createrepo,用rpm包制作本地yum源 首先备份原yum源 /etc/yum.repos.d/ 新建...

  • 为Linux设置rpm,ypm,软件包管理,LNMP

    目录 rpm包管理 rpm包的查询 yum 使用3.1 使用aliyun yum站点源3.2 使用yum安装软件3...

  • linux源码包安装及更换yum源

    7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装 更换yum源 国外的源速度可能比较慢...

  • CentOS8上安装MYSQL 8.0

    一、配置YUM源 1.下载mysql8源安装包 在MySQL官网中下载YUM源rpm安装包:http://dev....

  • yum

    yum yum 配置文件位置 更新软件包和存储库 删除进程文件 查看已安装的yum源 更新元数据 删除库的rpm包...

  • Centos 安装MySQL

    1.下载MySQL软件rpm包 2.安装用来配置MySQL的yum源的rpm包 **3.使用yum安装 4.使用y...

  • Redhat7.x 修改阿里云yum源

    1. 删除已安装的yum包 将linux自带的yum源删除 rpm -qa | grep yum | xargs ...

网友评论

      本文标题:RPM包和两种Yum源

      本文链接:https://www.haomeiwen.com/subject/irmerctx.html