yum简介

  Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员,手工去安装每个rpm包,使管理员在维护大量Linux服务器时更加轻松自如。特别是拥有大量Linux主机的本地网络中,构建一台源服务器可以大大缓解软件安装、升级等对lnterner的依赖。

  yum服务器搭建

  yum服务器概述

  yum软件仓库通常借助HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(Repodata),其中收集了目录下所有rpm包的头部信息。

  准备网络安装源(服务器端)

  (1)准备软件仓库目录

  光盘中的软件包拷贝CentOS6.5第一张光盘内容到本地FTP服务器匿名访问用户的根目录下

  [root@localhost ~]# cd /var/ftp/

  [root@localhost ftp]# mkdir centos6

  [root@localhost ftp]# cp -rf /media/CentOS_6.5_Final/* /var/ftp/centos6/ &

  [1] 45717

  [root@localhost ftp]# jobs

  [1]+ Done cp -i -rf /media/CentOS_6.5_Final/* /var/ftp/centos6/

  [root@localhost ksh]# cp /media/CentOS_6.5_Final/Packages/ksh-20120801-10.el6.x86_64.rpm /var/ftp/ksh/

  [root@localhost ksh]# cp /media/CentOS_6.5_Final/Packages/mksh-39-7.el6_4.1.x86_64.rpm /var/ftp/ksh/

  [root@localhost ksh]# ls

  ksh-20120801-10.el6.x86_64.rpm mksh-39-7.el6_4.1.x86_64.rpm

  未安装createrepo包需要先安装

  [root@localhost ksh]# yum -y install createrepo

  [root@localhost ksh]# createrepo -v ./

  Spawning worker 0 with 2 pkgs

  Worker 0: reading ksh-20120801-10.el6.x86_64.rpm

  Worker 0: reading mksh-39-7.el6_4.1.x86_64.rpm

  Workers Finished

  Gathering worker results

  Saving Primary metadata

  Saving file lists metadata

  Saving other metadata

  Generating sqlite DBs

  Starting other db creation: Thu May 31 18:20:51 2018

  Ending other db creation: Thu May 31 18:20:51 2018

  Starting filelists db creation: Thu May 31 18:20:51 2018

  Ending filelists db creation: Thu May 31 18:20:51 2018

  Starting primary db creation: Thu May 31 18:20:51 2018

  Ending primary db creation: Thu May 31 18:20:51 2018

  Sqlite DBs complete

  [root@localhost ksh]# ls

  ksh-20120801-10.el6.x86_64.rpm mksh-39-7.el6_4.1.x86_64.rpm repodata

  安装并启动vsftpd服务(详见FTP服务内容)

  [root@localhost ksh]# service vsftpd restart

  关闭 vsftpd: [确定]

  为 vsftpd 启动 vsftpd: [确定]

  [root@localhost ksh]# chkconfig vsftpd on

  [root@localhost ksh]# chkconfig vsftpd --list

  vsftpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

  配置yum软件仓库位置(客户机端)

  典型仓库配置

  内网YUM源

  [root@n2 ~]# cd /etc/yum.repos.d/

  [root@n2 yum.repos.d]# ls

  CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo

  [root@n2 yum.repos.d]# mkdir bak

  [root@n2 yum.repos.d]# mv *o ./bak/

  [root@n2 yum.repos.d]# ls

  bak

  [root@n2 yum.repos.d]# vim amber.repo

  [yum]

  name=centos 6.5

  baseurl=ftp://192.168.28.128/centos6/

  gpgcheck=0

  enabled=1

  [ksh]

  name=ksh

  baseurl=ftp://192.168.28.128/ksh/

  gpgcheck=0

  enabled=1

  ~

  [root@n2 ~]# yum -y clean all

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Cleaning repos: ksh yum

  Cleaning up Everything

  Cleaning up list of fastest mirrors

  [root@n2 ~]# yum makecache

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Determining fastest mirrors

  ksh | 2.9 kB 00:00

  ksh/filelists_db | 1.1 kB 00:00

  ksh/primary_db | 3.3 kB 00:00

  ksh/other_db | 2.2 kB 00:00

  yum | 4.0 kB 00:00

  yum/group_gz | 220 kB 00:00

  yum/filelists_db | 5.8 MB 00:00

  yum/primary_db | 4.4 MB 00:00

  yum/other_db | 2.7 MB 00:00

  Metadata Cache Created

  查看yum缓存是否生成

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/

  base extras ksh timedhosts.txt updates yum

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/yum/

  0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite

  594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite

  ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz

  cachecookie

  fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite

  gen

  packages

  repomd.xml

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/ksh

  046862454d1aa798eb72c70668a54e25905c276a613fd0cc15abdf13fc20d6de-filelists.sqlite

  38c945c0799d8cfb481c6145b8c227b1f2ef91100f3b7bc8cad97645594f4643-primary.sqlite

  cachecookie

  fe7ae063ad2b6e2c4bcdbc676581ac33eb74c0645132fb0c4bac78f24300ffb5-other.sqlite

  packages

  repomd.xml

  测试

  [root@n2 ~]# yum -y install dhcp

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Loading mirror speeds from cached hostfile

  Setting up Install Process

  Resolving Dependencies

  --> Running transaction check

  ---> Package dhcp.x86_64 12:4.1.1-38.P1.el6.centos will be installed

  --> Finished Dependency Resolution

  Dependencies Resolved

  ========================================================================================================================================================

  Package Arch Version Repository Size

  ========================================================================================================================================================

  Installing:

  dhcp x86_64 12:4.1.1-38.P1.el6.centos yum 817 k

  Transaction Summary

  ========================================================================================================================================================

  Install 1 Package(s)

  Total download size: 817 k

  Installed size: 1.9 M

  Downloading Packages:

  dhcp-4.1.1-38.P1.el6.centos.x86_64.rpm | 817 kB 00:00

  Running rpm_check_debug

  Running Transaction Test

  Transaction Test Succeeded

  Running Transaction

  Warning: RPMDB altered outside of yum.

  Installing : 12:dhcp-4.1.1-38.P1.el6.centos.x86_64 1/1

  Verifying : 12:dhcp-4.1.1-38.P1.el6.centos.x86_64 1/1

  Installed:

  dhcp.x86_64 12:4.1.1-38.P1.el6.centos

  Complete!

  注意;因为ksh包在光盘中存在,所以需先修改repo文件后重建yum缓存再进行安装测试,否则安装的是光盘中的包。

linux 搭建局域网YUM源仓库服务器的更多相关文章

  1. Linux搭建局域网yum源和后期在yum源中更新rpm包方法

    在内网中搭建自己的yum源,可以方便在内网中使用,下面简单介绍搭建局域网yum源的方法和后期更新yum源rpm包的方法. 一.搭建局域网yum源 1.需要在局域网访问,首先需要一个web服务器,比如a ...

  2. 97、配置yum源仓库服务器

    (服务端(双(外,内)网卡)--客户端(内网)) YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统, 就需要有一个包含各种r ...

  3. 使用光盘无网络搭建本地yum源仓库

    目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...

  4. Linux搭建私有yum源

    一.前期准备 环境:CentOS 8.3 镜像: CentOS-7-x86_64-Everything-2009.iso CentOS-8.3.2011-x86_64-dvd1.iso 二.搭建步骤 ...

  5. RHEL6搭建网络yum源仓库

    RHEL的更新包只对注册用户生效,所以需要自己手动改成Centos的更新包 一.查看rhel本身的yum安装包 rpm -qa | grep yum 二.卸载这些软件包 rpm -qa | grep ...

  6. CentOS 7搭建本地yum源和局域网yum源

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

  7. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  8. Centos 7 局域网 yum 源搭建

    一.需求及实现方式介绍: 需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如:openstack)后,如果过一段时间想扩展集群时发现软件版本早已迭代更新,安装后导致和现有环境或多或少不兼容, ...

  9. 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1   ...

随机推荐

  1. final,finally,finalize之间的区别。

    fianl:可以修饰类.变量.方法.修饰类不能被继承,修饰变量只能赋值一次,修饰方法不能被重写. finally是try语句体中的一个语句体,不能单独使用,用来释放资源. finalize()是在ja ...

  2. 从零搭建一个简单的webpack环境

    1.npm Init 2.创建webpack.config.js文件,并配置入口和出口 3.Package.json的script中配置命令对应的操作 .安装webpack-dev-server 模块 ...

  3. Vue学习之组件切换及父子组件小结(八)

    一.组件切换: 1.v-if与v-else方式: <!DOCTYPE html> <html lang="en"> <head> <met ...

  4. SpringCloud之监控数据聚合Turbine

    前言 SpringCloud 是微服务中的翘楚,最佳的落地方案. 使用 SpringCloud 的 Hystrix Dashboard 组件可以监控单个应用服务的调用情况,但如果是集群环境,可能就 不 ...

  5. iOS 关于NavigationController返回的一些笔记

    1.理解NavigationController返回机制 一般NavigationController下的子view只有一层或者有很多层,子view返回最顶层则可以直接用 [self.navigati ...

  6. shell脚本返回值问题

    如果学习过高级语言比如java和c语言等,此时你要是获取一个函数的返回值,直接在函数里面写上return即可,然后在函数执行时将返回结果赋值给某个变量即可.但是在shell脚本中限制较多,因此如果我们 ...

  7. 攻防世界高手进阶之Web_python_block_chain(2018年DDCTFmini blockchain)

    打开题目大概看了一下,是有关区块链的题目, 感觉代码要格式化一下,不然没法看 代码格式化站点:https://www.html.cn/tool/js_beautify/ hash of genesis ...

  8. Python 基础-> 字符串,数字,变量

    Python 基础:字符串,数字,变量 1. 字符串 (信息的一种表达方式) a. 使用引号创建字符串 b. 单引号,双引号,三引号: ', ", ''', ""&quo ...

  9. C#常用的图片处理方法-图片剪切、图片压缩、多图合并代码

    /// <summary> /// 图片转成圆角方法二 /// </summary> private Bitmap WayTwo(Bitmap bitmap) { //usin ...

  10. Matplotlib同时绘制多张图片

    我现在有一组图片,一共100张图片,每张大小是200*200,即imgs.shape=100*200*200*3 (注意通道数在最后一维). 我需要同时绘制这100张图片,而且每张图片需要写上对应的名 ...