一、准备好发行版光盘,包,元数据
CentOS-6.8-x86_64-bin-DVD1.iso
二、准备网络服务http(s);ftp
根据netstat -ntl命令执行结果可以看出,80(http),21(ftp)端口都没有显示, 服务还没有配置
[root@centos6 ~]#netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:44496 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::55028 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
1)配置ftp服务
1.安装vsftpd包
[root@centos6 ~]#yum -y -q install vsftpd <-- 利用配置过的yum仓库
[root@centos6 ~]#rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd <-- 服务名称
…中间省略…
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub <-- 共享文件存放路径
2.启动ftp服务
以下两种方法均可
[root@centos6 ~]#/etc/rc.d/init.d/vsftpd start <-- 路径名
Starting vsftpd for vsftpd: [ OK ]
[root@centos6 ~]#service vsftpd start <-- service指令
Starting vsftpd for vsftpd: [ OK ]
3.设置开机自启动
[root@centos6 ~]#chkconfig vsftpd on
2)配置http服务
1.安装httpd包
[root@centos6 ~]#yum -y install httpd <-- 利用配置过的yum仓库
[root@centos6 ~]#rpm -ql httpd
/etc/httpd
…中间省略…
/etc/rc.d/init.d/htcacheclean
/etc/rc.d/init.d/httpd <-- 服务名称
…中间省略…
/var/www/html <-- 共享文件存放路径
…后面省略…
2.启动http服务
[r
oot@centos6 ~]#cd /etc/httpd/conf.d/
[root@centos6 conf.d]#mv welcome.conf welcome.conf.bak <-- 重命名welcome.conf文件,否则通过http访问不到/var/www/html共享文件夹
[root@centos6 ~]#/etc/rc.d/init.d/httpd start <-- 路径名
Starting httpd: [ OK ]
[root@centos6 ~]#service httpd start <-- service指令
Starting httpd: [ OK ]
3.设置开机自启动
[root@centos6 ~]#chkconfig httpd on
三、关闭防火墙服务
[root@centos6 ~]#service iptables stop <-- 关闭服务
[root@centos6 ~]#chkconfig iptables off <-- 禁止开机启动
四、拷贝目标文件到共享目录
1.ftp服务的共享目录是/var/ftp/pub
[root@centos6 /]#cd /var/ftp/pub
[root@centos6 6]#mkdir 6 <-- 创建以版本号命名的文件夹
[root@centos6 6]#cp -r /misc/cd/Packages <-- 从光盘拷贝包文件
[root@centos6 6]#cp -r /misc/cd/repodata <-- 从光盘拷贝元数据
[root@centos6 6]#ls
Packages repodata
通过浏览器访问ftp://192.168.196.132,已经可以访问共享文件了 <– 本机IP192.168.196.132
2.同样方法可以把rpm包拷贝到http服务的共享目录下/var/www/html 还有另外一种方法就是把目录/var/ftp/pub挂载到目录/var/www/html,这样通过http访问/var/www/html相当于访问/var/ftp/pub,我们就省去了重复复制的操作
[root@centos6 ~]#mount /var/ftp/pub /var/www/html -B
通过浏览器访问http://192.168.196.132,已经可以访问共享文件了
五、yum客户端的配置
1.修改yum配置文件
[root@centos6 ~]#vi /etc/yum.repos.d/centos.repo
[ftpbase]
name=ftp yum base
baseurl=ftp://192.168.196.132/pub/$releasever
gpgcheck=0
enabled=1
两个只写其一也可,搭好了哪个服务就写哪个
[httpbase]
name=http yum base
baseurl=http://192.168.196.132/$releasever
gpgcheck=0
enabled=1
2.清理缓存
[root@centos6 ~]#yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: ftpbase httpbase
Cleaning up Everything
Cleaning up list of fastest mirrors
3.创建缓存
[root@centos6 ~]#yum makecache
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
ftpbase | 4.0 kB 00:00
ftpbase/group_gz | 226 kB 00:00
ftpbase/filelists_db | 6.3 MB 00:00
ftpbase/primary_db | 4.7 MB 00:00
ftpbase/other_db | 2.8 MB 00:00
httpbase | 4.0 kB 00:00
httpbase/group_gz | 226 kB 00:00
httpbase/filelists_db | 6.3 MB 00:00
httpbase/primary_db | 4.7 MB 00:00
httpbase/other_db | 2.8 MB 00:00
Metadata Cache Created
4.列出yum仓库
[root@centos6 ~]#yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status
ftpbase ftp yum base 6,696
httpbase http yum base 6,696
repolist: 13,392
结果可以看出,网络yum源已经创建成功,可以通过http或者ftp服务访问了
六、第三方的软件仓库的配置
上面是以发行版光盘为rpm包的来源,提供了元数据repodata,假如我们想要分享第三方的软件,就必须使用createrepo命令来生成所需的repodata
[root@centos6 6]#cd /var/ftp/pub/6 <--cd到Package所在目录
[root@centos6 6]#mv repodata /root/ <--移走已有repodata
[root@centos6 6]#createrepo ./ <--创建元数据
Spawning worker 0 with 3206 pkgs <--rpm包数小于6696是由于我们只拷贝一张光盘上的rpm包
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@centos6 6]#ls
Packages repodata
来测试一下yum源
[root@centos6 6]#yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: ftpbase httpbase
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@centos6 6]#yum makecache
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
ftpbase | 2.9 kB 00:00
ftpbase/filelists_db | 3.3 MB 00:00
ftpbase/primary_db | 2.5 MB 00:00
ftpbase/other_db | 1.4 MB 00:00
httpbase | 2.9 kB 00:00
httpbase/filelists_db | 3.3 MB 00:00
httpbase/primary_db | 2.5 MB 00:00
httpbase/other_db | 1.4 MB 00:00
Metadata Cache Created
[root@centos6 6]#yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status
ftpbase ftp yum base 3,206
httpbase http yum base 3,206
repolist: 6,412
yum源配置成,而且手动生成的repodata能正确反映rpm包的实际数目了!
原创文章,作者:ffu,如若转载,请注明出处:[http://www.178linux.com/78133]