什么是yum
YUM(全称为 Yellow dog
Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
简而言之,包管理工具。简化安装过程。
常用命令
- 列出可用的yum配置
yum repolist
- 清除所有缓冲数据
yum clean all
- 重新加载yum
yum clean all
yum makecache
- 列出所有可用的package和package组
yum list
yum list|grep xxx
- 列出一个包所有依赖的包
yum deplist httpd
- 安装相应的软件
yum install -y httpd
- 删除包
配置方法一(阿里云源)
1 安装wget
2 备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
3 下载阿里云的Centos-6.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4 重新加载yum
yum clean all
yum makecache
配置方法二(本地源)
来源:https://www.cnblogs.com/yangp/p/8506264.html
1 下载iso文件
从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。
如果是虚拟机,可在虚拟机设置界面事先配置好挂在镜像,(默认挂到/dev/cdrom)。
或者直接将安装包rz上传至服务器上。
2 创建挂载目录
3 挂载
将iso文件挂载到挂载目录。
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/iso
注:
如果有光盘镜像的话吗,可直接直接将windows上的光盘镜像插入到虚拟机的光驱中,然后将光驱挂载到一个挂载点/mnt/cdrom
mkdir -p /mnt/cdrom
mount -t
iso9660 -o ro /dev/cdrom /mnt/cdrom
镜像中,packages目录为包的存放路径。 repodata为存放包之间的依赖信息。
如何显示挂载设备不可用,可重启虚拟机试试。我恢复快照的时候,就显示不可用,恢复快照后重启下就好了,应该状态未重置的问题。
4 移除或备份Centos-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
或
rename .repo .repo.bak *
5 新建自定义源配置文件
vim /etc/yum.repos.d/CentOS-Media.repo (文件名自定义)
[base] #仓库的ID
name=CentOS-$releasever - Media #仓库的名称
baseurl=file:///mnt/iso/ #仓库的存放地址,即挂载目录
enabled=1 #开启本地更新模式 1开启 0关闭
gpgcheck=1 #代表是否进行签名校验。如果在镜像中添加了自己的包,那么签名校验不通过。所以可改为0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 # 对包进行签名校验
注:GPG在Linux上的应用主要是实现官方发布的包的签名机制。不注重安全性的话,不加也行。
解决错误:Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
https://www.cnblogs.com/liqing1009/p/9518968.html
6 重新加载yum
yum clean all
yum makecache
7 列出可用的YUM源
yum repolist
yum list | grep mysql
列出yum源中所有的软件
8 安装相应的软件
yum install -y httpd
9 编写脚本并开机自动挂载
首先,编写脚本。
centos7上操作,重启后不一定能 ll /mnt/iso能看到文件。但是yum确实能继续用。
# 首先,编写脚本。
vim /opt/shell/mymount.sh
#!/bin/bash
# 上传到虚拟机的安装包(2选1)
#mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/iso
# 挂载到虚拟机的cdrom安装包(2选1)
mount -o loop -t iso9660 /dev/cdrom /mnt/iso
# 其次,修改脚本执行权限。
chmod 777 /opt/shell/mymount.sh
# 再次,修改/etc/rc.local配置文件。
vim /etc/rc.local
# 在文件最后一行加上如下
/opt/shell/mymount.sh
#最后,重启机器测试。
init 6 或 reboot
10 添加依赖包到私有yum的repository
进入到repo目录
执行
createrepo
http://linux.51yip.com/search/createrepo
配置方法三(远程挂载目录)
本质:
通过httpd组件,将已经拷贝出来的镜像文件,暴露在网络环境下访问。
也可通过nfs-utils和rpcbind组件走局域网共享文件来实现,但是比较复杂。
方法:https://www.cnblogs.com/yangp/p/8506264.html
前提:
作为集群中负责提供源的主机,实现配置好自身的本地源。
1 安装httpd
yum install -y httpd
(httpd 是一个web服务器偏向于静态资源,而tomcat偏向动态。)
2 开启httpd
开启httpd使用浏览器访问http://192.168.0.100:80(如果访问不通,检查防火墙是否开启了80端口或关闭防火墙)
service httpd start
chkconfig httpd on 设置开机自动启动
3 YUM源配置到httpd
将YUM源配置到httpd(Apache
Server)中,其他的服务器即可通过网络访问这个内网中的YUM源了
实际上是将已挂载本地镜像的目标目录中的系统的文件都转移出去。
cp -r /mnt/iso/var/www/html/CentOS-6.7
-r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
4 取消先前挂载的镜像
umount /var/iso
取消mnt挂载后,别忘了更改配置的yum源配置
baseurl=file:///var/www/html/CentOS-6.7
5 尝试访问
浏览器中访问http://192.168.0.100/CentOS-6.7/
或 curl http://192.168.0.100/CentOS-6.7/![1.png](https://cdn.nlark.com/yuque/0/2019/png/623390/1577359434999-2ad1ead5-0d24-4a37-ae48-2346e0bbe6d6.png#align=left&display=inline&height=572&name=1.png&originHeight=572&originWidth=635&size=26484&status=done&style=none&width=635)
6 更改其它机器节点的源配置
更改其它主机节点的源配置文件,执行方法二中的 4\5\6
baseurl=http://192.168.0.100/CentOS-6.7