封尘网

让学习成为一种习惯!

利用Redhat系统光盘作为内网yum源

Linux系统安装软件利用YUM是非常方便的,但是如果内网里十台,几十台机器甚至更多呢。全都要连到外网下载安装,那就真的太慢了;如何解决呢?简单就是在局域网内搭建一个内网YUM源服务器;

本次实验,利用Redhat6.5系统光盘作为本地局域网yum源服务器;

系统环境:

[root@YUM_server ]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@YUM_server ]# uname -a
Linux LVS_server 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

服务端配置:

1、挂载CD-ROM并安装vsftpd

mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64

2、安装完成后,将光盘里所有的文件拷贝到 /var/ftp/pub 目录里

cd /mnt
cp -rv * /var/ftp/pub

3、切换到 /var/ftp/pub目录
删除*.html和repodata/TRANS.TBL

cd /var/ftp/pub
rm -rf *.html
rm -rf repodata/TRANS.TBL

4、安装createrepo工具,生成YUM通用数据库

rpm -ivh /mnt/Packages/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh /mnt/Packages/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh /mnt/Packages/createrepo-0.9.9-18.el6.noarch.rpm

生成文件数据列表:

createrepo -g /var/ftp/pub/repodata/repomd.xml /var/ftp/pub/

5、重启vsftp,配置完成。

/etc/init.d/vsftpd restart

内网里的其它机器(客户端)配置:

1、更新yum源文件,新建一个文件,先把原来的移到/tmp目录下吧;
其实就是主要指向一个FTP 地址;

cd /etc/yum.repos.d
mv *.repo /tmp
[root@apache2 yum.repos.d]# cat localnet.repo

6、[base]
7、name=ftp-server
8、baseurl=ftp://192.168.40.14/pub/
9、gpgcheck=1
10、enabled=1
11、gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

在客户端测试:

[root@apache2 yum.repos.d]# yum clean all

导入RPM-GPG-KEY

[root@apache02 yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

不执行此步,首次yum安装软件包时会提示几个确认,要按Y;

提示如下:

[root@apache2 yum.repos.d]# rpm -qa|grep lrzsz
[root@apache2 yum.repos.d]# yum install lrzsz
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base                                                                                        | 3.6 kB     00:00
base/primary_db                                                                             | 3.2 MB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package lrzsz.x86_64 0:0.12.20-27.1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved

===================================================================================================================
 Package                 Arch                     Version                             Repository              Size
===================================================================================================================
Installing:
 lrzsz                   x86_64                   0.12.20-27.1.el6                    base                    71 k
Transaction Summary

===================================================================================================================
Install       1 Package(s)

Total download size: 71 k
Installed size: 159 k
Is this ok [y/N]: y

可以通过netstat -antlp命令查看连接到哪台主机,什么端口;

按Y后发现,安装成功;使用没任何问题;

如果内网多个机器都是利用PXE+Kickstart+TFTP+DHCP无人值守安装的,那么可以在配置时使用@post脚本把此yum配置直接写进系统;这样就不用每台机器配置,当然也可以使用 批量工具把文件发布到每天服务器上;