服务:C/S
服务端:提供某种资源或功能 Linux
服务端软件: httpd Nginx Tomcat
配置服务: 修改服务主配置文件
客户端:能够访问服务端某种资源或功能 Linux Windows
客户端软件: IE firefox
重合(既是服务端,又是客户端) Yum
指定yum软件源
软件包安装(yum机制)——
前提条件:
1.众多的RPM包;
2.一个可以访问的软件仓库清单文件(repodata);
3.挂载光盘,出现光盘的所有内容 #挂载光盘的实质:将光盘的内容(rpm包及清单)展现出来
服务端(yum软件仓库):
l 共享光盘所有内容到系统的一个目录下:#mount /dev/cdrom /nsd
l 提供服务。集中提供软件安装包(RPM),并提供依赖性支持
客户端(yum命令及配置): 享受服务,指明服务端位置,修改配置文件
l 配置文件格式及路径:/etc/yum.conf /etc/yum.repos.d/*repo
注意:/etc/yum.repos.d/*repo中不能有错误的客户端配置文件,会影响正确的配置文件
[root@server0 ~]# vim /etc/yum.repos.d/dvd
1.[dvd] #仓库名称(可以任意,不能有空格)
2.name=list123 #仓库描述
3.baseurl=file:///dvd #指定Yum服务端仓库位置,file://为格式,/dvd为到达仓库路径
4.enabled=1 #该文件启用
5.gpgcheck=0 # 在文件的最后写入gpgcheck=0,不检测软件包签名认证
2.快速建立repo配置文件(自动创建,以路径命名) :
yum-config-manager --add-repo 软件仓库地址
注意:此命令不会校验路径是否正确,当路径错误,此文件无效,会影响正确的配置文件的使用
使用yum命令管理软件
Yellowdog Update Manager 黄狗升级管理器
- yum repolist //列出仓库信息
- yum list [软件名]… //列软件
- yum clean all //清缓存
- yum -y install [软件名]… //安装软件包 遇到询问时默认yes
- yum remove [软件名]… //卸载软件 使用此命令时最好不要有-y,因为部分软件
可能依赖于此软件,如果加-y,可能会卸载了一些重要的软件。
- yum search “关键字” 模糊查询仓库里是否有这个包
- yum info 软件名 .. ..
- yum provides "文件路径"
yum -y reinstall 软件名 .. ..
yum -y update 软件名 .. ..
############################
yum search ftp #搜寻仓库中是否有ftp
yum -y install httpd #安装httpd软件包
yum -y install gcc
############################
[root@localhost 桌面]# yum -y install httpd
Failed to set locale, defaulting to C
Loaded plugins: langpacks, product-id, search-disabled-repos,
: subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package httpd-2.4.6-40.el7.x86_64 already installed and latest version
Nothing to do
#################################################
本地YUM源
1.创建挂载点 mkdir /mnt/hu
2.挂载 mount /dev/cdrom /mnt/hu
3.创建YUN源 yum-config-manager --add file:///mnt/hu
4.echo gpgcheck=0 >> /etc/yum.repos.d/mnt_hu.repo
或者 vim /etc/yum.conf
gpgcheck=0
5.查看YUM源 yum repolist
6.安装软件包 例如:httpd yum -y install httpd
7.卸载软件 yum -y remove httpd
*******************************************************************************
网络YUM源
1.创建YUN源 yum-config-manager --add http://classroom/content/rhel7.0/x86_64/
2.echo gpgcheck=0 >> /etc/yum.repos.d/classroom_content_rhel7.0_x86_64_.repo
或者 vim /etc/yum.conf
gpgcheck=0
3.查看YUM源 yum repolist
4.安装软件包 例如:httpd yum -y install httpd
5.卸载软件 yum -y remove httpd
###############################################################################
案例2:使用yum软件源
为虚拟机 server0指定可用的yum软件源,相关要求如下:
1.YUM软件库源为 http://172.25.0.254/content/rhel7.0/x86_64/dvd/
2.将此配置为虚拟机 server0 的默认软件仓库
步骤一:检查现有yum仓库,去除不可用的设置
1)修改新建的仓库配置,添加gpgcheck=0以禁用GPG签名检查
[root@server0 ~]# vim /etc/yum.repos.d/content.example.com_rhel7.0_x86_64_dvd
1.[content/rhel7.0/x86_64/dvd] #仓库名称(可以任意,不能有空格)
2.name=list123 #仓库描述
3.baseurl=http://172.25.0.254/content/rhel7.0/x86_64/dvd/ #指定Yum服务端仓库位置
4.enabled=1 #该文件启用
5.gpgcheck=0 # 在文件的最后写入gpgcheck=0,不检测软件包签名认证
2)移除不可用的yum库配置文件
当执行yum repolist操作报错时,才执行此步骤(否则此步可跳过)。
1.[root@server0 ~]# mkdir /etc/yum.repos.d/repobak
2.[root@server0 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobak/
#移除其他客户端文件,防止有错误的文件互相影响
3)列出yum库
[root@server0 ~]# yum repolist #列出仓库信息,没有报错,发现4000多个包
步骤二:添加指定的yum仓库配置 (当有手动配置时,此步骤省略)
1)使用yum-config-manager工具建立新配置文件
[root@server0 ~]#yum-config-manager --add-repo http://172.25.0.254/content/rhel7.0/x86_64/dvd/
2)
步骤三:确认新配置的yum源可用
[root@server0 ~]# yum clean all //清理缓存
[root@server0 ~]# yum repolist //重新列出可用的源
Failed to set locale, defaulting to C
Loaded plugins: langpacks, product-id,
: search-disabled-repos,
: subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
dvd | 4.1 kB 00:00
(1/2): dvd/group_gz | 136 kB 00:00
(2/2): dvd/primary_db | 3.6 MB 00:00
repo id repo name status
dvd list123 4620
repolist: 4620
###############################################################################
发布网络yum源
####################################################
发布网络YUM源
一、真机(服务端)搭建Web服务,利用Web共享光盘所有内容
1、装包启动服务,安装httpd软件包
2、挂载ISO镜像文件
# mkdir /var/www/html/rhel7
# ls /var/www/html/rhel7
# mount /ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7/
# ls /var/www/html/rhel7
3、实现开机自动挂载,/etc/fstab
# df -hT 可查看到ISO镜像文件类型为iso9660
# vim /etc/fstab
/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7 iso9660 defaults 0 0
# umount /var/www/html/rhel7/ //卸载,是为了验证挂载的正确性
# ls /var/www/html/rhel7/
# mount -a
# ls /var/www/html/rhel7/ //确认光盘内容,验证挂载无误
4、测试访问
# firefox http://192.168.4.254/rhel7
# ls /var/www/html/rhel7/
二、虚拟机A与虚拟机B(客户端)
# yum-config-manager --add http://192.168.4.254/rhel7
# echo gpgcheck=0 >> /etc/yum.repos.d/192(按tab)
# yum clean all
# yum repolist
或用另一种方法
# rm -rf /etc/yum.repos.d/*
# vim /etc/yum.repos.d/rhel7.repo // 书写客户端配置文件
[rhel7]
name=rhel7.2
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0
# yum clean all
# yum repolist
真机搭建FTP共享:装软件包vsftpd,其余操作与上相同(共享路径自建/var/ftp/rhel7)
注:在仓库中,查询哪一个包,在任意路径下,产生pxelinux.0 # yum provides */pxelinux.0
###############################################################################
Yum仓库特点
Ø 作为yum软件源的目录需要准备的内容:
大量的.rpm软件安装包文件
针对这些软件包的repodata/仓库档案
Ø repodata/仓库档案提供的数据
filelists.xml.gz:提供所有软件包的文件安装清单
primary.xml.gz:提供所有软件包的基本/主要信息
other.xml.gz:提供所有软件包的其他信息
repomd.xml:提供上述档案数据文件.xml.gz的下载和校验信息
使用RHEL7光盘库,光盘目录已经预先配置为yum源
Packages/ //存放.rpm软件包
repodata/ //仓库档案
isolinux/ //光盘引导数据
RPM-GPG-KEY-redhat-release //签名校验密钥
使用第三方RPM包建库
需要额外创建repodata/档案:使用命令:createrepo /软件仓库路径
Ø 将搜集的.rpm包文件集中到指定目录
Ø 针对此目录使用createrepo工具创建仓库档案
###############################################################################
第三方RPM包,自定义Yum仓库,发布网络YUM源
1.准备众多的RPM包,真机将tools目录上传,到虚拟机A
真机上操作:# scp -r /root/桌面/tools/ [email protected]:/root/
//将本地的/root/桌面/tools/other/目录,以root身份上传到192.168.4.7的根目录下
在虚拟机上:# ls /root
##############################
补充命令: scp命令 远程上传下载的工具
scp 需要传送的文件 用户名@地址:目录
scp cmatrix-1.2a-1.i386.rpm [email protected]:/root/ #-r是用来传输目录用
##############################
2.在虚拟机A上生成仓库清单文件,有repodata目录生成
# createrepo /other/ #生成仓库数据文件
# ls /other/
3.书写客户端配置文件
# yum-config-manager --add file:///other
# echo gpgcheck=0 >> /etc/yum.repos.d/other.repo
或 # vim /etc/yum.repos.d/other.repo
[rpm]
name=rpm
baseurl=file:///tools/other/
enabled=1
gpgcheck=0
# yum clean all
# yum repolist
4.验证:# yum -y install sl oneko cmatrix boxes
# cmatrix # cmatrix -C red # oneko # oneko &
# echo hahaha | boxes # echo benniu | boxes -d dog # boxes -l
###############################################################################
案例:自定义yum软件仓库
在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/ 目录建立仓库档案
步骤一:准备 /var/www/html/rh7dvd 仓库目录
1)创建目录 /var/www/html/rh7dvd # mkdir /var/www/html/rh7dvd
2)挂载 rhel-server-7.2-x86_64-dvd.iso 到上述目录 # vim /etc/fstab
/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rh7dvd iso9660 loop,ro 0 0
# mount -a
3)确认部署结果# ls /var/www/html/rh7dvd/
步骤二:准备 /opt/libreoffice/ 仓库目录
1)将获取的LibreOffice软件集合包释放到指定目录
# ls LibreOffice_5.1.6.2_Linux_x86-64_rpm.zip //释放到 /opt/libreoffice 目录
2)使用createrepo建立档案# createrepo /opt/libreoffice/
3)确认repodata/档案资料# ls /opt/libreoffice/repodata
###############################################################################
源的HTTP发布
快速构建HTTP服务器
Hyper-Text Transfer Protocol,超文本传输协议
服务端:httpd 客户端:elinks、firefox、……
部署HTTP资源
将yum仓库目录发布为Web下载资源
Ø 建议部署为指定Web站点目录的子目录
Ø 默认根目录位于/var/www/html
测试HTTP方式的yum源
调整客户机的yum仓库设置
Baseurl = http://服务器地址/目录位置
通过网络发布yum软件源时,只需要配置HTTP或FTP资源服务器,然后将提前准备好的yum仓库目录部署到可访问的资源位置即可。
在访问网络yum软件源时,注意客户端的baseurl地址必须与资源提供方式一致:
baseurl = htp://服务器地址/目录名 ==》 /var/www/html/目录名
baseurl = ftp://服务器地址/目录位置 ==》 /var/ftp/目录名
#########################################################################
yum集中软件包分发机制(一个软件仓库服务器 ==》多个客户机)
软件仓库(服务端):为客户机提供 .rpm 软件包、仓库档案
1. 准备软件仓库目录
1)RHEL7光盘目录(预先建好的 repodata/)
2)存放零散的rpm包文件夹(通过createrepo手动生成repodata/)
2. 发布软件仓库(HTTP)
1)起一个Web服务
2)把软件仓库目录作为网页目录发布
/网页目录/rh7dvd/ ==》http://服务器地址/rh7dvd
/网页目录/wps/ ==》http://服务器地址/wps
/网页目录/inotiwait-3.13.tar.gz ==》http://服务器地址/inotiwait-3.13.tar.gz
yum命令(客户端):与指定的软件仓库联系,完成软件的查询、安装、卸载等操作
3. 使用软件仓库
1)禁止软件签名校验 /etc/yum.conf 【gpgcheck=0】
2)清理 /etc/yum.repos.d/*.repo
3)添加新的软件源 yum-config-manager --add 软件仓库的地址
###############################################################################
案例6:发布及测试yum仓库
掌握发布及测试yum仓库的方法,方便在网络内提供集中的yum源服务器,主要完成下列任务: 在CentOS真机 上发布yum源,包括:rhel7 系统的光盘目录仓库、LibreOffice 的rpm软件包仓库 在主机 pc207 上使用上述yum源
步骤一:在CentOS真机上发布yum仓库
1)快速搭建httpd服务器(若已建好,此步可跳过)
# yum -y install httpd //装包
# systemctl restart httpd //起服务
# systemctl enable httpd //设置开机自启
2)确认前一步已经部署到Web网站目录的RHEL7光盘数据:
# du -sh /var/www/html/rh7dvd/ //检查部署结果
3)将准备好的LibreOffice仓库目录部署到Web网页目录
# mv /opt/libreoffice/ /var/www/html/
# du -sh /var/www/html/llibreoffice/ //检查部署结果
步骤二:在pc207上访问yum仓库
1)添加新的yum仓库设置 # 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仓库 # yum repolist
###############################################################################