自家的yum仓库谁用谁方便~快来学习啊!yum仓库搭建

YUM仓库

  • 导读 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

一.搭建前言

很多公司都有自己搭建的yum仓库,这样做的好处有以下几点:
1)节省流量,避免从公网重复下载软件包;为公司省钱;
2)提升下载速度;外网下载受带宽影响,下载速度较慢,而yum仓库在局域网中就很快;
3)方便统一管理,软件版本,都能做到统一;
4)避免访问外网,很多大公司,都是与公网隔绝的,尤其是大公司的类生产环境,绝对不予许随便访问外网,这是获取安装包的途径就只能通过内网yum仓库;

二.搭建前准备

1.操作系统准备

不同版本操作系统安装大体上没有差别,但是也会有影响,本实例yum仓库搭建基于如下环境:
PS: 反正我的是这么做
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6qIow30R-1575380246998)(https://blog.elephantncs.xyz/wp-content/uploads/2019/11/5a43c88a401735efc78dc3f492ff4c83.png)]

2.关闭防火墙和selinux

  • 安装前一定要关闭防火墙和Selinux,否则会失败,出现异常。
[root@yum ~]# getenforce      #确认SELinux关闭
Disabled
[root@yum ~]# systemctl status firewalld    #确认防火墙关闭
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
   Docs: man:firewalld(1)
	 
	 
	 
1、查看SELinux状态:

getenforce
/usr/sbin/sestatus -v
如果都是disabled说明已经禁用了。


2、关闭SELinux:


vi /etc/selinux/config
设置SELINUX的值为disabled,SELINUX原来的值是enforcing。改完需要重新启动系统才能生效。

三.搭建yum仓库

  • 服务端

1.安装createrepo

  • createrepo用于生成repomd.xml。repomd.cml简单来说就是存放本地仓库rpm包的索引信息,我们的yum源就是根据这个文件来知道具体包的存放位置的

  • 首先建立一个目录用于存放安装包,然后使用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装

mkdir /warehouse
yum install createrepo -y
createrepo /warehouse/
  • 命令成功后生成一个repodata包,里面包含库文件,类似数据库建库建表一样
  • 生成Rpm仓库索引 看你自己怎么理解了

更新仓库

  • 每次加入新的rpm包,更新yum仓库

注意点:每次同步之后,要更新yum仓库,使用createrepo命令更新yum仓库,否则不会同步。

createrepo --update /warehouse/

2.本地保存rpm包

第一种方法

  • 其一:开启yum本地缓存
    -yum本地缓存后,所有通过yum安装的软件包,yum都会把rpm包保存到本地相应目录下
[root@yum ~]# vim /etc/yum.conf
[main]   
cachedir=/var/cache/yum/$basearch/$releasever    #rpm包存放路径
keepcache=1     #keepcache默认是0,不保留rpm包,改为1,则会保留rpm安装包
debuglevel=2    #Debug信息输出登记,范围为0-10,缺省为2
logfile=/var/log/yum.log   #日志文件,执行yum记录
exactarch=1       #有1和0两个选项,设置为1,则yum只会安装和系统架构匹配的软件包
obsoletes=1   #update的参数,相当于upgrade,允许更新陈旧的RPM包
gpgcheck=1    #有1和0两个选项,分别代表是否进行gpg(GNU)校验,以确定rpm包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository都有效,默认为0
plugins=1      #是否启用插件,默认为1允许,0表示不允许
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release    #指定一个软件包,yum会根据这个包判断发行版本

第二种方法

其二:通过yum命令只下载不安装
yum install  --downloadonly --downloaddir=/warehouse mysql-server.server

--downloadonly  只下载不安装
--downloaddir   指定rpm包的下载路径

3.服务端配置仓库局域网访问路径

  • 通常会在计划任务中把公网YUM源同步到本地(推荐使用reposync),同步后再执行一次createrepo更新元数据,最后把仓库目录通过FTP或者Nginx、Apache、NFS服务等共享出来,然后客户端的配置文件中修改如下:

nginx方式

yum install nginx -y
cd /etc/nginx/conf.d/
vim warehouse.conf
server {
        listen 12345;
        server_name 10.0.0.61;
        root /warehouse;
        index index.html;

        location / {
            root /warehouse;
            autoindex on;
            autoindex_localtime on;
            autoindex_exact_size off;
    }
}
systemctl restart nginx
访问网址:   http://10.0.0.61:12345/
httpn的端口80 Nginx的端口也是80 会出警告 可以改掉一个冲突端口

FTP方式

yum install vsftpd -y

systemctl start vsftpd

访问网址:  ftp://10.0.0.61/pub/

四.客户端配置

配置客户端下载指向服务端

Nginx 方式

cat /etc/yum.repos.d/warehouse.conf
[warehouse]
name=Server
baseurl=http://10.0.0.61:12345/
enable=1
gpgcheck=0
priority=1

FTP方式

cat /etc/yum.repos.d/warehouse.conf
[warehouse]
name=Server
baseurl=ftp://10.0.0.61/pub/
enable=1
gpgcheck=0
priority=1

yum 命令

	yum clean all	#清除缓存
####查看软件包
  yum list all                 ##列出yum源仓库里面的所有可用的安装包
  yum list installed           ##列出所有已经安装的安装包 
  yum list available           ##列出没有安装的安装包
 ####安装软件
  yum install softwarename      ##安装指定的软件
  yum reinstall softarename     ##重新安装指定的软件
  yum localinstall 第三方software  ##安装第三方文件并且会解决软件的依赖关系
  yum remove  softwarename  ##卸装指定的软件
 ####查找软件的信息
  yum info software         ##查看软的信息
  yum search keywords       ##根据关键字查找到相关安装包软件的信息
  yum whatprovides filename ##查找包含指定文件的相关安装包
 ####对于软件组
   yum groups list          ##列出软件组
   yum groups install       ##安装一个软件组
   yum group remove         ##卸载一个软件组
   yum groups info          ##查看一个软件组的信息
   yum list httpd           ##列出软件包
   yum search httpd         ##搜索软件包
   yum provides  /etc/my.cnf     ##查找某个特定文件属于哪个软件包
   yum grouplist            ##弹出所有可用群组
   yum  grouplist  “MySQL  Database”     ##安装群组软件包
   yum repolist             ##弹出启用的软件库 
   yum repolist all(包含禁用的软件库)    ##弹出所有软件包    
   yum –enablerepo=localinstll LNMP      ##安装来自特定软件库的软件包  
   yum –enablerepo=local –disablerepo=base.extras.updates install LNMP   ##不安装来自特定软件库的软件包
   yum clean all      ##清理yum缓存内容
   yum makecache      ##缓存本地yum源中的软件包信息
   yum history        ##查看yum历史记录  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值