1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux软件包管理工具 Linux 软件包管理器-----yum配置详解一

linux软件包管理工具 Linux 软件包管理器-----yum配置详解一

时间:2020-03-20 09:47:18

相关推荐

linux软件包管理工具 Linux 软件包管理器-----yum配置详解一

一、yum简介

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

yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。

yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

yum 可以同时配置多个资源库(Repository)。

二、yum的配置

yum的配置文件分为两种:主配置文件和辅配置文件

1、主配置文件又称全局配置文件:/etc/yum.conf

2、辅配置文件是/etc/yum.repos.d/目录下所有以.repo结尾的文件,该配置文件定义了每个源/服务器的具体配置,可以有一个或多个。

主配置文件/etc/yum.conf详解:#cat/etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

//yum缓存的目录,yum在此存储下载的rpm包和数据库,默认设置为/var/cache/yum

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

debuglevel=2//Debug信息输出等级,范围为0-10,缺省为2(类似于rpm-v|-vv)

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

exactarch=1//是否只安装与当前平台架构匹配的软件包

obsoletes=1//这是一个update的参数,允许更新陈旧的RPM包。

gpgcheck=1///程序包安装之前检查其合法性与包完整性

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

installonly_limit=5//一次安装程序包个数限定

bugtracker_url=/set_project.php?project_id=19&ref=/bug_report_page.php?category=yum

//bug追踪路径

distroverpkg=centos-release//发行版本程序包应该以什么为例

#Thisisthedefault,ifyoumakethisbiggeryumwon'tseeifthemetadata

#isnewerontheremoteandsoyou'll"gain"thebandwidthofnothavingto

#downloadthenewmetadataand"pay"foritbyyumnothavingcorrect

#information.

#Itisesp.important,tohavecorrectmetadata,fordistributionslike

#Fedorawhichdon'tkeepoldpackagesaround.Ifyoudon'tlikethischecking

#interuptingyourcommandlineusage,it'smuchbettertohavesomething

#manuallycheckthemetadataonceanhour(yum-updatesdwilldothis).

#metadata_expire=90m

#PUTYOURREPOSHEREORINseparatefilesnamedfile.repo

#in/etc/yum.repos.d

更多信息请参考man yum.conf 来获取

yum变量:

$basearch:自动切换至yum仓库所适用的平台如i686和athlon同属i386,alpha和alphaev6同属alpha。

$arch:cpu体系,如i686,athlon等

$releasever:发行版版本自动切换成yum发行版本的版本号

-----------------------------------------

eg:

baseurl=/centos/$releasever/$basearch

如果当前系统为CentOS6.6x86_64

现实结果为:/centos/6/x86_64

