自建YUM仓库

一、自建YUM仓库

当网络不好时,或者说根本链接不上官方yum仓库,以及第三方yum仓库(zabbix源)等,我们就需要自建一个yum仓库来满足我们需要。除了网络条件以外,还有我们生产环境需要发布,更新自己软件,我们可以将这些软件打包成RPM包,放到自己的仓库,然后在各个机器执行yum更新。

1.1 使用一些RPM包自建一个YUM仓库

  1. 在目录/data/yum/repo/custom准备了如下的RPM包。根据自己的需求准备RPM包

    $ pwd
    /data/yum/repo/custom
    $ tree .
    .
    ├── dos2unix-3.1-37.el6.x86_64.rpm
    └── iftop-1.0-0.21.pre4.el7.src.rpm
    
    0 directories, 2 files
  2. 创建repodata
    $ yum install -y createrepo
    $ createrepo /data/yum/repo/custom/
    Spawning worker 0 with 2 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    $ ls /data/yum/repo/custom/
    dos2unix-3.1-37.el6.x86_64.rpm  iftop-1.0-0.21.pre4.el7.src.rpm  repodata

    createrepo完成之后能够看到在/data/yum/repo/custom目录多出一个repodata目录

至此yum仓库已经搭建完成,剩下的操作为将这个仓库发布出去,让其他用户能够访问。发布的方式有http, ftp, rsync, filesystem。当发布完成之后之后,用户配置好yum源即可访问了。

二、发布我们的YUM仓库

2.1 使用HTTP方式发布

  1. 在yum仓库所在机器搭建Nginx

    $ yum install -y nginx
  2. /etc/nginx/nginx.conf内容替换成如下
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            root /data/yum/repo/custom;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }
    }
  3. 重启nginx
    $ systemctl restart nginx

此时在浏览器中访问http://your_host, 应能够看到我们yum仓库的两个包。

至此yum仓库已经发布完成,剩下需要用户配置yum源,指向自建的仓库。

三、配置yum源

这一步属于用户的操作,当用户需要使用我们的yum源时,应当做此步操作。

假定我们yum仓库的地址为http://192.168.30.10, 名称为loveshell,那么我们需要在/etc/yum.repos.d/目录下创建文件lovezsh.repo, 其内容如下:

[lovezsh]
name=lovezsh
baseurl=http://192.168.30.10
enable=1
gpgcheck=0
priority=1

然后,我们需要执行

$ yum clean all
$ yum makecache

添加完成之后我们执行yum repolist能够开到一个名叫lovezsh的yum源

$ yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.cn99.com
 * updates: mirror.bit.edu.cn
lovezsh                                                                                                                    | 2.9 kB  00:00:00
lovezsh/primary_db                                                                                                         | 2.3 kB  00:00:00
repo id                                                repo name                                                                            status
base/7/x86_64                                          CentOS-7 - Base                                                                      10,097
epel/x86_64                                            Extra Packages for Enterprise Linux 7 - x86_64                                       13,517
extras/7/x86_64                                        CentOS-7 - Extras                                                                       323
lovezsh                                                lovezsh                                                                                   2
updates/7/x86_64                                       CentOS-7 - Updates                                                                    1,115
repolist: 25,054

不同发布方式,我们需要使用不同baseurl, 如使用文件系统,则是 file:///data/yum/repo/custom

原文地址:https://blog.51cto.com/idweb/2468563

时间: 2024-08-04 18:16:51

自建YUM仓库的相关文章

【转】linux之自建yum仓库

原链接:http://www.live-in.org/archives/1410.html 平时使用yum方式安装更新软件,可以自建一个yum源,同步官方更新源,这样如果本地有机器要升级的话就可以直接使用本地的更新源了.这里系统为CentOS 6.2. 一.服务端1.安装需要的环境自建yum本地更新源可以使用http服务或ftp服务,由于ftp服务器要考虑防火墙配置,主动.被动连接模式,这里使用http服务. 安装apache: yum install httpd 配置apache过程略过. 2

yum函数介绍以及自建yum仓库

一.前言 在之前介绍了yum的配置(详细请移步 http://windchasereric.blog.51cto.com/5419433/1676777).但是有没有发现一个问题,虽然我们已将仓库指向一个可用的仓库服务器,但是随着Linux的不断升级和改版,我们是否还需要不断的去修改仓库的配置文件,如果只有一台还好,那如果我们有多台Linux系统,那么修改工作量将会很大,那么我们要怎么保证自己的仓库永远指向的是最新的仓库呢? 这就是yum函数的魅力. 二.yum函数介绍 在RPM介绍(详细请移步

VMware14演示CentOS 7在无网络连接环境下自建yum仓库解决依赖关系

引言: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 我们知道使用Yum安装软件,能够一次性解决所有依赖关系,方便快捷.但Yum安装必须在联网的情况下进行,如果没有网的情况该怎么办呢?当然,一般情况下服务器是不可能断网的,但是,多了解一点肯定是

自建yum仓库yum源

目的:搭建自己的yum源主要是解决大批量服务器下载更新人互联网带宽占用问题及速度问题以及不能访问的问题. 服务端:  步骤如下: 一.创建一个目录,就是我们yum软件存放的目录 [[email protected] /application]#mkdir -p /application/yum/centos6.8/_64 二.安装一个软件,用来生产仓库环境,名字叫createrepo yum -y install createrepo -y 三.初始化仓库目录的索引文件 [[email prot

RedHat 6.6自建yum仓库

实验步骤 1.检查系统是否安装了yum [[email protected] ~]# rpm -qa |grep yum PackageKit-yum-plugin-0.5.8-23.el6.x86_64 yum-metadata-parser-1.1.2-16.el6.x86_64 yum-utils-1.1.30-30.el6.noarch yum-3.2.29-60.el6.noarch yum-plugin-security-1.1.30-30.el6.noarch PackageKit

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载

Linux系统中程序的安装及管理、创建私有yum仓库实验

各位小伙伴今天要和大家分享的是Linux系统中程序的安装及管理,以及创建私有yum仓库的操作实验.本次我们会从以下几个部分进行说明: Linux应用程序基础 查询RPM软件包信息 安装.升级.卸载.RMP软件包.yum仓库 源代码编译安装 应用程序与系统命令的关系:1.文件位置? 系统命令:一般在/bin和/sbin目录中? 应用程序:通常在/usr/local目录中2.主要用途? 系统命令:完成对系统的基本管理工作,例如IP配置工具? 应用程序:完成相对独立的其它辅助任务,例如网页浏览3.适用

Linux自建yum源仓库

本文以自建guestfish镜像管理工具源为例: 第一步:清空本地的yum缓存,避免跟以前下载的包混淆: #yum clean all 第二步:yum下载所需要的软件包. 注:这里有两种方法可以缓存rpm包: 方法一:下载命令直接限制只下载不安装,这是下载下来的rpm包就不会被安装. #yum -y install libguestfs-tools --downloadonly #yum -y install libguestfs-winsupport --downloadonly 方法二:可以

Centos下自建本地yum仓库

Centos系统中安装软件主要有yum安装和源码安装两种,源码安装的优势在于你可以根据你的需要自定义很多安装参数,但是他有个缺点就是每次都需要执行./configure && make && make install 以及当你需要卸载某个软件的时候你可能无法完全卸载干净,于是对于大多数情况来说,yum安装就成了最好的选择.centos官方的源一般是很慢的,因为是国外的,所以你可以选择用国内一些著名的比较官方的源,比如新浪,阿里,等等,当然你还可以选择自己搭建你的yum仓库,