yum常用命令,rpm下载不安装,配置国内yum源

yum常用命令,rpm下载不安装,配置国内yum源

文章来源: 陶老师运维笔记- 微信公众号

yum

1. yum介绍

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
yum 主要功能是可方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

yum源可以来源于多种文件服务器:

  • http://
  • https://
  • ftp://
  • file:// 本地文件

2. 常用yum命令

1. 安装软件:yum install S
2. 卸载软件:yum remove S
3. 检查依赖:yum deplist S
4. 软件信息:yum info S
5. 更新软件:yum update S
6. 检查更新:yum check-update
7. 软件列表:yum list installed

安装:

yum install 全部安装
yum install package 安装指定的安装包 package。
yum install package -y  直接安装不用询问是否安装。
yum groupinsall group   安装程序组 group。

更新:

yum update  全部更新。
yum update package  更新指定程序包 package。
yum check-update    检查可更新的程序。
yum upgrade package 升级指定程序包 package。
yum groupupdate group   升级程序组 group。

查找和显示:

yum repolist    查看(开启的)资源库。
yum repolist all    查看所有资源库。
yum search  使用 YUM 查找软件包。
yum search string   根据关键字 string 查找安装包。

yum info package    显示安装包信息 package。
yum info updates    列出更新信息。
yum info installed  列出安装包信息。
yum list    显示所有已经安装和可以安装的程序包。
yum list updates    列出所有可更新的包。
yum list installed  列出所有已经安装的包。
yum list extras 列出所有已安装,但是没有在 repo 里的包。
yum list package    显示指定程序包安装情况 package。
yum groupinfo group 显示程序组 group 信息。

删除程序:

yum remove package  删除程序包 package。
yum groupremove group   删除程序组 group。
yum deplist package 查看程序 package 依赖情况。

清除缓存:

yum clean packages  清除缓存目录下的软件包。
yum clean headers   清除缓存目录下的 headers。
yum clean oldheaders    清除缓存目录下旧的 headers。
yum clean/yum clean all 清除缓存目录下的软件包及旧的 headers。

导入rpm-gpg 文件:

rpm --import gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

3. yum配置文件

yum 的配置文件分为两部分:main 和repository

  • main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
  • repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录。

3.1 yum.conf

yum.conf 文件一般位于/etc目录下,/etc/yum.conf一般其中只包含main部分的配置选项。

#yum的配置文件
$cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum下载后的缓存目录
keepcache=0    #是否缓存,0为不缓存,1为缓存
debuglevel=2
logfile=/var/log/yum.log  #yum的安装日志
exactarch=1
obsoletes=1
gpgcheck=1  #默认是否进行gpg校验,0为不校验,1校验
plugins=1
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
配置 说明
cachedir yum 缓存的目录,yum 在此存储下载的 rpm 包和数据库,一般是 /var/cache/yum。
debuglevel 除错级别,0~10,默认是 2。
logfile yum 的日志文件,默认是 /var/log/yum.log。
exactarch 有两个选项 1 和 0,代表是否只升级和你安装软件包 cpu 体系一致的包,如果设为 1,则例如安装了一个 i386 的 rpm,则 yum 不会用 686 的包来升级。
gpgchkeck 有 1 和 0 两个选项,分别代表是否是否进行 gpg 校验,如果没有这一项,默认是检查。

3.2 repository配置

yum的repository配置文件一般都放置在/etc/yum.repos.d/目录下。
示例1: influxdb.repo

cat /etc/yum.repos.d/influxdb.repo 
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key

示例2: aliyun repo

[CentOS6-base]   #源名称,必填
name=CentOS-$releasever-base  #源描述,可以不填,但是会有提示
#baseurl=file:///misc/cd/      #本地的光盘文件,可以有多个地址。必填
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
gpgcheck=1                    #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=1                     #是否禁用此yum源,默认为
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装
#这里相当于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[aliyun_epel]   #这是Redhat的扩展包
name=ailiyun_yum_epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
gpgcheck=1

在配置yum源时候,最少只需要两行即可,[reponame]和baseurl:

配置 说明
reponame 写在[]中的[reponame],如自定义软件名称[influxdb]或[base],[contrib],[extras]等
$releasever 代表发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
$arch cpu体系,如i686,athlon等
$basearch cpu的基本体系组,如i686和athlon同属i386

4. 修改yum源为国内源

4.1 常用国内yum源

安装软件时用国外yum源网速通常不如国内源速度快,为加快安装速度可以改用国内yum源。
国内yum镜像站点:
网易源: http://mirrors.163.com/centos/6/os/x86_64/
清华大学: https://mirror.tuna.tsinghua.edu.cn/centos/6/os/x86_64/
阿里源: https://mirrors.aliyun.com/centos
浙江大学http://mirrors.zju.edu.cn/centos/6/os/x86_64/

4.2 修改为国内yum源

以下为修改CentOS的yum源步骤。

4.2.1 备份原repo文件

备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

4.2.2 下载国内repo文件

下载国内repo文件的CentOS-Base.repo 到/etc/yum.repos.d/
阿里云:

Centos5地址:
wget -O /etc/yum.repos.d/CentOS-5-aliyun.repo http://mirrors.aliyun.com/repo/Centos-5.repo
Centos6地址:
wget -O /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或
curl -o /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo
Centos7地址:
wget -O /etc/yum.repos.d/CentOS-7-aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo

163源:

CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

4.2.3 生成缓存

清除原缓存,并生成新cache。

yum clean all
yum makecache

5. EPEL源

EPEL(Extra Packages for Enterprise Linux)是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS等提供高质量软件包的项目。装上了 EPEL,即可yum安装很多以前需要编译安装的软件,如现在流行的nginx、htop、ncdu、vnstat等等,都可以使用EPEL很方便的安装更新。

官网: https://fedoraproject.org/wiki/EPEL/zh-cn

5.1 安装EPEL

执行命令: yum install epel-release

$yum install epel-release
或者
http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
#检查安装
$rpm -q epel-release
$rpm -qa |grep epel -i
$ls -l /etc/yum.repos.d/
#导入key
 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
重建缓存
yum makecache

5.2 安装EPEL阿里云源

删除原EPEL源:

#检查安装
$rpm -qa |grep epel -i
$rpm -q epel-release
#删除原官方rpel
rpm -e epel-release-6-8.noarch

安装阿里云repo:

#
epel(RHEL 5) 
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-5.repo
epel(RHEL 6)
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-6.repo
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-7.repo
#检查
cat /etc/yum.repos.d/epel-aliyun.repo 

修改priority:
修改/etc/yum.repos.d/epel.repo文件。
在[epel]最后添加一条属性 priority=11,意思是yum先去官方源查,官方没有再去epel的源找。

vi /etc/yum.repos.d/epel.repo
priority=11

重建缓存:

yum clean all
yum makecache

6. rpm包search

有时安装rpm时,找不到rpm包,可试下如下网站。

7.只下载RPM包而不安装

需要yum-plugin-downloadonly软件帮助实现。

7.1 安装yum-plugin-downloadonly:

$yum install yum-plugin-downloadonly

7.2 downloadonly使用

安装后,yum就多了两个命令参数,分别是:
--downloadonly //只下载 , --downloaddir=/path/to/dir //下载到指定目录

示例:下载redis软件包,但不安装。

$yum install --downloadonly --downloaddir=/root/ redis -y
...
Installed size: 1.6 M
Downloading Packages:
exiting because --downloadonly specified

参考


陶老师运维笔记
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容