辅配置文件/etc/yum.repo.d/*.repo仓库配置[repositoryid]

//对于当前系统的yum来讲,此repositoryid用于唯一标识此repository指向,因此,其必须唯一;

name=//当前仓库描述信息;

baseurl=url://path/to/repository/

//指明repository的访问路径,通常为一个文件服务器输出的某repository;

baseurl格式如下:

ftp服务

ftp://SERVER/PATH/TO/REPOSITORY

http服务:

http://SERVER/PATH/TO/REPOSITORY

本地目录:

file:///PATH/TO/REPOSITORY//注意此处有三个“/”

enabled={1|0}//此仓库是否可被使用不写默认是启用

gpgcheck={1|0|}//是否对程序包做校验

gpgkey=url://path/to/keyfile//指明gpgkey文件路径;

cost=#//用于指明当前repository的访问开销,默认为100

注:上述baseurl可以指向多个url,格式如下baseurl=url://server1/path/to/repository/

url://server2/path/to/repository///注意:此url不能顶格写

url://server3/path/to/repository/

三、创建国内yum源

===========制作国内163yum源==========[163]

name=CentOS-$releasever-$basearch-mirrors.163

baseurl=/centos/$releasever/contrib/$basearch

enable=1

gpgcheck=1

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

[163-SCL]

name=CentOS-$releasever-$basearch-SCL-mirrors.163

baseurl=/centos/$releasever/SCL/$basearch

enable=1

gpgcheck=1

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

[updates]

name=CentOS-$releasever-$basearch-updates-mirrors.163

baseurl=/centos/$releasever/updates/$basearch

enable=1

gpgcheck=1

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

[163-OS]

name=CentOS-$releasever-$basearch-OS-mirrors.163

baseurl=/centos/$releasever/os/$basearch

enable=1

gpgcheck=1

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

[extras]

name=CentOS-$releasever-$basearch-extras-mirrors.163

baseurl=/centos/$releasever/extras/$basearch

enable=1

gpgcheck=1

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

[centosplus]

name=CentOS-$releasever-$basearch-centosplus-mirrors.163

baseurl=/centos/$releasever/centosplus/$basearch

enable=1

gpgcheck=1

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

验证:[root@linuxyum.repos.d]#yumrepolist

repoidreponamestatus

163CentOS-6-x86_64-mirrors.1630

163-OSCentOS-6-x86_64-OS-mirrors.1636,518

163-SCLCentOS-6-x86_64-SCL-mirrors.163676

centosplusCentOS-6-x86_64-centosplus-mirrors.16350

extrasCentOS-6-x86_64-extras-mirrors.16337

updatesCentOS-6-x86_64-updates-mirrors.163993

repolist:8,274

[root@linuxyum.repos.d]#

利用已做好的yum源安装tree命令包[root@linuxyum.repos.d]#yum-yinstalltree

SettingupInstallProcess

ResolvingDependencies

-->Runningtransactioncheck

--->Packagetree.x86_640:1.5.3-2.el6willbeinstalled

-->FinishedDependencyResolution

DependenciesResolved

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

PackageArchVersionRepositorySize

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

Installing:

treex86_641.5.3-2.el6163-OS36k

......

验证是否安装成功

[root@linux yum.repos.d]# rpm -q tree

tree-1.5.3-2.el6.x86_64

[root@linux yum.repos.d]#

四、其他国内yum源列表如下:1.企业贡献:

搜狐开源镜像站:/

网易开源镜像站:/

2.大学教学:

北京理工大学:

http://mirror.(IPv4only)

http://mirror.(IPv6only)

北京交通大学:

http://mirror.(IPv4only)

http://mirror6.(IPv6only)

http://debian.(IPv4+IPv6)

兰州大学:http://mirror./

厦门大学:http://mirrors./

清华大学:

http://mirrors.tuna./(IPv4+IPv6)

http://mirrors.6.tuna./(IPv6only)

http://mirrors.4.tuna./(IPv4only)

天津大学:http://mirror./

中国科学技术大学:

http://mirrors./(IPv4+IPv6)

http://mirrors4./

http://mirrors6./

东北大学:

http://mirror./(IPv4only)

http://mirror./(IPv6only)

电子科技大学:http://ubuntu.

五、常用命令

1、语法格式:

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

2、常用选项

-y :自动回答为“yes"

--disablerepo=:临时禁用在配置文件中配置并启用的某repository;

--enablerepo=: 临时启用指定的某repo:

--nogpgcheck: 禁止做包效验;

3、常用命令

仓库管理:

repolist:列出已经配置的所有可用仓库

repolist [all|enabled|disabled]

缓存管理:

clean: 清理缓存

clean [ packages | metadata | expire-cache | rpmdb | plugins | all][root@linuxyum.repos.d]#yumcleanall

Cleaningrepos:163163-OS163-SCLcentosplusextrasupdates

CleaningupEverything

[root@linuxyum.repos]

-------------

注:为了彻底清除缓存还应删除/var/cache/yum/目录下的所有文件:

[root@linuxyum.repos.d]#rm-rf/var/cache/yum/*

makecache:缓存创建

自动连接至每一个可用仓库,下载其元数据,将其创建为缓存;

程序包查看:

list [...]

yum list [all | glob_exp1] [glob_exp2] [...]

eg : yum list php*

yum list {available|updates|installed|extras|obsoletes|recent} [glob_exp1] [...]

available:可安装尚未安装的包

updates:可用于升级的包

installed:安装过额包

extras:仓库内未提供,但已经安装了

obsoletes:

recent:新包

grouplist [hidden] [groupwildcard] [...]

程序包安装:

install package1 [package2] [...]Note:只需要提供包名:

如果某包有在不同仓库中有多个不同版本,默认会安装最新版本

如果要安装指定版本:installPACKAGE-VERSION

重新安装(覆盖安装)

reinstall package1 [package2] [...]

程序包升级:

update [package1] [package2] [...]如果只想升级指定版本使用:updatePACKAGE-VERSION

程序包降级:

downgrade package1 [package2] [...]

检查有哪些升级可用:

check-update

卸载:

remove | erase package1 [package2] [...]

所有依赖于正卸载的程序包的程序包会被一并卸载

eg: yum remove php-common

查询:

查询程序的相关简要信息: info [...]eg:

[root@linuxyum.repos.d]#yuminfotree

InstalledPackages

Name:tree

Arch:x86_64

Version:1.5.3

Release:2.el6

Size:65k

Repo:installed

Fromrepo:163-OS

Summary:Filesystemtreeviewer

URL:http://mama.indstate.edu/users/ice/tree/

License:GPLv2+

Description:Thetreeutilityrecursivelydisplaysthecontentsofdirectoriesina

:tree-likeformat.TreeisbasicallyaUNIXportoftheDOStree

:utility.

search KEYWORD ...

在包名和简要(sumary)信息中搜索指定的关键字:

provides | whatprovides /PATH/TO/SOMEFILE

查询指定文件由哪个程序包安装生成:[root@linuxyum.repos.d]#yumprovides/usr/bin/tree//查询/usr/bin/tree文件由哪个程序包安装所生成

tree-1.5.3-2.el6.x86_64:Filesystemtreeviewer

Repo:163-OS

Matchedfrom:

Filename:/usr/bin/tree

tree-1.5.3-2.el6.x86_64:Filesystemtreeviewer

Repo:installed

Matchedfrom:

Other:Provides-match:/usr/bin/tree

包组管理:

列出所有包组:grouplist

显示指定包组详情:groupinfo group1 [...]

安装:groupinstall group1 [group2] [...]

卸载:groupremove group1 [group2] [...]

升级:groupupdate group1 [group2] [...]

eg:列出yum源中的所有包组:[root@linuxyum.repos.d]#yumgrouplist

SettingupGroupProcess

InstalledGroups:

AdditionalDevelopment

Base

Desktop

Dial-upNetworkingSupport

DirectoryClient

E-mailserver

Emacs

Fonts

GeneralPurposeDesktop

GraphicalAdministrationTools

Hardwaremonitoringutilities

InputMethods

InternetBrowser

LegacyUNIXcompatibility

LegacyXWindowSystemcompatibility

NetworkInfrastructureServer

Networkfilesystemclient

NetworkingTools

PerformanceTools

PerlSupport

PrintServer

Printingclient

SNMPSupport

SecurityTools

ServerPlatform

Systemadministrationtools

XWindowSystem

InstalledLanguageGroups:

ArabicSupport[ar]

......

OK 有关yum的讲解到此就告一段落了,有不足之处还请各位看官斧正........

参考博文:/mchina/archive//01/04/2842275.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。