您的位置:首页 > 运维架构 > Linux

Linux软件包管理之yum

2016-03-03 20:04 435 查看

Linux软件包管理之yum

2.1 yum介绍

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

2.2 yum命令格式

yum [options]COMMAND

2.3 yum命令常用选项

-h:显示帮助信息;-y:对所有的提问都回答“yes”; -c:指定配置文件; -q:安静模式; -v:详细模式; -d:设置调试等级(0-10); -e:设置错误等级(0-10); -R:设置yum处理一个命令的最大等待时间; -C:完全从缓存中运行,而不去下载或者更新任何头文件。

2.4 yum命令常用command

install:安装rpm软件包;update:更新rpm软件包; check-update:检查是否有可用的更新rpm软件包; remove:删除指定的rpm软件包; list:显示软件包的信息; all:列出所有已安装或者未安装的,可安装的 installed:列出已安装的 available:列出可用的尚未安装的包 search:检查软件包的信息;info:显示指定的rpm软件包的描述信息和概要信息; clean [all|pakages|metadata|expire-cache|rpmdb|plugins]:清理yum过期的缓存; resolvedep:显示rpm软件包的依赖关系; localinstall:安装本地的rpm软件包; localupdate:显示本地rpm软件包进行更新; deplist:显示rpm软件包的所有依赖关系。
reinstall:重新安装软件包groupinstall "group_name":安装指定的包组groupremove "group_name":卸载指定包组groupinfo:查看包组的信息,yum groupinfo "package_group_name"grouplist:列出所有包组--nogpgcheck:手动禁止检查来源及完整性#yum install /tmp/zsh-2.3.1-2.el6.x86_64.rpm--nogpgcheck

2.5 yum客户端

yum客户端使用过程: 1.配置文件,指定各可用的yum仓库 2.缓存元数据,yum会到各可用的yum仓库获取元数据,并缓存到本地 3.分析元数据;根据具体的操作请求完成元数据分析。可能包括检查依赖关系 4.执行具体操作客户端配置文件指定对应服务器的访问方式: ftp ftp://server/path/to/repo http http://server/path/to/repo nfs nfs:///server/nfs_path file file:///path/to/repository

2.6 配置yum仓库

#要使用yum应用程序,首先得配置可用的yum仓库,保存在配置文件中。#yum仓库相关配置文件如下: /etc/yum.conf
/etc/yum.repos.d/*.repo
配置文件格式:由两段组成
[main]:主配置段
[repo]:仓库配置段
配置repo:
[repoID]
name=string 描述信息
baseurl=仓库的访问路径,repodata目录所在的路径
enabled={1|0},1启动,0禁用
gpgcheck={1|0},是否检查包来源合法性
gpgkey=公钥文件(可以在本地也可以在服务器端路径)
cost=定义此仓库的开销,默认为1000

2.7 自定义一个本地yum仓库,并安装httpd服务

#使用Centos6.6系统光盘中的rpm包作为yum仓库演示
[root@moban ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 iswrite-protected, mounting read-only

[root@moban ~]# ls /media/
CentOS_BuildTag  Packages                   RPM-GPG-KEY-CentOS-Security-6 isolinux
EFI              RELEASE-NOTES-en-US.html    RPM-GPG-KEY-CentOS-Testing-6   repodata
EULA             RPM-GPG-KEY-CentOS-6        TRANS.TBL
GPL              RPM-GPG-KEY-CentOS-Debug-6  images


#创建名为Centos6.6.repo文件
[root@moban yum.repos.d]# catCentos6.6.repo
[base]
name=Centos 6.6 x86_64 release
baseurl=file:///media
enabled=1
gpgcheck=1
gpgkey=file:///media/RPM-GPG-KEY-CentOS-6
#查看可用的repo,能否看到自定义ID名为base的repo
[root@moban yum.repos.d]# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, security
Loading mirror speeds from cachedhostfile
base                                                                                   | 4.0 kB     00:00 ...
repo id                                    reponame                                                    status
base                              Centos 6.6 x86_64release                   6518
repolist: 6518
#安装httpd服务
[root@moban yum.repos.d]# yum -y installhttpd
[root@moban yum.repos.d]# rpm -q httpd
httpd-2.2.15-39.el6.centos.x86_64

2.8 createrepo命令

#自建yum仓库需要创建repodata,需要使用createrepo命令创建repodata createrepo命令:用于创建repodata命令用法:
createrepo  /path/to/filedirctory

2.9自建一个基于httpd的yum仓库

1.准备文件服务器:这里使用httpd服务为例,请事先确保已经安装httpd程序
[root@moban yum.repos.d]# yum -yinstall httpd
2.在/var/www/html/目录下创建一个目录来保存准备制作成为yum仓库的所有rpm包。
[root@moban yum.repos.d]# mount/dev/cdrom /media/
#创建用于保存rpm包的目录
[root@moban ~]# mkdir/var/www/html/local_repo
#为了演示从系统镜像中拷贝出一部分rpm包作为演示使用
[root@moban ~]# cp/media/Packages/mysql*.rpm /var/www/html/local_repo
[root@moban ~]# ls/var/www/html/local_repo
mysql-5.1.73-3.el6_5.x86_64.rpm                  mysql-devel-5.1.73-3.el6_5.x86_64.rpm
mysql-bench-5.1.73-3.el6_5.x86_64.rpm             mysql-libs-5.1.73-3.el6_5.i686.rpm
mysql-connector-java-5.1.17-6.el6.noarch.rpm      mysql-libs-5.1.73-3.el6_5.x86_64.rpm
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm  mysql-server-5.1.73-3.el6_5.x86_64.rpm
mysql-devel-5.1.73-3.el6_5.i686.rpm              mysql-test-5.1.73-3.el6_5.x86_64.rpm
3.创建repodata#创建完成会在/var/www/html/local_repo/目录下生成一个repodata目录
[root@moban ~]# createrepo/var/www/html/local_repo/
Spawning worker 0 with 10 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@moban ~]# ls /var/www/html/local_repo/
mysql-5.1.73-3.el6_5.x86_64.rpm                  mysql-libs-5.1.73-3.el6_5.i686.rpm
mysql-bench-5.1.73-3.el6_5.x86_64.rpm            mysql-libs-5.1.73-3.el6_5.x86_64.rpm
mysql-connector-java-5.1.17-6.el6.noarch.rpm      mysql-server-5.1.73-3.el6_5.x86_64.rpm
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm  mysql-test-5.1.73-3.el6_5.x86_64.rpm
mysql-devel-5.1.73-3.el6_5.i686.rpm               repodata
mysql-devel-5.1.73-3.el6_5.x86_64.rpm
4.启动http服务
[root@moban ~]# /etc/init.d/httpd start
5.配置使用自建的yum仓库
[root@moban ~]# cd /etc/yum.repos.d/
[root@moban yum.repos.d]# catCentos6.6-local.repo
[base-ebrun]
name=Centos 6.6 x86_64 release local
baseurl=http://192.168.0.131/local_repo
enabled=1
gpgcheck=0
6.显示可用的repo
[root@moban ~]# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, security
Loading mirror speeds from cachedhostfile
repo id                                   reponame                                                     status
base-ebrun                                Centos 6.6x86_64 release local                                10
repolist: 10
7.安装mysql测试
[root@moban ~]# rpm -q mysql
package mysql is not installed
[root@moban ~]# yum -y install mysql
[root@moban ~]# rpm -q mysql
mysql-5.1.73-3.el6_5.x86_64


本文出自 “蜕变成蝶” 博客,请务必保留此出处http://enzhi.blog.51cto.com/11193298/1747316
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: