linux yum list包数量少,Linux基础知识之YUM包管理工具

一、YUM简介

1.YUM: Yellowdog Update Modifier

完成RHEL系列前端自动解决依赖关系安装工具,依赖rpm存在

2.工作模式:C/S架构

Server端(yum仓库):依赖关系库、原文件、校验码文件

Client端:yum客户端程序、配置文件(连接Server路径信息)

3.设计缺陷:

某一次安装过程中半途终止,再次重启后将无法解决程序间的依赖关系

yum升级版dnf就是为了解决此类问题

2.yum repository: yum repo,yum仓库

存储rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)

二、YUM客户端配置

1.yum配置文件路径

/etc/yum.conf:为所有yum仓库提供公共配置

/etc/yum.repos.d/*.repo:为仓库的指向提供配置

2./etc/yum.conf主配置定义

[root@localhost ~]# man 5 yum.conf#可获得yum.conf的详解

[root@localhost ~]# cat /etc/yum.conf

[main]#通用主配置段

cachedir=/var/cache/yum/$basearch/$releasever#缓存文件路径

keepcache=0#缓存到本地的文件是否保存

debuglevel=2#调试级别

logfile=/var/log/yum.log#安装的日志文件

exactarch=1#精确严格的平台release匹配

obsoletes=1

gpgcheck=1#检测来源合法性和完整性

plugins=1#支持插件机制

installonly_limit=5#同时安装多少程序包

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bu#追踪bug路径

distroverpkg=centos-release#当前发行版版本号从哪儿获取

#  This is the default, if you make this bigger yum won't see if the metadata

# is newer on the remote and so you'll "gain" the bandwidth of not having to

# download the new metadata and "pay" for it by yum not having correct

# information.

#  It is esp. important, to have correct metadata, for distributions like

# Fedora which don't keep old packages around. If you don't like this checking

# interupting your command line usage, it's much better to have something

# manually check the metadata once an hour (yum-updatesd will do this).

# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

3.仓库(*.repo)配置文件定义:

[repositoryID]#仓库ID,唯一标识别,不能重复

name=Some name for this repository#完整的仓库名称

baseurl=url://path/to/repository/# yum仓库指明的访问路径

enabled={1|0}#是否启用此yum仓库,默认启用

gpgcheck={1|0}#是否检查完整性和来源合法性

gpgkey=URL#秘钥文件位置,可能是对方仓库提供

enablegroups={1|0}#是否基于组来批量管理程序包

failovermethod={roundrobin|priority}#故障转移方法:轮询、根据优先级选择;默认roundrobin随机

cost=##设置开销,默认为1000

… ...

说明:

1)*.repo可以将多个[repositoryID]的配置信息放在一个而文件内,也可以切成多个方便管理

2)baseurl可以使用:ftp://、http://、nfs://、file:///指明URL路径

3)baseurl等号两边不能有空格,其后可以填写多个镜像访问路径,每行一个,不能顶行写

多个访问路径间联系是镜像相同,目的是为了做备用访问

4)更多选项使用man  5  yum.conf查看,基本配置只需前三行就可以

5)发行版光盘镜像安装可能会自动配置网络镜像URL地址

三、yum命令的用法

yum[options][command][package ...]

1.OPTIONS

--nogpgcheck:禁止进行gpg check;

-y:自动回答为“yes”;

-q:静默模式,不输出显示信息;

--disablerepo=repoidglob:临时禁用此处指定的repo;

--enablerepo=repoidglob:临时启用此处指定的repo;

--noplugins:禁用所有插件;

2.常用COMMAND

(1)显示仓库列表:repolist

#yumrepolist [all|enabled|disabled][所有|可用的|不可用]

(2)显示程序包:list

# yum list [all | glob_exp1] [glob_exp2] [...][所有的|符合glob通配条件的]

# yum list {available|installed|updates} [glob_exp1] [...]可用尚未安装的,已经安装的,可升级的

(3)安装程序包:install

#yuminstall package1 [package2] [...]

# yumreinstall package1 [package2] [...]  (重新安装)

(4)卸载程序包:此时依赖于此安装包也会被卸载

#yumremove | erase package1 [package2] [...]

(5)升、降级安装程序包:update、downgrade

# yumupdate [package1] [package2] [...]升级操作

# yumdowngrade package1 [package2] [...]降级操作

(6)检查可用升级:check-uodate

# yumcheck-update

(7)查看程序包简要信息:info

# yuminfo [package1][package2][...]

(8)查看指定的特性(可以是某文件)是由哪个程序包所提供:provides

yumprovides | whatprovides feature1 [feature2] [...]

(9)清理本地缓存:clean

# yumclean

包、源数据、过期缓存、rpmdb、插件、所有

包安装完了会自动清除、而元数据(依赖关系等)不会自动,但下次yum安装会自动重新校验

3.COMMAND:安装及升级本地程序包

指定安装本地的*.rpm,但是会根据yum源现有依赖关系,解决此安装可能出现的依赖关系

# yumlocalinstall rpmfile1 [rpmfile2] [...]

# yumlocalupdate rpmfile1 [rpmfile2] [...]

4.COMMAND:包组管理的相关命令:

包组:一堆程序的一个集合,用于一起安装,因为某些程序安装需要依赖包组内容

# yumgroupinstall group1 [group2] [...]安装包组

# yumgroupupdate group1 [group2] [...]升级包组

# yumgrouplist [hidden] [groupwildcard] [...]显示包组列表

# yumgroupremove group1 [group2] [...]移除包组

# yumgroupinfo group1 [...]显示包组信息

四、创建yum仓库

1.使用光盘当作本地yum仓库:

光盘的镜像本身就是一个yum源,自己安装系统时候选择安装工具时就是借助yum自动安装

(1)挂载光盘至某目录,例如/media/cdrom# mount -r[-t iso9660]/dev/cdrom /media/cdrom

(2)创建配置文件

[ID]

name=

baseurl=file:///… …

gpgcheck=

2.yum的repo配置文件中可用的变量:

$releasever: 当前OS的发行版的主版本号;

$arch: 平台;

$basearch:基础平台,同一系列最基本的架构,如32、64;

$YUM0-$YUM9可做自定义

3.手动创建yum仓库:

(1)安装工具:createrepo,已安装[root@localhost yum.repos.d]# yum info createrepo

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.cn99.com

* epel: mirror01.idc.hinet.net

* extras: mirrors.huaweicloud.com

* updates: mirrors.cn99.com

已安装的软件包

名称    :createrepo

架构    :noarch

版本    :0.9.9

发布    :28.el7

大小    :302 k

源    :installed

来自源:anaconda

简介    : Creates a common metadata repository

网址    :http://createrepo.baseurl.org/

协议    : GPLv2

描述    : This utility will generate a common metadata repository from a

: directory of rpm packages.

(2)下载所需要的所有文件到本地某个路径:[root@localhost yum.repos.d]# mkdir -p /yumtest/Packages

[root@localhost yum.repos.d]# cp /media/cdrom/Packages/* /yumtest/Packages/

(3)创建关联关系:createrepo - Create repomd (xml-rpm-metadata) repository

命令:createrepo[options]

当完成后生成repodata即可[root@localhost yum.repos.d]# createrepo /yumtest/

Spawning worker 0 with 2478 pkgs

Spawning worker 1 with 2478 pkgs

Spawning worker 2 with 2478 pkgs

Spawning worker 3 with 2477 pkgs

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

[root@localhost yum.repos.d]#

(4)配置yum源文件,创建*.rope写入信息即可root@localhost yum.repos.d]# cat Local.repo

[Local]

name=Local Yum

baseurl=file:///yumtest/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

enabled=1

[root@localhost yum.repos.d]# yum repolist

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

epel/x86_64/metalink                                     | 7.5 kB     00:00

* base: mirrors.huaweicloud.com

* epel: ftp.cuhk.edu.hk

* extras: mirrors.huaweicloud.com

* updates: mirrors.163.com

Local                                                    | 2.9 kB     00:00

base                                                     | 3.6 kB     00:00

extras                                                   | 3.4 kB     00:00

updates                                                  | 3.4 kB     00:00

Local/primary_db                                           | 5.9 MB   00:00

源标识                源名称                                              状态

Local                 Local Yum                                            9,911

base/7/x86_64         CentOS-7 - Base                                     10,019

epel/x86_64           Extra Packages for Enterprise Linux 7 - x86_64      12,744

extras/7/x86_64       CentOS-7 - Extras                                      321

updates/7/x86_64      CentOS-7 - Updates                                     599

repolist: 33,594

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值