环境信息
IP:192.168.80.186
OS:CentOS Linux release 7.2.1511 (Core)
1、基于iso构建yum源
Redhat6/7的配置方式:
1.将本地Redhat7的镜像文件通过Xshell自带的Xftp工具将:rhel-server-7.5-x86_64-dvd.iso 镜像文件上传到: /mnt 目录下;
2.创建目录:mkdir /media/cdrom
3.编辑:vi /etc/fstab 在最后添加: /mnt/CentOS-7-x86_64-DVD-1511.iso /media/cdrom iso9660 defaults,loop 0 0
4.挂载: mount -a
5.检查挂载: df -h
6.创建备份目录: mkdir /etc/yum.repos.d/bak
7.将repo文件备份:mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
8.创建新的repo文件:vi /etc/yum.repos.d/iso.repo 在其中添加如下内容:
[local]name=isobaseurl=file:///media/cdromgpgcheck=0enable=1
保存退出
9.运行:
yum clean all #清空yum缓存yum makecache #添加安装包缓存yum repolist #检查yum源列表yum -y install lftp #测试安装一个lftp软件
2、基于http构建yum源
1.先将iso镜像文件上传到/mnt目录下,将iso镜像文件挂载到 /media/cdrom 目录下
mkdir /media/cdromvi /etc/fstab 在最后添加: /mnt/CentOS-7-x86_64-DVD-1511.iso /media/cdrom iso9660 defaults,loop 0 0mount -a
2.复制 /media/cdrom/Packages 目录下所有软件包至 /var/www/html/centos
mkdir -p /var/www/html/centoscp -R /media/cdrom/Packages/* /var/www/html/centos
3.使用createrepo创建本地源,执行以下命令会在 centos 目录生成repodata目录
yum -y install createrepo*cd /var/www/htmlcreaterepo centos/ls -l /var/www/html/centos/repodata/
4.利用http发布yum源
yum 或者 rpm包安装 apache httpd软件并启动yum -y install httpd httpd-develuseradd apache -g apachesystemctl restart httpd.serviceps -ef | grep -v grep |grep httpd
5.在需要配置yum客户端的服务器上配置
cd /etc/yum.repos.d/mkdir /etc/yum.repos.d/bakmv *.repo bakvi http.repo[base]name="CentOS7 HTTP YUM"baseurl=http://192.168.80.186/centosgpgcheck=0enable=1[updates]name="CentOS7 HTTP YUM"baseurl=http://192.168.80.186/centosgpgcheck=0enable=1
6.验证测试
yum clean all #清空yum缓存yum makecache #添加安装包缓存yum repolist #检查yum源列表yum -y install lftp #测试安装一个lftp软件
3、yum源端软件包扩展
默认ISO镜像构建的yum源会发现少很多软件包,如果服务器需要挂载移动硬盘,mount挂载移动硬盘需要ntfs-3g软件支持,而本地没有,此时需要往yum源中添加ntfs-3g软件包,方法如下:
cd /var/www/html/centoswget http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-2016.2.22-3.el7.x86_64.rpmwget http://dl.fedoraproject.org/pub/epel/7/x86_64/n/ntfs-3g-devel-2016.2.22-3.el7.x86_64.rpmcd /var/www/html/ && createrepo --update centos/ #更新本地软件包
4、获取外网yum源软件【将外网yum源中的rpm软件包同步到本地(同步需要一些时间,具体看网速快慢)】
通常情况下,获取外网yum源软件有三种方法:rsync、wget、reposync,三种方式的区别:
rsync 需要外网Yum源支持rsync协议;wget可以直接获取;reposync 可以同步几户所有的yum源软件包。 本文以 reposync 举例
1.下载repo文件至 /etc/yum.repos.d/ 目录,并安装 reposync命令工具
wget https://mirrors.aliyun.com/repo/Centos-7.repomv Centos-7.repo /etc/yum.repos.d/centos.repoyum clean allyum -y install yum-utils createrepo
2.通过 reposync 命令工具获取外网yum源所有软件包【同步需要一些时间】
-r 参数指定 repolist id,不加-r参数表示获取外网所有Yum源软件包,-p参数表示指定下载软件路径
reposync -r base -p /var/www/html/centos/reposync -r updates -p /var/www/html/centos/
3.通过reposync下载完所有的软件包之后,需要执行以下createrepo命令更新本地yum源
createrepo /var/www/html/centos
Redhat8的配置方式:
1.将本地Redhat8的镜像文件通过Xshell自带的Xftp工具将:rhel-8.0-x86_64-dvd.iso 镜像文件上传到: /mnt 目录下;
2.创建目录:mkdir /media/cdrom
3.编辑:vi /etc/fstab 在最后添加: /mnt/rhel-8.0-x86_64-dvd.iso /media/cdrom iso9660 defaults,loop 0 0
4.挂载: mount -a
5.检查挂载: df -h
6.创建备份目录: mkdir /etc/yum.repos.d/bak
7.将repo文件备份:mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
8.创建新的repo文件:vi /etc/yum.repos.d/iso.repo 在其中添加如下内容:
[BaseOS] name=BaseOS baseurl=file:///media/cdrom/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///media/cdrom/AppStream enabled=1 gpgcheck=0
保存退出
9.运行:
yum clean all #清空yum缓存yum makecache yum repolist #检查yum源列表yum install lftp #测试安装一个lftp文件
阿里云:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo