加载镜像文件
对于Linux系统来说,想要轻松的安装软件,最好的方法就是使用简易安装工具,比如对于CentOS的YUM,对于Debian/Ubuntu系统的apt-get。但在内网环境下,由于无法访问外网,因此需要在系统集群中选定一台设备,将它作为整个集群的软件仓库,在某些场合中,这样的软件仓库被称为源服务器。
正如之前所说,源服务器本身也是处于内网环境中,因此为了收集所需的安装包,你可以使用两种方法,一种是在安装软件的过程中,将所需的安装包保留起来,之后将它们一并上传至源服务器,另一种是将企业发行版的Linux镜像文件中的安装包,一并上传至源服务器。我们使用第二种方法,因为比较省事。
首先,你需要先加载Linux的镜像文件
mkdir /media/disk
mount -o loop CentOS-6.5-x84_64-bin-DVD.iso /media/disk
我们已经将镜像文件拷贝在系统目录下,这样方便我们加载镜像文件。另外,使用如上命令,很可能需要root权限。获取root权限的方法是在命令行中输入su命令,并键入密码。
架设HTTP服务器
为了使处于内网中的其他设备能够访问源服务器,需要假设http或ftp服务器。如果处于外网环境,可以使用:
yum install httpd
架设apache http服务器,或者使用命令:
yum install vsftpd
架设ftp服务器。但我们的设备处于内网,所以需要一步步安装http服务器所需要依赖包。由于CentOS镜像文件中包含了尽可能多的安装包,而这些安装包的位置被放在 /media/disk/Packages中,如果你mount镜像文件到了其他文件夹下,那么这些安装包则处于 ../Packages中。使用命令rpm -ivh 安装所需的软件。
rpm -ivh httpd-2.2.15-29.el6.centos.x86_64.rpm
如果安装的过程中,出现了需要依赖包的情况,比如:
error: Failed dependencies:
libpq.so.4 is needed by apr-util-1.2.7-11.el5_5.2.i386
那么按照提示一步步安装这些依赖包即可。当http安装成功后,可以使用
service httpd status
查看httpd服务运行状态,也可以使用firefox,通过在http地址栏中输入localhost查看http服务器运行状态。如确认了httpd服务已经启动,那么接下来需要设置的就是开机启动了。
chkconfig httpd on
建立YUM服务器
在Apache服务器下,建立yum及CentOS文件夹,并拷贝数据至CentOS目录下
mkdir -p /var/www/html/yum/CentOS
cp -rf /media/disk/* /var/www/html/yum/CentOS/
拷贝完毕后,弹出光盘镜像。
umount /media/disk
若你直接使用光盘,那么还需要使用eject命令,弹出光驱。
之后,我们需要安装createrepo并创建软件仓库。由于我们已经将全部数据都存在了/var/www/html/yum/CentOS目录下,因此将工作路径切换至该目录下后,使用rpm -ivh命令安装createrepo,或者直接使用命令:
rpm -ivh /var/www/html/yum/CentOS/Packages/deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh /var/www/html/yum/CentOS/Packages/python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh /var/www/html/yum/CentOS/Packages/createrepo-0.9.9-18.el6.noarch.rpm
安装完成后,会在/usr/bin目录下生成一个createrepo的命令,你可以使用:
ls -l /usr/bin/ | grep createrepo
查看是否生成了该命令。之后,在命令行中,使用该命令,并指向软件包的位置。
createrepo -v /var/www/html/yum/CentOS/Packages
这样,所有的安装包都被加载进入了软件仓库中。
Saving Primary metadata
Saving file lists metadata
Saving other metadata
这样一来,YUM服务器算是搭建完毕。之后我们需要回到客户机上,修改一些文件,让客户机知道有这么一个源存在。
修改客户端配置
在客户机上,使用vim新建一个/etc/yum.repos.d/myrepo.repo的文件,并增加以下内容:
[base]
name=myrepo
baseurl=http://192.168.1.103/yum/CentOS/Packages
enabled=1
gpgcheck=0
#released updates
[updates]
name=myrepo
baseurl=http://192.168.1.103/yum/CentOS/Packages
gpgcheck=1
enabled=1
gpgcheck=0
#packages used/produced in the build but not released
[addons]
name=myrepo
baseurl=http://192.168.1.103/yum/CentOS/Packages
enabled=1
gpgcheck=0
#additional packages that may be useful
[extras]
name=myrepo
baseurl=http://192.168.1.103/yum/CentOS/Packages
enabled=1
gpgcheck=0
之后,在客户机上,需要使用
yum list
更新源,之后就可以像联网环境中一样使用 yum 安装软件了。
RadHat搭建内网YUM源服务器:http://www.linuxdiyf.com/linux/10532.html
快速搭建Ubuntu更新源服务器:http://www.linuxdiyf.com/linux/10524.html