一、搭建前言
很多公司都有自己搭建的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是系统管理员常用的任务,这使得系统能够通过yum命令方便地安装和更新软件包,同时GCC作为编译器,是开发和编译C/C++程序的基础。以下将详细阐述如何在空白的Linux系统上...
Linux搭建YUM仓库源详解 说明:实验环境是由rchel7.5版本搭建。 一、基于ISO镜像构建YUM本地源 1、首先将光驱ISO镜像连接到虚拟机上,挂载到目录/mnt上。(挂载目录自己可定义) [root@localhost ~]# mount /dev/sr0...
### 创建本地Yum仓库 在Linux环境中,尤其是CentOS系统中,经常需要通过Yum工具进行软件包的安装与管理。然而,在某些情况下,由于网络限制或其他原因,可能无法访问远程的Yum仓库。这时,就需要创建一个本地的Yum...
### Linux 创建本地 YUM 源详解 #### 一、前言 在 Linux 系统中,YUM(Yellow dog Updater Modified)是一款强大的包管理工具,它支持自动下载 RPM 包并解决软件包间的依赖关系。对于网络环境受限的情况,如内部...
3. 配置Yum仓库,这可能需要创建一个新的`repo`文件在`/etc/yum.repos.d/`目录下,包含仓库的路径和描述。 4. 更新Yum缓存以识别新的仓库,使用`yum makecache`命令。 5. 最后,通过`yum install`命令安装指定的包。...
在安装 vsftpd 服务之前,我们需要安装 createrepo 软件,以便创建 yum 库文件。然后,我们需要将光盘中的所有文件拷贝到 /var/ftp/pub 目录下,并安装 createrepo 软件。 3. vsftpd 服务安装完成后 在 vsftpd ...
本文将详细介绍如何在Linux系统中构建这样一个本地YUM仓库,并实现通过网络分享给局域网内的其他服务器使用。 #### 二、准备工作 1. **硬件与软件准备**: - 一台运行CentOS 6.7的服务器。 - CentOS-6.7-x86_64-...
【基于Redhat Linux构建YUM仓库】 在Linux操作系统中,特别是Redhat Linux系统,YUM(Yellow dog Updater, Modified)仓库是一种强大的工具,用于管理和更新RPM(Red Hat Package Manager)软件包。RPM包是Linux...
2. 为了解决依赖问题,你可以先创建一个本地yum仓库。这通常涉及到创建一个目录结构,然后将`.rpm`文件放到对应的子目录下。例如,创建一个名为`myrepo`的目录,并在其中创建`/myrepo/repodata`子目录。接着,运行`...
### yum仓库配置详解 #### 一、理解yum及其仓库配置的重要性 `yum`(Yellow dog Updater Modified)是Linux发行版中的一个强大的包管理器,主要用于RHEL(Red Hat Enterprise Linux)、CentOS、Fedora等基于RPM包...
在Linux系统中,`yum`(Yellowdog Updater, Modified)是基于RPM包管理的命令行工具,用于安装、更新、卸载软件包。它依赖于Python解释器来运行,因此确保系统的Python版本与`yum`兼容至关重要。在本案例中,我们...
在这种情况下,为了方便管理和维护这些服务器,我们需要在局域网内搭建一个YUM仓库,以实现内网中的软件安装。YUM(Yellowdog Updater, Modified)是Red Hat、CentOS等Linux发行版中常用的一款包管理器,它能够自动...
### Linux YUM 手册详解 #### 一、引言 在Linux环境下,软件包管理是维护系统稳定性和功能性的重要组成部分。Red Hat Enterprise Linux (RHEL) 作为一款广泛使用的Linux发行版,提供了多种工具来简化软件包管理...
### 本地YUM仓库搭建详解 #### 概述 在企业内部网络环境中,为了提高安全性与网络效率,通常会搭建本地YUM仓库。这样可以避免因外网不稳定或带宽限制导致的安装软件延迟问题,并且能有效降低对外部网络的依赖。...
### RedHat Linux RHEL6配置本地YUM源详解 #### YUM简介 YUM(Yellowdog Updater Modified)是一款在Linux环境下使用的包管理工具。它最初由Yellow Dog Linux的开发者们设计并实现,名为yup(Yellowdog Updater)。...
1. **本地YUM仓库配置**:创建`/etc/yum.repos.d/local.repo`文件,并在其中定义仓库信息。例如: ```ini [Local] name=Local Repository baseurl=file:///media enabled=1 gpgcheck=0 ``` 其中,`name`为...
Linux系统下YUM仓库的配置与搭建 Linux 操作系统中,YUM(Yellow dog Updater, Modified)是一个基于RPM包管理器的软件管理器,能够自动解析依赖关系,简化软件的安装和升级过程。在 Linux 系统下,YUM 仓库的配置...
这里,`/software` 目录用于存放原始的ISO镜像文件,而 `/var/yum` 将作为YUM仓库的根目录。 #### 四、复制镜像文件至指定目录 接下来,将Red Hat Enterprise Linux Server 6.8的DVD ISO镜像文件解压,并将其中的...
首先,我们需要进入`/etc/yum.repos.d`目录,这是存放yum仓库配置文件的默认位置。在这个目录中,通常会看到多个`.repo`后缀的文件,每个文件对应一个不同的仓库源。给定内容中的示例展示了如何创建并配置三个不同的...