在linux下的我们可以使用软件管理RPM和YUM来进行软件的安装与升级。在用RPM进行软件安装时会遇到软件之间的依赖关系问题,在安装过程通过手动解决依赖关系与兼容的问题会比较麻烦。而解决RPM属性依赖的方法就是采用YUM工具来进行软件的自动安装和自动升级,整个过程都是全自动方式进行无需用户干预,只需输入安装命令,系统会取得CentOS放置在YUM的服务器内的软件相关性的清单列表然后分析这些软件的依赖属性,通过清单列表的数据与本机RPM数据库/var/cache/yum的软件数据相比较,就能够安装所需要的依赖属性的软件。
虽然CentOS提供了在线YUM源下载,但可能会由于网络环境的限制,导致软件安装耗时过长甚至失败,这时我们有必要利用本地或第三方的YUM源来优化整个的YUM下载环境。
1.环境搭建准备
搭建基于YUM服务器环境需要临时关闭系统防火墙
[root@centos7 ~]# systemctl disable firewalld.service
查看iptables列表是否停止访问策略
[root@centos7 ~]# iptables -vnL
由于SELinux,有些Linux系统上应用程序运行时会被拒绝,会导致实验进行无法进行,所以我们将vim /etc/selinux/config,设置为SELINUX=permissive。
[root@centos7 ~]# vim /etc/selinux/config
SELINUX=permissive
[root@centos7 ~]# setenforce 0 表示关闭selinux防火墙
[root@centos7 ~]# getenforce 验证是否生效
搭建环境准备好后就进入到实验步骤:
1、安装ftp服务包
[root@centos7 ~]# rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
Preparing... ################################# [100%]
package vsftpd-3.0.2-21.el7.x86_64 is already installed
[root@centos7 ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
查看vsftpd是否安装成功
[root@centos7 ~]# systemctl start vsftpd 启动ftp服务
ss -tnl 命令确认ftp是否正常开启
[root@centos7 ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22
LISTEN 0 32 :::21
2、准备CentOS 6,7 YUM源 系统安装包
在YUM服务器/var/ftp/pub/下分别建立6, 7目录用于放置安装包
[root@centos7 ~]# mkdir -p /var/ftp/pub/centos/{6,7} 分别建立存放目录
[root@centos7 ~]# tree /var/ftp/pub/centos/
/var/ftp/pub/centos/
├── 6
└── 7
将系统安装盘安装包分别cp 到指定目录
[root@centos7 ~]# cp -r /run/media/root/CentOS\ 7\ x86_64/* /var/ftp/pub/centos/7
[root@centos7 ~]# cp -r /run/media/root/CentOS\ 6\ x86_64/* /var/ftp/pub/centos/6
3、 客户端配置
在客户端修改repo源仓库以致能正确获取搭建服务器的YUM源仓库
[root@centos6 ~ 167]#vim /etc/yum.repos.d/base.repo
1 [base]
2 name=centos
3 #baseurl=file:///misc/cd/
4 baseurl=ftp://192.168.72.145/pub/centos/$releasever/ 指定YUM源仓库
5 gpgcheck=0
6 enabled=1
清除客户端缓存目录(/var/cache/yum)下的软件包及旧的headers
[root@centos6 ~ 7]#yum clean all
获取当前系统有效的repolist
[root@centos6 ~ 10]#yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status
base centos 6,706
repolist: 6,706
以上为多系统网络YUM服务器配置实验