以centos集群为例制作yum源;
当我们采用最小安装的方式安装完Linux系统后,会发现输入常用命令显示 没有该命令,
一般做法就使用yum命令进行安装;但是yum命令也报错了,咋办? ?
Linux操作系统下的组件就好比Windows下的软件,都是为了某种功能/便利的工具。比如Windows的notepad、EditPlus等,和Linux下的vim、vi一样,本质都是文本编辑器。今儿主要讨论的Yum源,其‘源’字就好比Windows下各软件官网、360软件管家、百度网盘这类软件包资源集中地(服务端上的资源),‘Yum’则是对应的下载工具比如迅雷、百度网盘、360下载等(客户端上的下载工具)
所以yum命令报错,无非就是两个原因 yum 或者 源有问题。
制作本地yum源
如果操作系统采用的是最小安装,且没有外网,则建议做一个centos的本地yum源。
1.将系统iso文件CentOS-7-x86_64-DVD-1611.iso放在/opt/packages目录下
2./mnt/目录下创建文件夹centos7.3
#mkdir -p /mnt/centos7.3
3.将iso文件挂载到/mnt/centos7.3
mount -o loop /opt/packages/CentOS-7-x86_64-DVD-1611.iso /mnt/centos7.3
4.配置HTTPD服务(主节点)
确定是否安装httpd: rpm -qa | grep httpd
(表示已安装)
service httpd status
(表示已运行)
已安装,未运行时,执行:
service httpd start
chkconfig httpd on
5.若未安装,则执行以下步骤制作本地文件yum源,目的是安装http:
先在所有需要安装的服务器上的/etc/yum.repos.d/目录中执行:
#cd /etc/yum.repos.d/
# mkdir bak
#mv CentOS* bak/ (在yum.repos.d目录中默认匹配CentOS-base.repo文件,所以需要将其移位置)
#touch centos.repo
#vim /etc/yum.repos.d/centos.repo
写入并保存如下内容:
[localyumrepo]
name=centos
baseurl=file://mnt/centos7.3 (/mnt/centos7.3为centos安装包位置)
enabled=1
gpgcheck=0
安装httpd:
yum -y install httpd
servicehttpd restart
chkconfighttpd on
打印如下信息表示启动成功:
6.制作http本地yum源
在主节点:
#cd /etc/yum.repos.d/
#cp -r /mnt/centos7.3 /var/www/html/
#cd /var/www/html
# mv centos7.3 centos
#vim centos.repo
写入并保存如下内容
[localyumrepo]
name=centos
baseurl= http://主节点IP/centos
enabled=1
gpgcheck=0
gpgkey= http://主节点IP/centos/RPM-GPG-KEY-CentOS-7
7.在其他节点/etc/yum.repos.d中,将所有.repo文件移动都 bak/下
8.将主节点/etc/yum.repos.d目录下的centos.repo文件拷贝到其他主机的/etc/yum.repos.d目录中。
部署完成后,各个节点均能正常使用yum命令下载组件。
----------------------------------------------------------------------------------------------------------------------------------------------
在Linux操作系统下,我们需要安装某个组件的时候,基本上会有两种操作yum和rpm:
- yum-在线安装,有点类似于360软件管家的一键部署
- rpm-离线安装,等同于去其官网把软件下载到本地自己动手安装
二者最大的区别——能否自动解决依赖关系:yum在线安装,会自动下载安装所需的所有依赖组件,无需用户关注依赖关系且一步到位;而rpm则需要用户自行将所有依赖全部下载到本地并按照一定的顺序安装好以后才能安装最终所需的组件。
再说相同点,yum其实是在rpm的基础上完善了依赖关系解决方案后的组件,它的底层依然是使用rpm的一系列指令完成具体组件的安装/更新/卸载等操作,只不过对用户透明而已。