自定义yum仓库

案例4:自定义yum软件仓库

4.1问题

本例要求在CentOS真机上利用RHEL7的光盘镜像文件准备一个软件仓库目录,完成下列任务:

创建目录/var/www/html/rh7dvd

挂载rhel-server-7.2-x86_64-dvd.iso到上述目录

另外,利用收集的一些第三方RPM软件包文件,配置为可发布的yum仓库目录,相关任务如下:

挂载RHEL7光盘镜像文件到/var/www/html/目录

下载LibreOffice办公软件的rpm集合版文件

将其中的内容释放到/opt/libreoffice/目录

为/opt/libreoffice/目录建立仓库档案

4.2方案

作为yum软件源的目录需要准备的内容:

大量的.rpm软件安装包文件

针对这些软件包的repodata/仓库档案

repodata/仓库档案提供的数据:

filelists.xml.gz:提供所有软件包的文件安装清单

primary.xml.gz:提供所有软件包的基本/主要信息

other.xml.gz:提供所有软件包的其他信息

repomd.xml:提供上述档案数据文件.xml.gz的下载和校验信息

4.3步骤

实现此案例需要按照如下步骤进行。

步骤一:准备/var/www/html/rh7dvd仓库目录

1)创建目录/var/www/html/rh7dvd

[root@room9pc13~]#mkdir /var/www/html/rh7dvd

2)挂载rhel-server-7.2-x86_64-dvd.iso到上述目录

[root@room9pc13~]#vim  /etc/fstab

....

/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rh7dvd  iso9660  loop,ro 0 0

[root@room9pc13~]#mount -a

3)确认部署结果

[root@room9pc13~]#ls /var/www/html/rh7dvd/

addons images Packages RPM-GPG-KEY-redhat-release

EFI isolinux release-notes TRANS.TBL

EULA LiveOS repodata

GPL media.repo RPM-GPG-KEY-redhat-beta

步骤二:准备/opt/libreoffice/仓库目录

1)将获取的LibreOffice软件集合包释放到指定目录

[root@room9pc13~]#ls LibreOffice_5.1.6.2_Linux_x86-64_rpm.zip

LibreOffice_5.1.6.2_Linux_x86-64_rpm.zip

[root@room9pc13~]#unzip LibreOffice_5.1*.zip -d /opt/libreoffice

Archive:LibreOffice_5.1.6.2_Linux_x86-64_rpm.zip

inflating:/opt/libreoffice/install

creating:/opt/libreoffice/langpack_zh-CN/

creating:/opt/libreoffice/langpack_zh-CN/RPMS/

....//释放到/opt/libreoffice目录

2)使用createrepo建立档案

[root@room9pc13~]#createrepo /opt/libreoffice/

Spawning worker 0 with 53 pkgs

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

3)确认repodata/档案资料

[root@room9pc13~]#ls /opt/libreoffice/repodata

1a5d8311268f33ad2cbf91382110e1ef9875aeea366897253a5d27fd42f9e317-other.xml.gz

2cd176f0b00492c0c13e0a659eda7dedeb1ab526dec5fd7c9bac7758558770d2-filelists.xml.gz

6ecab3585a93a917202e177b9569046238332af449a6492fcace96ea79374668-filelists.sqlite.bz2

b09a1f838262e0b67a5ab0d6be516bd921a914afd89864e09650f95662a20371-primary.sqlite.bz2

b6fcf4a24de5dc08585bf52bd34be50d7df376d5fbcf50903bfd3c1dfdf160bf-other.sqlite.bz2

f57724cf309cc102b2ee25596bf8fb39db3c23880404209ac1e379f7b9fd5c49-primary.xml.gz

repomd.xml


案例5:发布及测试yum仓库

5.1问题

沿用案例5,本例要求掌握发布及测试yum仓库的方法,方便在网络内提供集中的yum源服务器,主要完成下列任务:

在CentOS真机上发布yum源,包括:rhel7系统的光盘目录仓库、LibreOffice的rpm软件包仓库

在主机pc207上使用上述yum源

5.2方案

通过网络发布yum软件源时,只需要配置HTTP或FTP资源服务器,然后将提前准备好的yum仓库目录部署到可访问的资源位置即可。

在访问网络yum软件源时,注意客户端的baseurl地址必须与资源提供方式一致:

baseurl=htp://服务器地址/目录名==》/var/www/html/目录名

baseurl=ftp://服务器地址/目录位置==》/var/ftp/目录名

5.3步骤

实现此案例需要按照如下步骤进行。

步骤一:在CentOS真机上发布yum仓库

1)快速搭建httpd服务器(若已建好,此步可跳过

[root@room9pc13~]#yum -y install httpd//装包

[root@room9pc13~]#systemctl restart httpd//起服务

[root@room9pc13~]#systemctl enable httpd//设置开机自启

2)确认前一步已经部署到Web网站目录的RHEL7光盘数据:

[root@room9pc13~]#du -sh /var/www/html/rh7dvd///检查部署结果

3.9G/var/www/html/rh7dvd/

3)将准备好的LibreOffice仓库目录部署到Web网页目录

