`

linux yum 仓库创建

 
阅读更多
一、搭建前言
很多公司都有自己搭建的yum仓库,这样做的好处有以下几点:
1)节省流量,避免从公网重复下载软件包;为公司省钱;
2)提升下载速度;外网下载受带宽影响,下载速度较慢,而yum仓库在局域网中就很快;
3)方便统一管理,软件版本,都能做到统一;
4)避免访问外网,很多大公司,都是与公网隔绝的,尤其是大公司的类生产环境,绝对不予许随便访问外网,这是获取安装包的途径就只能通过内网yum仓库;
二、搭建前准备
2.1 操作系统版本
不同版本操作系统安装大体上没有差别,但是也会有影响,本实例yum仓库搭建基于如下环境:
[root@yum ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@yum ~]# uname -r

3.10.0-693.el7.x86_64

[root@yum ~]# uname -m

x86_64
2.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)
三、搭建yum仓库
yum仓库搭建过程:
yum仓库搭建说简单也很简单,只要注意几个细节就可以。下面会一一讲解:
第一步:安装httpd服务
[root@cobbler ~]# yum install -y httpd                 #安装httpd服务

[root@localhost yum.repos.d]# systemctl start httpd    #启动httpd服务
第二步:搭建yum仓库
yum仓库搭建需要创建yum仓库的命令,createrepo命令
[root@localhost yum.repos.d]# yum install -y createrepo    #安装createrepo命令

[root@localhost yum.repos.d]# createrepo -pdo /var/www/html/ /var/www/html/   #创建yum仓库

[root@localhost yum.repos.d]# cd /var/www/html/   #切换到yum仓库

[root@localhost html]# ls                         #查看createrepo创建yum仓库生成内容

repodata    #生成一个repodata包,里面包含库文件,类似数据库建库建表一样
第三步:最关键一步,搭建yum仓库
平时我们都喜欢使用阿里云的epel.repo源,我们可以仿照epel.repo来写我们的源
vim /etc/yum.repos.d/rural.repo

[warehouse]                           #这个是yum仓库的名字,是存放rpm包的目录,还需要我们创建,这个地方困扰我两天时间,否则即便搭建好,也会出现问题,各种依赖解决不了

name=Server

baseurl=http://10.0.0.170/rural/

enabled=1

gpgcheck=0

[root@yum ~]# mkdir /var/www/html/warehouse -p
#< ==上面创建的warehouse目录,与repodata在同一个目录下,用来存放rpm包
四、rpm包来源
搭建好yum仓库,就需要获取rpm包,这个可以从公网同步;
个人在家搭建yum仓库,喜欢从公网下载rpm包到yum仓库所在虚拟机,然后定时任务同步到/var/www/html/warehouse目录里。
同步代码如下:
[root@yum ~]# cat /server/scripts/yum.sh

#!/bin/bash

num=`find /var/cache/yum/* -name "*.rpm" |wc -l`

if [ $num -eq 0 ];then

  exit 1

else

  find /var/cache/yum/* -name "*.rpm"  -exec mv -f {} /var/www/html/warehouse/  \;

  sleep 2

  /usr/bin/createrepo --update /var/www/html/warehouse

fi
默认情况下,每次yum安装rpm包之后都会清理掉,因而是不能同步的,我们可以改yum服务的配置文件
[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仓库,使用createrepo命令更新yum仓库,否则不会同步。
以上就是yum仓库的搭建过程,其实原理很简单,就是搭建一个http服务,然后把rpm放到http服务里面,通过createrepo命令创建yum仓库,类似于数据库建库建表的过程。
搭建完毕之后,我们就可以把上面的配置文件复制到内网的机器上面,让内网机器只能从yum仓库获取rpm包。
五、yum仓库配置文件
repository部分定义了每个源服务器的具体配置,可以有一到多个,位于/etc/yum.repos.d/目录下的各文件中
[root@rural ~]# ll /etc/yum.repos.d/

CentOS-Base.repo       #< ==网络源的配置文件

CentOS-Media.repo      #<==本地源的配置文件

epel.repo              #<==第三方源的配置文件
六、yum命令
命令:
####查看软件包

  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历史记录 
特别提醒:yum仓库的rpm包每更新一次,就要执行createrepo --update进行更新

分享到:
评论

相关推荐

    linux搭建yum仓库+gcc

    在Linux环境中,构建本地YUM仓库和安装GCC是系统管理员常用的任务,这使得系统能够通过yum命令方便地安装和更新软件包,同时GCC作为编译器,是开发和编译C/C++程序的基础。以下将详细阐述如何在空白的Linux系统上...

    Linux搭建YUM仓库源详解

    Linux搭建YUM仓库源详解 说明:实验环境是由rchel7.5版本搭建。 一、基于ISO镜像构建YUM本地源 1、首先将光驱ISO镜像连接到虚拟机上,挂载到目录/mnt上。(挂载目录自己可定义) [root@localhost ~]# mount /dev/sr0...

    创建本地Yum仓库

    ### 创建本地Yum仓库 在Linux环境中,尤其是CentOS系统中,经常需要通过Yum工具进行软件包的安装与管理。然而,在某些情况下,由于网络限制或其他原因,可能无法访问远程的Yum仓库。这时,就需要创建一个本地的Yum...

    史上最通俗易懂的Linux创建本地YUM源方式

    ### Linux 创建本地 YUM 源详解 #### 一、前言 在 Linux 系统中,YUM(Yellow dog Updater Modified)是一款强大的包管理工具,它支持自动下载 RPM 包并解决软件包间的依赖关系。对于网络环境受限的情况,如内部...

    centos 和 linux 6.5 yum包

    3. 配置Yum仓库,这可能需要创建一个新的`repo`文件在`/etc/yum.repos.d/`目录下,包含仓库的路径和描述。 4. 更新Yum缓存以识别新的仓库,使用`yum makecache`命令。 5. 最后,通过`yum install`命令安装指定的包。...

    linux下yum源的搭建

    在安装 vsftpd 服务之前,我们需要安装 createrepo 软件,以便创建 yum 库文件。然后,我们需要将光盘中的所有文件拷贝到 /var/ftp/pub 目录下,并安装 createrepo 软件。 3. vsftpd 服务安装完成后 在 vsftpd ...

    linux本地yum制作

    本文将详细介绍如何在Linux系统中构建这样一个本地YUM仓库,并实现通过网络分享给局域网内的其他服务器使用。 #### 二、准备工作 1. **硬件与软件准备**: - 一台运行CentOS 6.7的服务器。 - CentOS-6.7-x86_64-...

    基于Redhat Linux构建YUM仓库.pdf

    【基于Redhat Linux构建YUM仓库】 在Linux操作系统中,特别是Redhat Linux系统,YUM(Yellow dog Updater, Modified)仓库是一种强大的工具,用于管理和更新RPM(Red Hat Package Manager)软件包。RPM包是Linux...

    c++ linux yum离线资源附安装说明

    2. 为了解决依赖问题,你可以先创建一个本地yum仓库。这通常涉及到创建一个目录结构,然后将`.rpm`文件放到对应的子目录下。例如,创建一个名为`myrepo`的目录,并在其中创建`/myrepo/repodata`子目录。接着,运行`...

    yum仓库配置详解yum list all

    ### yum仓库配置详解 #### 一、理解yum及其仓库配置的重要性 `yum`(Yellow dog Updater Modified)是Linux发行版中的一个强大的包管理器,主要用于RHEL(Red Hat Enterprise Linux)、CentOS、Fedora等基于RPM包...

    linux安装yum对应python2.7.5包

    在Linux系统中,`yum`(Yellowdog Updater, Modified)是基于RPM包管理的命令行工具,用于安装、更新、卸载软件包。它依赖于Python解释器来运行,因此确保系统的Python版本与`yum`兼容至关重要。在本案例中,我们...

    局域网搭建yum仓库,实现内网软件安装

    在这种情况下,为了方便管理和维护这些服务器,我们需要在局域网内搭建一个YUM仓库,以实现内网中的软件安装。YUM(Yellowdog Updater, Modified)是Red Hat、CentOS等Linux发行版中常用的一款包管理器,它能够自动...

    linux yum手册(包你会yum,中文)

    ### Linux YUM 手册详解 #### 一、引言 在Linux环境下,软件包管理是维护系统稳定性和功能性的重要组成部分。Red Hat Enterprise Linux (RHEL) 作为一款广泛使用的Linux发行版,提供了多种工具来简化软件包管理...

    本地yum仓库搭建

    ### 本地YUM仓库搭建详解 #### 概述 在企业内部网络环境中,为了提高安全性与网络效率,通常会搭建本地YUM仓库。这样可以避免因外网不稳定或带宽限制导致的安装软件延迟问题,并且能有效降低对外部网络的依赖。...

    RedHat Linux RHEL6配置本地YUM源

    ### RedHat Linux RHEL6配置本地YUM源详解 #### YUM简介 YUM(Yellowdog Updater Modified)是一款在Linux环境下使用的包管理工具。它最初由Yellow Dog Linux的开发者们设计并实现,名为yup(Yellowdog Updater)。...

    linux yum安装配置文档

    1. **本地YUM仓库配置**:创建`/etc/yum.repos.d/local.repo`文件,并在其中定义仓库信息。例如: ```ini [Local] name=Local Repository baseurl=file:///media enabled=1 gpgcheck=0 ``` 其中,`name`为...

    Linux系统下YUM仓库的配置与搭建.pdf

    Linux系统下YUM仓库的配置与搭建 Linux 操作系统中,YUM(Yellow dog Updater, Modified)是一个基于RPM包管理器的软件管理器,能够自动解析依赖关系,简化软件的安装和升级过程。在 Linux 系统下,YUM 仓库的配置...

    redhat linux6.8创建本地yum源

    这里,`/software` 目录用于存放原始的ISO镜像文件,而 `/var/yum` 将作为YUM仓库的根目录。 #### 四、复制镜像文件至指定目录 接下来,将Red Hat Enterprise Linux Server 6.8的DVD ISO镜像文件解压,并将其中的...

    Linux配置yum源及目录共享

    首先,我们需要进入`/etc/yum.repos.d`目录,这是存放yum仓库配置文件的默认位置。在这个目录中,通常会看到多个`.repo`后缀的文件,每个文件对应一个不同的仓库源。给定内容中的示例展示了如何创建并配置三个不同的...

Global site tag (gtag.js) - Google Analytics