自定义yum仓库
自定义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
....