[root@room9pc13~]#mv /opt/libreoffice/ /var/www/html/

[root@room9pc13~]#du -sh /var/www/html/llibreoffice/ //检查部署结果

234M/var/www/html/libreoffice

步骤二:在pc207上访问yum仓库

1)添加新的yum仓库设置

[root@pc207~]#vim /etc/yum.repos.d/new.repo

[rh7dvd]

name=RHEL 7.2 Server

baseurl=http://192.168.4.254/rh7dvd

gpgcheck=0

[libreoffice]

name=LibreOffice 5

baseurl=http://192.168.4.254/libreoffice

gpgcheck=0

2)测试新的yum仓库

[root@pc207~]#yum repolist

....

repo id repo name status

libreoffice LibreOffice 5 53

rh7dvd RHEL 7.2 Server 4620

....

自定义yum仓库的更多相关文章

  1. linux 自定义yum仓库、repo文件 yum命令

    目录 自定义yum仓库:createrepo 自定义repo文件 使用yum命令安装httpd软件包 卸载httpd软件包:yum –y remove 软件名 清除yum缓存:yum clean al ...

  2. 十四.自定义yum仓库、源码编译安装

    pc7:192.168.4.7 1.自定义yum仓库1.1 源码仓库下:/root/tools/other]# createrepo .]# ls ntfs-3g-2014.2.15-6.el6.x8 ...

  3. 构建企业 YUM仓库

    构建企业 YUM仓库 本地光盘提供基础软件包Base yum缓存提供update软件包 yum缓存提供常用软件包: nginx, zabbix, docker, saltstack 环境准备 系统 I ...

  4. 配置yum仓库和rpm包

    作业一: 1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分 ...

  5. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包

    一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------   2> 将记录的 ...

  6. 自定义centos7 yum仓库

    将安装光盘插入 mkdir /newyum umount /dev/sr0 mount /dev/sr0 /media cp -rf /media/Packages /newyum #将镜像中的rpm ...

  7. yum仓库

    1.概念: Yum仓库则是为进一步简化RPM管理软件难度而设计的,Yum能够根据用户的要求分析出所需软件包及其相关依赖关系,自动从服务器下载软件包并安装到系统 yum的工作原理:执行yum命令――&g ...

  8. yum仓库客户端搭建和NTP时间同步客户端配置

    一.yum仓库客户端搭建 yum源仓库搭建分为服务器端和客户端. 服务端主要提供软件(rpm包)和yumlist.也就是提供yum源的位置.一般是通过http或者ftp提供位置. 客户端的配置:yum ...

  9. CentOS 6.5本地yum源、局域网离线yum仓库(断网情况下轻松安装各种依赖包)

    在工作中, 公司的服务器大部分都禁止连接外网的,初始化系统,测试某些产品时,往往缺一些软件或依赖包,一个个上传到机器,如此浪费时间,浪费金钱,en...yum能够自动查找并解决rpm包之间的依赖关系, ...

随机推荐

  1. ubunto python + vnstat 限制每天流量使用 使用iptables

    上次想使用 iptables 转发80 端口,试了一段时间,没有成功.哪位知道是什么原因,还麻烦告诉我. 这次使用 iptables 禁用 80 443 出站,经过试验可以成功. 通过 iptable ...

  2. 深入探索 TCP TIME-WAIT

    1​ TIME-WAIT 状态 主动关闭连接的一方,在四次挥手最后一次发送 ACK 后,进入 TIME_WAIT 状态.在这个状态里,主动关闭连接一方等待 2MSL(Maximum Segment L ...

  3. C++ 指针实现字符串倒序排列

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <coni ...

  4. C++ Dll中导出一个类

    //定义一个头文件,创建MyObject.h的头文件 并打印如下代码 #ifndef _MY_OBJECT_H #define _MY_OBJECT_H #ifndef MYDLL_EXPORTS # ...

  5. Spark实战--搭建我们的Spark分布式架构

    Spark的分布式架构 如我们所知,spark之所以强大,除了强大的数据处理功能,另一个优势就在于良好的分布式架构.举一个例子在Spark实战--寻找5亿次访问中,访问次数最多的人中,我用四个spar ...

  6. Python习题集(三)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 写一个小程序:控制 ...

  7. Angular 从入坑到挖坑 - HTTP 请求概览

    一.Overview angular 入坑记录的笔记第四篇,介绍在 angular 中如何通过 HttpClient 类发起 http 请求,从而完成与后端的数据交互. 对应官方文档地址: Angul ...

  8. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  9. masql数据库的表查询

    昨日回顾 表与表之间建关系 一对多 换位思考 图书与出版社 先站在左表: 考虑左表的多条数据能否对应右表的一条数据 翻译:多本书能否被一个出版社出版 可以! 注意:单站在一张得出的表关系并不能明确两张 ...

  10. 「面试指南」解读JavaScript原始数据类型

    JavaScript 有 7 种原始数据类型: String(字符型) Number(数值型) Boolean(布尔值型) Undefined Null Object(对象型) Symbol(符号型, ...