设为首页 收藏本站
查看: 1044|回复: 0

[经验分享] Centos 7.5下配置本地YUM

[复制链接]

尚未签到

发表于 2019-4-17 16:27:59 | 显示全部楼层 |阅读模式
yum 是基于 RPM 包管理,能够自动解决依赖关系,极⼤的方便rpm包的安装升级
  1、 联网获取软件
  2、 基于RPM管理
  3、 自动解决依赖
  4、 命令简单好记
  5、 生产最佳实践
1、 YUM软件仓库管理
1.1 本地YUM仓库
  有时候你的Linux系统不能联网,当然就不能很便捷的使用联网的yum源了,这时候就需要你自己会利用Linux系统光盘制作一个yum源。具体操作步骤如下:
  1. 挂载镜像光盘
  [root@yum ~]# mount /dev/sr0 /mnt/

  2. 备份原有的仓库
  [root@yum ~]# gzip /etc/yum.repos.d/*

  3. 创建新的仓库文件,并加入如下内容
  3.1 使用yum-config-manager命令添加本地仓库(方法一)
[root@yum ~]# yum-config-manager --add-repo=file:///mnt
  3.2 手动添加repo配置文件(方法二)
  [root@yum ~]# vim /etc/yum.repos.d/local.repo
  [local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
  注释:
  []                      //仓库名称
name              //仓库描述信息
baseurl           //YUM源url地址 ,可以是file://
ftp:// http://
enabled         //是否激活该YUM源(0代表禁⽤用,1代表激活,默认为激活)
gpgcheck       //安装软件时是否检查签名(0代表禁⽤用,1代表激活)

  4. 刷新repos生成缓存
  [root@yum ~]# yum makecache
  5. 安装软件测试
[root@yum ~]# yum -y install zsh
1.2 网络YUM仓库
  阿里镜像站点网络yum源配置:
  Base源:
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  epel扩展源:
  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
1.3 官方YUM仓库
  1. Nginx官方源: (需要将“$releasever”,改为你的系统版本)
  [root@yum ~]#vim /etc/yum.d/nginx.repo
  [nginx-stable]
  name=nginx stable repo
  baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
  gpgcheck=1
  enabled=1
  gpgkey=https://nginx.org/keys/nginx_signing.key
  2. Zabbix官方源
  rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
  3. Mysql官方源
  rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
1.4 红帽配置Centos仓库
  1. 卸载红帽yum源
  [root@yum ~]#rpm -e $(rpm -qa|grep yum) --nodeps
  2. 删除所有repo相关文件
  [root@yum ~]#rm -rf /etc/yum.conf
  [root@yum ~]#rm -rf /etc/yum.repos.d/
  [root@yum ~]#rm -rf /var/cache/yum
  3. 下载centos相关yum组件
  [root@yum ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-154.el7.centos.noarch.rpm
  [root@yum ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  [root@yum ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-42.el7.noarch.rpm
  [root@yum ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-42.el7.noarch.rpm
  [root@yum ~]# wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-42.el7.noarch.rpm
  4. 安装所有相关组件
  [root@yum ~]# rpm -ivh yum-*
  5. 下载base和epel仓库
  [root@yum ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  [root@yum ~]# sed -i 's#\$releasever#7#g' /etc/yum.repos.d/CentOS-Base.repo
  [root@yum ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  6. 生成yum缓存
  [root@yum ~]#yum makecache
2、 YUM软件命令管理
2.1 搜索软件包指令
  1. 列出软件仓库中可用的软件
  [root@yum ~]# yum list
  2. 进行模糊查找
  [root@yum ~]# yum list|grep ftp
  3. 列出软件包详情
  [root@yum ~]# yum info ftp
2.2 安装软件包指令
  1. 安装软件只需要给出软件名称
  [root@yum ~]# yum-y install traceroute
  2. 安装过程中分析依赖关系后, 直接安装, 无需交互
  [root@yum ~]# yum  -y install php
  3. 安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖(非来⾃.repo定义的软件仓库)
  [root@yum ~]#  yum -y localinstall /mnt/Packages/bind-9.9.4-61.el7.x86_64.rpm
  4. 安装网络上rpm包
  [root@yum ~]# yum – y  install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
2.3 重装软件包指令
  1. 检查软件是否存在
  [root@yum_server_1_232 ~]# rpm -qa vsftpd
  vsftpd-3.0.2-25.el7.x86_64
  2. 检查vsftpd软件配置文件
  [root@yum ~]# rpm -qc vsftpd
  /etc/logrotate.d/vsftpd
  /etc/pam.d/vsftpd
  /etc/vsftpd/ftpusers
  /etc/vsftpd/user_list
  /etc/vsftpd/vsftpd.conf
  3. 不⼩心删除vsftpd配置文件
  [root@yum ~]# rm -f /etc/vsftpd/vsftpd.conf
  4. 重新安装软件
  [root@yum ~]# yum  -y reinstall vsftpd
  5. 再次检查
  [root@yum ~]# rpm -qc vsftpd
  /etc/logrotate.d/vsftpd
  /etc/pam.d/vsftpd
  /etc/vsftpd/ftpusers
  /etc/vsftpd/user_list
  /etc/vsftpd/vsftpd.conf
2.4 更新软件包指令
  1. 对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
  [root@yum ~]# yum check-update
  2. 更新软件
  [root@yum ~]# yum -y update acl
2.5 删除软件包指令
  1. 先安装一个samba软件
  [root@yum ~]# yum -y install samba
  2. 删除该软件包,不会删除依赖, 但是我们尽可能不要使用删除软件操作
  [root@yum ~]# yum -y erase samba
  [root@yum ~]# yum -y remove samba
2.6 仓库相关指令
  1. 列出yum源可用的软件仓库
  [root@yum ~]# yum repolist
  2. 列出全部yum源可用和禁用的仓库
  [root@yum ~]# yum repolist all
  3. 查看这个文件或命令属于哪个包
  yum provides /etc/my.cnf
  yum provides cd
2.7 缓存相关指令
  1. 缓存yum源软件仓库, xml元数据文件
  [root@yum ~]# yum makecache
  2. 缓存软件包, 修改yum全局配置文件
  [root@yum ~]# vim /etc/yum.conf
  [main]
  cachedir=/var/cache/yum/$basearch/$releasever
  keepcache=1 //启动缓存
  3. 查看缓存的xml文件
  [root@yum ~]# ls /var/cache/yum/x86_64/7/base/
  4. 查看缓存软件包路径
  5. [root@yum ~]# /var/cache/yum/x86_64/7/
  #另一种缓存rpm包方式
  6. 安装插件支持只下载软件包安装
  [root@yum ~]# yum install -y yum-plugin-downloadonly
  7. 将软件下载至指定目录
  [root@yum ~]# yum install httpd -y --downloadonly --downloaddir=/tmp
  8. 清除所有yum缓存
  [root@yum ~]# yum clean all
  9. 只清除缓存的软件包
  [root@yum ~]# yum clean packages
2.8 包组相关指令
  1. 列出已经安装和所有可使用的软件组
  [root@yum ~]# yum groups list
  2. 安装一整个组的软件
  [root@yum ~]# yum groups install Development tools Compatibility libraries \
  Base Debugging Tools
  3. yum删除包组
  [root@yum ~]# yum groups remove -y Base
2.9 历史记录指令
  1. 查看历史执行yum命令
  [root@yum ~]# yum history
  2. 查询历史执行yum命令ID详细信息
  [root@yum ~]# yum history info N
  3. 撤销历史执行过的yum命令
  [root@yum ~]# yum history undo N
2.10 全局配置⽂文件
  vim /etc/yum.cnf
  cachedir=/var/cache/yum/$basearch/$releasever //缓存目录
  keepcache=0 //缓存软件包, 1启动 0 关闭
  debuglevel=2 //调试级别
  logfile=/var/log/yum.log //日志记录位置
  exactarch=1 //检查平台是否兼容
  obsoletes=1 //检查包是否废弃
  gpgcheck=1 //检查来源是否合法,需要有制作者的公钥信息
  plugins=1 //是否启用查询
  installonly_limit=5
  bugtracker_url
  # metadata_expire=90m //每小时手动检查元数据
  # in /etc/yum.repos.d //包含repos.d目录
3、 构建企业YUM仓库
  一、环境拓扑图

  软件仓库包含以下:
  1.本地光盘提供基础软件包 Base
  2.yum缓存提供 update 软件包
  3.yum缓存提供常用软件包: nginx ,  docker
  二、环境准备:
操作系统

IP地址

角色

主机名

Centos7.5_x86_64

192.168.1.232/24

Yum仓库服务端

yum_server_1_232

Centos7.5_x86_64

192.168.1.233/24

Yum仓库客户端

yum_client_1_233

  三、服务端配置:
  1. 基础环境准备
  1.1关闭防火墙
  [root@yum_server_1_232 ~]# systemctl stop ebtables firewalld
  1.2临时关闭selinux
  [root@yum_server_1_232 ~]# setenforce 0
  1.3安装ftp服务,启动并加入开机启动
  [root@yum_server_1_232 ~]# yum -y install vsftpd
  [root@yum_server_1_232 ~]# systemctl start vsftpd
  [root@yum_server_1_232 ~]# systemctl enable vsftpd
  1.4开启yum缓存功能 把keepcache=0 改为keepcache=1
  [root@yum_server_1_232 ~]# vim /etc/yum.conf
  [main]
  cachedir=/var/cache/yum/$basearch/$releasever
  keepcache=1

  [root@yum_server_1_232 ~]# yum clean all
  2. 提供基础base源
  [root@yum_server_1_232 ~]# mkdir /var/ftp/centos75
  [root@yum_server_1_232 ~]# mount /dev/cdrom /mnt/
  [root@yum_server_1_232 ~]# cp -rp /mnt/Packages/* /var/ftp/centos75/
  3. 提供第三方源
  3.1安装nginx docker软件
  [root@yum_server_1_232 ~]# yum -y install nginx docker
  3.2复制已缓存的 Nginx docker 及依赖包 到⾃自定义 YUM 仓库⽬目录中
  [root@yum_server_1_232 ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/centos75 \;
  3.3查看/var/ftp/centos75/目录下拷贝的缓存文件
  [root@yum_server_1_232 ~]# ls /var/ftp/centos75/ |grep nginx
nginx-1.12.2-2.el7.x86_64.rpm
nginx-all-modules-1.12.2-2.el7.noarch.rpm
nginx-filesystem-1.12.2-2.el7.noarch.rpm
nginx-mod-http-geoip-1.12.2-2.el7.x86_64.rpm
nginx-mod-http-image-filter-1.12.2-2.el7.x86_64.rpm
nginx-mod-http-perl-1.12.2-2.el7.x86_64.rpm
nginx-mod-http-xslt-filter-1.12.2-2.el7.x86_64.rpm
nginx-mod-mail-1.12.2-2.el7.x86_64.rpm
nginx-mod-stream-1.12.2-2.el7.x86_64.rpm
pcp-pmda-nginx-3.12.2-5.el7.x86_64.rpm
[root@yum_server_1_232 ~]# ls /var/ftp/centos75/ |grep docker
docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64.rpm
docker-client-1.13.1-94.gitb2f74b2.el7.centos.x86_64.rpm
docker-common-1.13.1-94.gitb2f74b2.el7.centos.x86_64.rpm
[root@yum_server_1_232 ~]#

  4. 安装createrepo并创建reopdata仓库
  4.1 安装createrepo
  [root@yum_server_1_232 ~]# yum -y install createrepo

  4.2 生成仓库信息
  [root@yum_server_1_232 ~]# createrepo /var/ftp/centos75/

  注意: 如果此仓库每次新增软件则需要重新生成一次
  四、客户端使用yum源:
  1. 配置 客户端指向本地centos75源
  [root@yum_client_1_233 ~]# vim /etc/yum.repos.d/local.repo
  [local_yum]
name=local_yum_base
baseurl=ftp://192.168.1.232/centos75/
enabled=1
gpgcheck=0

  2. 生成yum缓存
  [root@yum_client_1_233 ~]# yum makecache

  3. 安装nginx软件测试
  [root@yum_client_1_233 ~]# yum –y install nginx




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828339-1-1.html 上篇帖子: 1.2 centOS 7的安装 下篇帖子: Linux Centos7 下安装Mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表