Linux网络服务之部署yum仓库
YUM仓库服务
1. yum概述
- YUM(Yellow dog Updater Modified)
- 基于RPM包(Red-Hat Package Manager红帽软件包管理器)构建的软件更新机制
- 可以自动解决依赖关系,节约日常工作中大量查找安装依赖包的时间。
- 所有软件包由集中的YUM软件仓库提供
1.1 yum的配置文件
- 主配置文件:/etc/yum.conf
[root@localhost]# /etc/yum.conf
-
仓库设置:/etc/yum.repos.d/*.repo
- 默认的yum仓库是centos官方的yum源,需要联网才可以使用
-
日志文件:/var/log/yum.log
[root@localhost yum.repos.d]# cat /var/log/yum.log #查看日志文件
2. yum命令
查询软件包
格式:
yum list [软件名] #查看
[root@localhost ~]#yum list httpd
yum info [软件名]
[root@localhost ~]#yum info httpd
yum search <关键词> #查找安装包的关键字
[root@localhost ~]#yum search ftp
yum whatprovides <关键词> #查找知道命令,不知道具体包名
[root@localhost ~]#yum whatprovides vim
yum provides <关键词> #根据命令名查找对应的软件包
[root@localhost ~]#yum provides tree
无法使用需要升级
yum upgrade -y
查询软件包组
yum grouplist <包组名>
[root@localhost ~]#yum grouplist
yum grouplist install <包组名>
[root@localhost ~]#yum grouplist install
卸载软件包:依赖关系是不会一起卸载的
yum remove [软件名]
[root@localhost ~]#
yum groupremove <包组名>
[root@localhost ~]#
[root@localhost ~]#yum history 数字 redo undo
查看历史使用记录
[root@localhost yum.repos.d]#yum history
#查看历史的使用记录,ID、登录用户、日期时间、操作等
[root@localhost yum.repos.d]#yum history undo n #可以将所有的依赖都删除 n为卸载记录的ID
[root@localhost yum.repos.d]#yum history undo 10 #卸载第十条记录中安装的软件和依赖关系
卸载错误
[root@localhost yum.repos.d]#yum history redo n #反悔卸载 n为卸载记录的ID
[root@localhost yum.repos.d]#yum history redo 2 #重新安装第二条记录中卸载的软件
更新包组
[root@localhost ~]#yum update #更新包组,加具体包名就是单个更新,不加具体包名就是全部更新
只下载不安装
- 当内网的一台主机安装某个软件包缺少依赖包时,可以先由一台可连接外网的服务器先下载依赖包,之后共享给这台主机
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径
3. 搭建仓库的方式
-
软件仓库的提供方式
- FTP服务:ftp://
- HTTP服务:http://
- 本地目录:file://
-
RPM软件包的来源
- CentOS发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
3.1 本地yum仓库搭建
[root@localhost ~]#mount /dev/sr0 /mnt #挂载
[root@localhost ~]#cd /etc/yum.repos.d
#切换到客户端指定目录
[root@localhost yum.repos.d]#mkdir bak
#建立文件夹存放网络yum仓库配置文件
[root@localhost yum.repos.d]#mv *.repo bak/
#将网络源移走,减少干扰
[root@localhost yum.repos.d]#vim local.repo
#编写本地yum仓库
[root@localhost yum.repos.d]#yum clean all
#建立网络源缓存
[root@localhost yum.repos.d]#yum makecache
#建立元数据
3.2 http内网yum仓库搭建
服务器端IP地址:192.168.8.100
客户端IP地址:192.168.8.106
服务器端 安装 http服务(可以是httpd 也可以是nginx)
[root@localhost ~]#yum install httpd -y
#安装网页软件,提供文件共享服务
[root@localhost ~]#systemctl restart httpd #重启
[root@localhost ~]#mount /dev/sr0 /var/www/html #挂载提供安装包和元数据
客户端 安装 http服务
[root@localhost ~]#cd /etc/yum.repos.d
#切换到客户端的指定目录
[root@localhost yum.repos.d]#mkdir bak
#建立文件夹存放网络yum仓库的配置文件
[root@localhost yum.repos.d]#mv *.repo bak
#将网络源移走,减少干扰
[root@localhost yum.repos.d]#vim http.repo
#编写本地yum仓库
[http]
name=http
baseurl=http://服务器的ip地址
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all
#清理缓存数据
[root@localhost yum.repos.d]#yum makecache
#建立元数据
3.3 FTP方式yum仓库搭建
服务器端IP地址:192.168.8.100
客户端IP地址:192.168.8.106
服务器端 安装 ftp服务
[root@localhost ~]#yum install vsftpd -y
#安装网页软件,提供文件共享服务
[root@localhost ~]#systemctl start vsftpd
#重启
[root@localhost ~]#mkdir /var/ftp/centos7
#新建挂载点
[root@localhost ~]#mount /dev/sr0 /var/ftp/centos7
#挂载
客户端 安装 ftp服务
[root@localhost ~]#cd /etc/yum.repos.d #切换到客户端的指定目录
[root@localhost yum.repos.d]#mkdir bak #建立文件夹存放网络yum仓库的配置文件
[root@localhost yum.repos.d]#mv *.repo bak
#将网络源移走,减少干扰
[root@localhost yum.repos.d]#vim ftp.repo
#编写本地yum仓库
[ftp]
name=ftp
baseurl=ftp://服务器的IP地址/centos7
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all
#清理缓存数据
[root@localhost yum.repos.d]#yum makecache
#建立元数据