CentOS下yum软件包管理器的基本使用攻略

   2015-12-20 0

1.yum是什么
yum : Yellow dog Updater, Modified
主要功能是更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题
yum特点
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf
自动解决增加或删除rpm包时遇到的倚赖性问题
使用方便
保持与RPM数据库的一致性
yum安装
RHEL3,和 RHEL4 系列可以使用 CentOS 提供的 yum RPM 包进行安装。
RHEL5 默认安装YUM,直接可以使用
CentOS 默认安装YUM,直接可以使用
Fedora 默认安装YUM,直接可以使用

2. 安装和更新以及卸载
安装

复制代码
代码如下:

yum install PACKAGE_NAME ...

   -y: 自动回答为yes
 
如果需要安装指定的版本的程序:

复制代码
代码如下:

yum install PACKAGE-VERSION ...

重新安装指定的程序包:

复制代码
代码如下:

yum reinstall PACKAGE_NAME ...

举例:

复制代码
代码如下:

[root@localhost ~]# yum -y install creatrepo

升级

复制代码
代码如下:

yum update PACKAGE_NAME

    如果有多个版本的升级包可用,且仅期望升级到指定版本:

复制代码
代码如下:

yum update PACKAGE-VERSION

    降级:

复制代码
代码如下:

yum downgrade PACKAGE_NAME

    检查可用升级:

复制代码
代码如下:

yum check-update

举例:

复制代码
代码如下:

[root@localhost ~]# yum update createrepo

卸载

复制代码
代码如下:

yum erase|remove PACKAGE_NAME

注意:依赖于该指定程序包的其它包,会被一并卸载
举例:

复制代码
代码如下:

[root@localhost ~]# yum remove createrepo

3. Yum 常用指令使用详解
第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的包索引文件放置于/var/cache/yum目录下,所需时间可能较长.
rpm包的更新 相关指令
检查可更新的rpm包

复制代码
代码如下:

#yum check-update

更新所有的rpm包

复制代码
代码如下:

#yum update

更新指定的rpm包,如更新kernel和kernel source

复制代码
代码如下:

#yum update kernel kernel-source

大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

复制代码
代码如下:

#yum upgrade

rpm包的安装和删除 相关指令
安装rpm包,如xmms-mp3

复制代码
代码如下:

#yum install xmms-mp3

删除rpm包,包括与该包有倚赖性的包
 
复制代码
代码如下:
#yum remove xmms-mp3
   或者 
复制代码
代码如下:
yum erase xmms-mp3
(高版本)
yum缓存(/var/cache/yum/)相关参数
清除缓存中rpm包文件

复制代码
代码如下:

#yum clean packages

清除缓存中rpm头文件

复制代码
代码如下:

#yum clearn headers

清除缓存中所有相关信息

复制代码
代码如下:

#yum clearn all

rpm包信息和列表查询 相关指令
列出资源库中所有可以安装或更新的rpm包

复制代码
代码如下:

#yum list

列出资源库中特定的可以安装或更新以及已经安装的rpm包

复制代码
代码如下:

#yum list glibc
#yum list glibc*

列出资源库中所有可以更新的rpm包

复制代码
代码如下:

#yum list updates

列出已经安装的所有的rpm包

复制代码
代码如下:

#yum list installed

列出已经安装的但是不包含在资源库中的rpm包(通过其它网站下载安装的rpm包)

复制代码
代码如下:

#yum list extras

列出资源库中所有可以安装或更新的rpm包的信息

复制代码
代码如下:

#yum info

列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息

复制代码
代码如下:

#yum info glibc
#yum info glibc*

列出资源库中所有可以更新的rpm包的信息

复制代码
代码如下:

#yum info updates

列出已经安装的所有的rpm包的信息

复制代码
代码如下:

#yum info installed

列出已经安装的但是不包含在资源库中的rpm包的信息(通过其它网站下载安装的rpm包的信息)

复制代码
代码如下:

#yum info extras

搜索rpm包 相关指令
搜索匹配特定字符的rpm包(在rpm包名,包描述等中搜索)

复制代码
代码如下:

#yum search glibc

搜索包列表文件包含 realplay 的 软件包

复制代码
代码如下:

#yum provides realplay

yum命令还可用安装本地rpm包文件

复制代码
代码如下:

yum localinstall /path/to/rpm_package_file ...

安装本地rpm包
 
选项:
   --enablerepo=启用某yum仓库
   --disablerepo=禁用某yum仓库
      注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性;
   -y: 自动回答为yes
   --nogpgcheck:不验证包的来源和完整性
举例:

复制代码
代码如下:

[root@localhost ~]# yum -y localinstall /tmp/repos/glibc-common-2.6.32-358.el6.i386.rpm

4.Yum 软件仓库搭建方法
如果管理大量的服务器,rpm软件包的安装和更新,都需要访问连接Internet,这样会导致安装软件包的速度会很慢,而且会浪费带宽. 为了避免上述情况的弊端,我们可以通过自己创建本地的repository(仓库)的方法来实现软件包的快速安装和更新.
仓库服务器端创建,将DVD或者CD发行版中的所有数据拷贝到服务器上(以centos 5 为例)
创建仓库目录

复制代码
代码如下:

mkdir /yum

挂载安装介质盘

复制代码
代码如下:

mount -o loop /download/centos5.iso /mnt

复制光盘内容到/yum目录中

复制代码
代码如下:

