CentOS7 yum 源的配置与使用


YUM:Yellowdog Updater Modified 

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

yum可以检测软件间的依赖性,并提示用户解决,将发布的软件放到yum
server,然后分析这些软件的依赖关系,然后将软件相关性记录成列表。当客户端有软件安装请求时,yum客户端在yum服务器上下载记录列表,然后通
过列表信息与本机rpm数据库已安装软件数据对比,明确软件的依赖关系,能够判断出那些软件需要安装。

列表信息保存在yum客户端的/var/cache/yum中,每次yum启动都会通过校验码与yum服务器同步更新列表信息。

使用yum需要有yum repositories,用来存放软件列表信息和软件包。yum repositories可以是http站点,ftp站点,本地站点

路径格式

       ftp://hostname/PATH/TO/REPO   REPO指repodata所在路径的父目录
         http://hostname/PATH/TO/REPO 
         file:///PATH/TO/REPO    




yum配置

  • /etc/yum.conf 全局配置,对所有仓库都适用的配置
[[email protected] ~]# cat /etc/yum.conf 
[main]
#yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum
cachedir=/var/cache/yum/$basearch/$releasever

#安装完成后是否保留软件包,0为不保留(默认为0),1为保留
keepcache=0

#Debug 信息输出等级,范围为0-10,缺省为2
debuglevel=2

#yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
logfile=/var/log/yum.log

#有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包
exactarch=1

#允许更新陈旧的RPM包
obsoletes=1

#是否启用插件,默认1为允许,0表示不允许。
plugins=1

#允许保留多少个内核包
installonly_limit=5

#bug管理
bugtracker_url=
 
