安装yum软件源


服务: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

###############################################################################

你可能感兴趣的:(Linux)