Linux之yum基础

           yum(全称为 Yellow dogUpdater, Modified是一个在FedoraRedHat以及CentOS中的Shell前端软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。

          yum基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

         CentOS默认已经安装了yum,不需另行安装。可使用#rpm�Cqa yum  查看所安装的yum版本。

         一、yum的配置文件

yum的配置文件分为两部分:main repositorymain一般位于/etc/yum.conf中,repository位于/etc/yum.repos.d/中,且以.repo后缀结尾,每个repo配置文件中可以配置一至多个仓库。

main中的配置选项

[main]

cachedir=/var/cache/yum/$basearch/$releasever 缓存目录

keepcache=0  安装完成后是否保留软件包,默认0保留

debuglevel=2  debug信息输出等级

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

exactarch=1   1只安装和系统架构匹配的软件包

obsoletes=1   检查RPM包是被遗弃

gpgcheck=1   是否进行gpg校验

plugins=1   是否启用插件默认1允许

installonly_limit=5  一次安装程序包限制的个数

bugtracker_url=http://bugs.centos.org/set_project.php?     

project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum  bug追踪路径

distroverpkg=centos-release

 

仓库配置

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

name=    当前仓库描述信息;

baseurl=url://path/to/repository/  指明repository的访问路径;通常为一个文件服务器上输出的某repository

enabled={1|0}  此仓库是否可被使用

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

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

cost=     指明当前repository的访问开销,默认为1000

                         

                         

二、yum命令

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

command is one of:

* installpackage1 [package2] [...]  程序包安装:如果某包有在不同仓库中有多个不同版本,默认会安 装最新版本;如果要安装指定版本:install PACKAGE-VERSION ...   

 *update [package1] [package2][...]  程序包升级

* update-to [package1] [package2] [...]

* check-update   检查有哪些升级可用

* upgrade [package1] [package2] [...]  

* upgrade-to [package1] [package2] [...]

* distribution-synchronization [package1] [package2] [...]

* remove |erase package1 [package2] [...]   卸载, 所有依赖于正卸载的程序包的程序包会被一并卸载

* list [...]     

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

* provides | whatprovides feature1 [feature2] [...]

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

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

* groupinstall group1 [group2] [...] 安装包组

* groupupdate group1 [group2] [...] 升级包组

* grouplist [hidden] [groupwildcard] [...]    列出所有包组

* groupremove group1 [group2] [...] 卸载包组

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

* search string1 [string2] [...]  在包名和sumary信息中搜索指定的关键字

* shell [filename]

* resolvedep dep1 [dep2] [...]

*localinstall rpmfile1 [rpmfile2] [...]   安装或升级本地的程序包文件; 用于安装仓库中并不存在的程序 包文件,这些程序包有可能又依赖于仓库中的某些程序包;

 * localupdate rpmfile1[rpmfile2] [...]  升级本地的程序包文件

           (maintained forlegacy reasons only - use update)

* reinstall package1 [package2] [...]   重新安装(覆盖安装)

* downgrade package1 [package2] [...]   程序包降级

* deplist package1 [package2] [...]

* repolist [all|enabled|disabled]   列出已经配置的所有可用仓库

* version [ all | installed | available | group-* | nogroups* |grouplist | groupinfo ]

*history[info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

* load-transaction [txfile]

* check

* help [command]

 

yum命令的可用选项:

              -y:自动回答为“yes

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

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

              --nogpgcheck:禁止做包校验;

 

yum有内置变量,用于保存当前平台的相关信息;

    (1) $raleasever: 当前OS发行版的主版本号;

                    例如,对CentOS 6.6 x86_64,主版本号为6

    (2) $arch:平台

                    i386, i486

    (3) $basearch: 基础平台, 例如i686, i586, i486以及i386的基础平台同为i386

    (4) $YUM0-$YUM9


使用光盘创建yum仓库:

1. 虚拟机中设置ISO镜像文件

挂载光盘镜像:#mount/dev/cdrom /media/cdrom

 

2.新建repo配置文件

# vim local.repo
[dvdbase]
name=CentOS 6.6 X86_64 on dvd1
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1


[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.hust.edu.cn
 * updates: mirrors.pubyun.com
dvdbase                                         | 4.0kB     00:00 ... 
dvdbase/primary_db                              | 4.5 MB     00:00 ... 
repo id                reponame                                status
base                  CentOS-6 - Base                          6,518
dvdbase               CentOS 6.6 X86_64 on dvd1                 6,518
extras                CentOS-6 - Extras                            37
updates               CentOS-6 - Updates                       1,044
repolist: 14,117


网络输出:提供一个文件服务器,配置好ftp服务或http服务;

     ftp服务:

          安装程序包: vsftpd

          文件存放路径:/var/ftp/pub

          启动服务:service vsftpdstart           

[xen4]

name=xen4 on local host

baseurl=ftp://192.168.1.105/pub/xen4

gpgcheck=0

enabled=1

 http服务:

         安装程序包:httpd

         文件存放路径:/var/www/html

         启动服务:service httpdstart

 

Note: 确保防火墙服务关闭;

#service iptables stop

 


你可能感兴趣的:(linux,yum)