cp /mnt/* /yum

创建repository的软件包的索引文件(需要安装 createrepo 软件包)

复制代码
代码如下:

cd /yum
createrepo -g repodata/comps.xml .
(.代表当前目录)
配置apache服务器,将DocumentRoot 指向 /yum 目录,可以列出目录内容即可(示例配置)。

复制代码
代码如下:

DocumentRoot "/yum"
<Directory "/yum">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

启动apache,测试访问正常,服务器端设置完成
客户端设置,修改 yum 配置文件(假设服务器ip = 192.168.0.1)
修改配置文件内容/etc/yum.repos.d/centos-server.repo 内容如下

复制代码
代码如下:

#cat /etc/yum.repos.d/centos-server.repo
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=0

[centos5]
name=centos5 - Base
baseurl=http://192.168.0.1/
gpgcheck=0

删除/etc/yum.repos.d/ 目录中 其他 .repo 文件(不使用其他的软件仓库)
经过如上配置后,就可以使用自己建立的仓库,进行软件包的安装和更新. 如果你需要建立很多发行版本的仓库,可以按照不同目录划分进行,参考如下目录结构

复制代码
代码如下:

/yum
|-- rh35-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-64
| |-- headers
| `-- repodata
|-- rh38-x86-32
| |-- headers
| `-- repodata
|-- rh38-x86-64
| |-- headers
| `-- repodata
|-- rh39-x86-32
| |-- headers
| `-- repodata
|-- rh42-x86-32
| `-- repodata
|-- rh43-x86-32
| `-- repodata
|-- rh44-x86-32
| `-- repodata
|-- rh44-x86-64
| `-- repodata
|-- rh45-x86-64
|-- rh46-x86-32
| `-- repodata
|-- rh46-x86-64
| `-- repodata
|-- rh47-x86-64
| `-- repodata
|-- rh48-x86-32
| `-- repodata
|-- rh48-x86-64
| `-- repodata
|-- rh50-x86-32
| `-- repodata
|-- rh50-x86-64
| `-- repodata
|-- rh52-x86-32
| `-- repodata
|-- rh52-x86-64
| `-- repodata
|-- rh53-x86-32
| `-- repodata
|-- rh53-x86-64
| `-- repodata
|-- rh54-x86-64
| `-- repodata
`-- update
|-- rhel3-x86-32
| |-- headers
| `-- repodata
|-- rhel3-x86-64
| |-- headers
| `-- repodata
|-- rhel4-x86-32
| `-- repodata
|-- rhel4-x86-64
| `-- repodata
|-- rhel5-x86-32
| `-- repodata
|-- rhel5-x86-64
`-- repodata

然后根据需要,设置客户端的yum配置文件,即可使用不同的发行版本软件仓库!

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 用Xshell设置CentOS密钥登录
    用Xshell设置CentOS密钥登录
    今天带来设置X shell 密钥登录  因为用的中文x shell 所以按照中文设置很简单1.点击工具(Tools)------新建用户密钥生成向导(New User key Wizard)(附图)2.然后出现下图时,记得密钥类型 选择RSA.其实选择DSA ,也能实现,二者其实是不同的算法。(我用的R
    03-08
  • centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player  2009-10-09 11:29:33|  分类:linux|  标签: |订阅 写出来就这么简单几步,当初刚接触Linux的时候搜索了很长时间,找了很多资料,总是出现这样那样的问题,最后终于摸索出最简单最有效的安装的方法。 随便打开一个带
    03-08
  • 部署Node.js项目(CentOS) node项目搭建
    部署Node.js项目(CentOS) node项目搭建
    操作步骤步骤 1:创建ECS实例选择操作系统为公共镜像CentOS7.2。使用root用户登录Linux实例。步骤2:部署Node.js环境—二进制文件安装该部署过程使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹中就已存在node和npm,无需手工编译。安装步骤:1、
    02-10
  • centos安装python与jdk centos安装python3.7
    centos安装python与jdk centos安装python3.7
    安装python#压缩包安装[root@china ~]# yum -y install zlib*Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun
    02-10
  • centos6下同时安装python2和python3
    #build-essential compile packagesyum groupinstall "Development Tools"yum install openssl-develyum install zlib-develyum install make gcc gcc-c++ kernel-develhttp://unix.stackexchange.com/questions/291737/zipimport-zipimporterror-cant-decomp
    02-10
  • CentOS下查看文件和文件夹大小 linux查看文件夹
    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查
    02-10
  • centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核目录一.前言二.系统环境三.系统内核下载网址四.centos7离线升级系统内核1.先查看系统环境2.离线升级系统内核五.在线升级系统内核一.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于
    02-10
  • centos7 rc.local脚本执行不成功
    腾讯云 centos7   配置文件/etc/rc.local的内容如下:#!/bin/sh#secu_agent init monitor, install at Thu Aug 3 11:19:41 CST 2017/usr/local/sa/agent/init_check.sh/dev/null 21/usr/sbin/ntpdate ntpupdate.tencentyun.com /dev/null 21 /usr/local/qclo
    02-10
  • 如何在centos7启动时自动挂载硬盘
    在/etc/rc.local中加入如下的语句,这样就不用每次重启后手动挂载了(后面挂载的目录根据自己的需求而定):mount  /dev/sdb1 /usr/sharedfiles/sdbmount  /dev/sdc1 /usr/sharedfiles/sdcmount  /dev/sdb1 /root/sdbmount  /dev/sdc1 /root/sdc注意:可以
    02-10
  • centos7.2 开启防火墙
    开启防火墙当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”
    02-10
点击排行