#指定一个软件包,yum会根据这个包判断你的发行版本,
#默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
distroverpkg=centos-release
  • /etc/yum.repos.d/*.repo 一个文件通常用于一个或一组功能相近或相关的仓库
[[email protected] yum.repos.d]# cat CentOS-Base.repo 
[base]
#[REPO_ID] 用于区别各个不同的repository,唯一性

name=CentOS-$releasever - Base name,
#name 是对repository的描述,支持像$releasever $basearch这样的变量;

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#mirrorlist指定一个镜像服务器的地址列表,将$releasever和$basearch替换成自己对应的版本和架构,
#例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。

#baseurl=

enabled = 1 
#这个选项表示这个repo中定义的源是启用的,0为禁用 

gpgcheck=1
#启用gpg的校验,确定rpm包的来源安全和完整性 0为禁止

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#定义用于校验的gpg密钥

#cost=
#cost开销,默认是1000,开销越大,优先使用级越低。
.....

注意:[REPO_ID]中不能有空格,否则报错

定义仓库指向可用变量:
     $releasever: 引用当前系统的主版本号;从[main]部分的distroverpkg获取;

$basearch: 当前系统的基本架构;i386, i486, i586, i686: i386

例如:http://mirror.centos.org/centos/$releasever/os/$basearch/

示例:配置aliyun的yum源

[[email protected] yum.repos.d]# vim CentOS-aliyun.repo
  1 [aliyun]
  2 name=CentOS-$releasever-aliyun
  3 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
  4 enabled=1
  5 gpgcheck=1
  6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  
 #列出可用yum repository 发现阿里云已经在列表中
 [[email protected] yum.repos.d]# yum repolist enabled
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.skyshe.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.pubyun.com
repo id                   repo name                            status
aliyun                    CentOS-7-aliyun                      8,652
base/7/x86_64             CentOS-7 - Base                      8,652
extras/7/x86_64           CentOS-7 - Extras                     181
updates/7/x86_64          CentOS-7 - Updates                   1,480


yum命令:

语法:yum [options] [command] [package ...]

选项:

安装: install package1 [package2] [...]

[[email protected] ~]# yum install php

卸载:remove | erase package1 [package2] [...] 卸载指定包

[[email protected] ~]# yum remove php

autoremove [package1] [...]   同时卸载相关依赖包

升级:update [package1] [package2] [...]

check-update 检测已安装包的更新信息

#检查已安装包的可用更新
[[email protected] ~]# yum check-update
......
NetworkManager.x86_64           1:1.0.0-16.git20150121.b4ea599c.el7_1            updates
NetworkManager-adsl.x86_64      1:1.0.0-16.git20150121.b4ea599c.el7_1            updates
NetworkManager-libnm.x86_64     1:1.0.0-16.git20150121.b4ea599c.el7_1            updates
NetworkManager-tui.x86_64       1:1.0.0-16.git20150121.b4ea599c.el7_1            updates
bind-libs-lite.x86_64           32:9.9.4-18.el7_1.5                              updates
......

#更新指定包
[[email protected] ~]# yum update sqlite
#更新全部包
[[email protected] ~]# yum update

 重新安装:reinstall package1 [package2] [...]

#重新安装相同版本的软件包
[[email protected] ~]# yum reinstall net-tools

降级安装:downgrade package1 [package2] [...]

[[email protected] packages]# yum downgrade package


 查询:info [...]

#查询资源库中指定包的相关信息
[[email protected] ~]# yum info php
......
Available Packages
Name        : php
Arch        : x86_64
Version     : 5.4.16
Release     : 36.el7_1
Size        : 1.4 M
Repo        : updates/7/x86_64
Summary     : PHP scripting language for creating dynamic web sites
......
#查询资源库中所有可以安装或更新的rpm包的信息
[[email protected] ~]# yum info 
#查询资源库中所有可以更新的rpm包的信息
[[email protected] ~]# yum info updates
#查询已经安装的所有的rpm包的信息
[[email protected] ~]# yum info installed
#列出已经安装的但是不包含在资源库中的rpm包的信息
[[email protected] ~]# yum info extras

rpm包列表:list [...]

#列出资源库中所有可以安装或更新的rpm包
[[email protected] ~]# yum list 
#列出资源库中特定的可以安装或更新以及已经安装的rpm包
[[email protected] ~]# yum list zip
[[email protected] ~]# yum list zip*
#注:可以在rpm包名中使用匹配符,如列出所有以zip开头的rpm包
#列出资源库中所有可以更新的rpm包
[[email protected] ~]# yum list updates
#列出已经安装的所有的rpm包
[[email protected] ~]# yum list installed
#列出已经安装的但是不包含在资源库中的rpm包
[[email protected] ~]# yum list extras

搜索rpm包:search string1 [string2] [...]

#搜索匹配特定字符的rpm包
#search KEYWORD
[[email protected] ~]# yum search php
#注:在rpm包名,包描述等中搜索

#搜索有包含特定文件名的rpm包
#provides /PATH/TO/SOMEFILE
[[email protected] ~]# yum provides php


清理缓存:clean [ packages | headers | metadata | expire-cache | rpmdb | plugins | all ]

#清除暂存中rpm包文件
[[email protected] ~]# yum clean packages
#清除暂存中rpm头文件
[[email protected] ~]# yum clean headers
#清除暂存中包文件
[[email protected] ~]# yum clean metadata 
#清除暂存中过期数据
[[email protected] ~]# yum clean expire-cache

创建缓存:makecache [fast]

[[email protected] packages]# yum makecache


包组:groups [...]

#包组列表
[[email protected] packages]# yum grouplist
.......
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools

#包组信息
[[email protected] packages]# yum group info  "Security Tools"

#安装包组
[[email protected] packages]# yum group install  "Security Tools"

#卸载包组
[[email protected] packages]# yum group remove "Security Tools"


仓库命令:

#repolist [all|enabled|disabled] 列出全部/可用/不可用仓库

[[email protected] ~]# yum repolist enabled
......
repo id                                      repo name                                      status
aliyun/7/x86_64                              CentOS-7-aliyun                                8,652
base/7/x86_64                                CentOS-7 - Base                                8,652
extras/7/x86_64                              CentOS-7 - Extras                                181
updates/7/x86_64                             CentOS-7 - Updates                             1,480
repolist: 18,965

#repoinfo [all|enabled|disabled] 列出全部/可用/不可用仓库信息

[[email protected] ~]# yum repoinfo enabled
......
Repo-id      : aliyun/7/x86_64
Repo-name    : CentOS-7-aliyun
Repo-revision: 1427842153
Repo-updated : Wed Apr  1 06:50:46 2015
Repo-pkgs    : 8,652
Repo-size    : 6.3 G
Repo-baseurl : http://mirrors.aliyun.com/centos/7/os/x86_64/
Repo-expire  : 21,600 second(s) (last: Thu Sep 17 09:22:44 2015)
Repo-filename: /etc/yum.repos.d/CentOS-aliyun.repo
......



使用光盘作为本地库:

1 挂载光盘至某目录

2 定义仓库,使用file:///指明访问路径

示例:

#挂载光盘
[[email protected] cdrom]# mount -r /dev/cdrom /mnt/cdrom/

#定义仓库
[[email protected] yum.repos.d]# vim centos-local-ISO.repo 
[centos7-ISO]
name=centos-local-iso
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
cost=100

#查看可用repository
[email protected] yum.repos.d]# yum repolist enabled
......
repo id               repo name                                      status
centos7-ISO           centos-local-iso                                 325
aliyun/7/x86_64       CentOS-7-aliyun                                8,652
......


创建本地仓库:
    1 安装createrepo工具

[[email protected] ~]# yum install createrepo

2  建立repository资源,建立header文件

#createrepo /PATH/TO/RPMFILES/
[[email protected] ~]# createrepo packages/
Spawning worker 0 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

#生成repodata文件  
[[email protected] ~]# ls packages/
2048-cli-0.9-4.git20141214.723738c.el7.x86_64.rpm      repodata
openstack-ceilometer-alarm-2014.2.2-1.fc22.noarch.rpm

3 可以在/etc/yum.repos.d目录下定义本地repository

[[email protected] yum.repos.d]# cat local.repo 
[localrepo]
name=local-repo
baseurl=file:///root/packages
gpgcheck=0
enabled=1



DNF包管理器前端管理工具:

后续更新。

如有错误,敬请指正!

谢谢!

时间: 2024-10-09 11:58:17

CentOS7 yum 源的配置与使用的相关文章

配置Centos7 yum源

配置阿里Centos7 yum源1)到网址下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 2)备份原有Yum源文件,替换新的repo文件 cp Centos-7.repo /etc/yum.repos.d/ cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak mv Centos-7.repo CentOS-Base.repo 3)执行yum源更新命令 yu

搭建CnetOS6.5x64最小系统及在线yum源的配置

CentOS系统作为红帽系列的一款linux系统,因为其免费.开源,在中小企业中得到了广泛应用,生产上为了更好的利用资源,都采用最小系统安装,因为一个图形界面都会占去系统资源的30%到40%,生产上一般都是最经济原则,不装图形界面,软件也是需要什么装什么,一般通过ssh连接或者xshell连接即可.本文从以下四个方面给出了CentOS系统的最小化安装及在线yum源的配置. 大纲:一.搭建CnetOS6.5x64最小系统.二.ip,主机名等的相关配置.三.本地和在线yum源的配置.四.快照及克隆.

rhel7配置网络yum源,配置VNC远程桌面

rhel7配置VNC远程桌面实验环境:安装了图形化界面的redhat7.0,IP是192.168.31.201先配置网络yum源[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [[email protected] ~]# sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Ba

yum源的配置方法

rpm -ivh  软件安装命令 yum  包管理工具 yum源的配置方法 下载的命令 wget [网址] 修改前做备份 1.有问题回滚 2.事后对比改过的内容 下载文件步骤 yum源的配置方法 第一步.cd /etc/yum.repos.d/  首先先切换到yum文件下 第二步.cp CentOS-Base.repoCentOS-Base.repo.ori  备份文件 mv [原文件] [备份为] 第三部.wget http://mirrors.163.com/.help/CentOS6-Ba

在RedHat Server 5.4上安装YUM【利用网易免费yum源,配置和更新yum】

今天碰上要给一台装有Linux的机器做维护,于是就以为按照以往经验就能解决问题,但是神奇的发现机器上一堆的软件包都没有安装,最要命的是连软件包管理器也都没有安装,本以为是FreeBSD,查了一下才发现是RedHat Linux Server 5.4,于是开始着手安装YUM,在Google搜索了一下,发现貌似类似的情况不多,但是这确实不是我第一次遇到RedHat没有yum了,因为上次遇到的时候是别人让帮忙看看,解决不了也就没留心,但这次维护是必要的,于是尝试了许久,这大概是我最不舒服的一次经历了,

linux yum源的配置及使用

一.什么是yum Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 二.yum常用选项和参数 常用参数列举: install:安装rpm软件包: update:更新rpm软件包: check-update:检查是否有可用的更新rpm软件包: rem

【推荐】在RedHat Server 5.4上安装YUM【利用网易免费yum源,配置和更新yum】

[推荐]在RedHat Server 5.4上安装YUM[利用网易免费yum源,配置和更新yum] 今天碰上要给一台装有Linux的机器做维护,于是就以为按照以往经验就能解决问题,但是神奇的发现机器上一堆的软件包都没有安装,最要命的是连软件包管理器也都没有安装,本以为是FreeBSD,查了一下才发现是RedHat Linux Server 5.4,于是开始着手安装YUM,在Google搜索了一下,发现貌似类似的情况不多,但是这确实不是我第一次遇到RedHat没有yum了,因为上次遇到的时候是别人

CentOS7 YUM安装与配置 MySQL5.7

原文链接:http://blog.csdn.net/xyang81/article/details/51759200 安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/  # 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rp

yum源简单配置

只下载rpm安装包而不进行安装: 安装插件yum-plugin-downloadonly: [[email protected] zhongw]yum install yum-plugin-downloadonly 将tcpdump包下载到目录/zhongw下面: [[email protected] zhongw]# yum install --downloadonly --downloaddir=/zhongw/ tcpdump 阿里云yum连接: http://mirrors.aliyun