(一)简述
公司通过新进了一批服务器,通过VMware的Vsphere企业级的虚拟化解决方案创建了一批虚拟机,只供内网访问,所有的虚拟机无法上外网,所以造成了原先的yum源通过外网的方式安装软件包而无法安装,所以为了日常的软件包的安装,只能在内网创建新的yum源来进行安装。
环境介绍:
名称 | IP地址 | 功能 |
yum源服务端 | 172.22.11.108 | yum源的服务端 |
yum客户端(使用者) | 172.22.11.103 | yum源的使用者 |
(二)yum源服务端的配置
首先查看一下服务端的yum的相关信息
[root@GVPA02-011108 cdrom]# rpm -qa|grep yum yum-plugin-security-1.1.30-14.el6.noarch yum-plugin-fastestmirror-1.1.30-14.el6.noarch yum-metadata-parser-1.1.2-16.el6.x86_64 yum-3.2.29-40.el6.centos.noarch yum-utils-1.1.30-14.el6.noarch
2,安装createrepo,repo下的xml生成工具
[root@GVPA02-011108 cdrom]# yum install -y createrepo
3,制作yum源
3.1,随意创建一个文件夹作为yum的仓库名称,用来存放RPM包
[root@GVPA02-011108 cdrom]# mkdir /yumrepo
3.2,挂载光盘并把光盘里边RPM包都拷到/yumrepo文件夹里
[root@GVPA02-011108 cdrom]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mounting read-only [root@GVPA02-011108 cdrom]# cp -r /mnt/ CentOS_BuildTag GPL RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Security-6 .discinfo p_w_picpaths/ repodata/ RPM-GPG-KEY-CentOS-Testing-6 EFI/ isolinux/ RPM-GPG-KEY-CentOS-6 TRANS.TBL EULA Packages/ RPM-GPG-KEY-CentOS-Debug-6 .treeinfo [root@GVPA02-011108 cdrom]# cp -r /mnt/Packages/* /yumrepo/
3.3把密钥也拷贝到/yumrepo文件夹里
[root@GVPA02-011108 cdrom]# cp /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 /yumrepo/
4,执行命令生成repodata ,创建主目录文件索引。-v参数后边跟你的RPM包的文件夹。
[root@GVPA02-011108 cdrom]#createrepo -v /yumrepo Worker 0: reading kernel-devel-2.6.32-431.el6.x86_64.rpm Worker 0: reading samyak-gujarati-fonts-1.2.1-9.el6.noarch.rpm Worker 0: reading srptools-0.0.4-15.el6.x86_64.rpm Worker 0: reading kdenetwork-4.3.4-11.el6_0.1.x86_64.rpm Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Starting other db creation: Wed Nov 1 18:53:22 2017 Ending other db creation: Wed Nov 1 18:53:23 2017 Starting filelists db creation: Wed Nov 1 18:53:23 2017 Ending filelists db creation: Wed Nov 1 18:53:28 2017 Starting primary db creation: Wed Nov 1 18:53:28 2017 Ending primary db creation: Wed Nov 1 18:53:31 2017 Sqlite DBs complete
5,制作本地yum源文件,要以.repo为结尾的。配置好目前还不能用,要用httpd来代理出来
[root@GVPA02-011108 yumrepo]# vim /etc/yum.repos.d/localyum.repo [base] name=localyum baseurl=http://172.22.11.108 gpgcheck=0 gpgkey=file:///yumrepo/RPM-GPG-KEY-CentOS-6
6,基于http的yum源相关配置
6.1,安装apache软件
[root@GVPA02-011108 yumrepo]# yum install httpd -y Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================== Package Arch Version Repository Size ========================================================================================================================== Installing: httpd x86_64 2.2.15-29.el6.centos base 821 k Transaction Summary ========================================================================================================================== Install 1 Package(s) Total download size: 821 k Installed size: 2.9 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : httpd-2.2.15-29.el6.centos.x86_64 1/1 Verifying : httpd-2.2.15-29.el6.centos.x86_64 1/1 Installed: httpd.x86_64 0:2.2.15-29.el6.centos Complete!
6.2,修改httpd.conf配置文件的DocumentRoot 和<Directory "/yumrepo">两个配置
[root@GVPA02-011108 yumrepo]# vim /etc/httpd/conf/httpd.conf # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/yumrepo" <Directory "/yumrepo"> # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>
6.3,删除欢迎页面welcome.conf,并给/yumrepo赴权限
[root@GVPA02-011108 yumrepo]# rm /etc/httpd/conf.d/welcome.conf rm: remove regular file `/etc/httpd/conf.d/welcome.conf'? y
6.4,关闭selinux并重启下httpd服务
[root@GVPA02-011108 conf]# /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.22.11.108 for ServerName [ OK ] [root@GVPA02-011108 conf]# echo 0 > /selinux/enforce #########不添加这个条件可能出现403禁止访问 [ OK ]
访问界面如下即可:
7,如果yum包需要更新的话,可以直接在阿里云或163上进行更新,并执行如下命令
[root@GVPA02-011108 conf]# wget -np -t 1 -nH –cut-dirs=1 -r -c -L –exclude-directories=repodata –accept=rpm,zip,gz,xml http://mirrors.163.com/centos/6.5/os/x86_64/Packages/ -P /yumrepo ###下载最新的rpm包 [root@GVPA02-011108 conf]# createrepo --update /yumrepo ####更新yum源 ###客户端只需要yum clean all 和yum makecache 即可就能直接使用了
(三)yum客户端配置
1,在yum客户端172.22.11.104上将默认 的yum源关闭,并设置epel.repo将enables 为0
[root@SIPA01-011104 yum.repos.d]# vim epel.repo [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
2,创建自己的localyum.repo文件
[root@SIPA01-011104 yum.repos.d]# vim localyum.repo [base] name=localyum baseurl=http://172.22.11.108 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3,清除和加载rpm包
[root@SIPA01-011104 yum.repos.d]# yum clean all Loaded plugins: fastestmirror, security Cleaning repos: base Cleaning up Everything Cleaning up list of fastest mirrors [root@SIPA01-011104 yum.repos.d]# yum makecache Loaded plugins: fastestmirror, security Determining fastest mirrors base | 2.9 kB 00:00 base/filelists_db | 4.1 MB 00:00 base/primary_db | 3.3 MB 00:00 base/other_db | 1.8 MB 00:00
4,客户端执行完成,就可以直接使用yum install命令了。
转载于:https://blog.51cto.com/liqingbiao/1978066