1 - 简述

rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装、查询、卸载、升级等工作。

但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

Yum(全称为 Yellow dog Updater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,类似于Ubuntu的apt。

Yum可以更方便地添加/删除/更新RPM包,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

配置文件:/etc/yum.conf

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

2 - Yum的命令形式

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

  • [options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • [command]为所要进行的操作,
  • [package ...]是操作的对象。

把服务器的软件包信息下载到本地缓存,可以直接在本地搜索软件包信息,速度快,配合yum -C search "regex"使用。

3 - 常用yum命令

3.1 查找和显示

yum search "regex" 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum makecache fast 下载服务器的软件包信息到本地缓存,可以直接在本地搜索软件包信息,速度快,配合yum -C search "regex"使用
yum provides "regex" 检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum deplist "packages" 显示软件包的依赖信息
yum info "packages" 显示包的信息
yum check-update 检查可更新的所有软件包 yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list "regex" 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available "regex" 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates "regex" 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed "regex" 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras "regex" 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包 yum info 列出所有软件包的信息
yum info updates 列出所有可更新的软件包信息
yum info installed 列出所有已安裝的软件包信息
yum info extras 列出所有已安裝但不在 Yum Repository 內的软件包信息

3.2 安装升级卸载

yum install 全部安装
yum install "packages" 安装新软件包
yum check-update 列出所有可更新的软件清单
yum update 下载更新系统已安装的所有软件包
yum update "packages" 更新指定的软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum remove "packages" 卸载指定的软件包

3.3 清除缓存

yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件

3.4 程序组

yum grouplist 查看系统中已经安装的和可用的软件组
yum groupinfo "groupnames" 显示程序组信息
yum groupinstall "groupnames" 安装指定软件组中的软件包
yum groupupdate "groupnames" 更新指定软件组中的软件包
yum groupremove "groupnames" 卸载指定软件组中的软件包 yum -y groupinstall “X Window System”
yum -y groupinstall “GNOME Desktop Environment”
yum -y groupinstall “KDE (K Desktop Environment)”
yum -y groupinstall “Server Configuration Tools”
yum -y groupinstall “Development Libraries”
yum -y groupinstall “Development Tools”
yum -y groupinstall “Windows File Server”
yum -y groupinstall “Chinese Support”
yum -y groupinstall “MySQL Database”
yum -y groupinstall “FTP Server”
yum -y groupinstall “Java Development”
yum -y groupinstall “Web Server”

4 - 注意事项

当第一次使用yum 或yum 资源库有更新时,yum 会自动下载所有所需的headers放置于/var/cache /yum目录下,所需时间可能较长。

yum 命令还可以使用 -y 参数用于用 yes 回答命令运行时所提出的问题,比如 yum -y install vsftpd,这样在安装软件的时候就不用输入yes/y了。

5 - 代理设置

5.1 暂时使用代理

在命令行输入下面一条命令

export http_proxy="http://10.144.1.10:8080"

5.2 长久使用代理

在yum源的参数加proxy=“http://ip:port”,即在/etc/yum.conf中加入下面几句.

proxy=http://10.144.1.10:8080

proxy_username=username

proxy_password=password

另外:

/root/.bashrc中加入:export http_proxy="http://username:password@10.144.1.10:8080"

如果是通过ip或电脑的网卡地址认证,可忽略所有username 和 password .

注意:

停止使用代理的时候,要把改过的文件改成原样.

尤其是如果使用了export http_proxy="http://10.144.1.10:8080"命令,要在命令行输入: unset http_proxy ,去除环境变量.

6 - 问题处理示例

示例-1

使用yum安装时报错:
`Another app is currently holding the yum lock:waiting for it to exit...`
`The other application is: yum-updatesd-he`
错误信息说明在后台有一个yum-updatesd-he的进程在运行,导致当前安装不成功。
可能原因是先前的yum任务在运行的时候被强行终止,解决办法
`# rm -f /var/run/yum.pid`
`# /sbin/service yum-updatesd restart`

示例-2

执行“yum update”命令报错“Cannot find a valid baseurl for repo: base/7/x86_64”;
可能原因是网络不通,除了检查网卡配置外,还应确认代理设置;

Linux - YUM包管理的更多相关文章

  1. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  2. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  3. linux RPM/YUM包管理

    linux RPM/YUM包管理 目录 linux RPM/YUM包管理 RPM RPM包管理 查询rpm包 卸载rpm包 安装rpm包 YUM 查看yum服务器是否有需要安装的软件 下载安装指定的y ...

  4. 【转】Linux中包管理与定时任务

    [转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...

  5. Linux - DNF包管理

    简介 link DNF(Dandified Yum)是新一代的RPM软件包管理器. DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容. DN ...

  6. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  7. Linux程序包管理初步-yum的使用

    何为yum? yum:由yellow dog研发,全称Yellowdog Update Modifier 是rhel系列系统上rpm包管理器的前端工具,可用来自动解决依赖关系,从而更好的实现程序包的安 ...

  8. Linux 程序包管理-YUM

    前端工具YUM管理程序包:  rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问题 ...

  9. Linux对包管理阐述

    Centos/Redhat/Fedora的软件包,都是rpm后缀的文件.包管理器rpm(Redhat packages manager)  linux的哲学思想是简单命令解决复杂任务,因此每个软件的功 ...

随机推荐

  1. python学习笔记(七)- 递归、python内置函数、random模块

    1.函数的不固定参数: #参数不是必填的.没有限制参数的个数.返回参数组的元组 def syz(*args): #参数组,不限制参数个数 #‘args’参数的名字可以随便命名 print(args) ...

  2. javascript中的类型检测

    最常见的是使用 typeof 来判断数据类型 可以区分4种基本类型,即 “number”,”string”,”undefined”,”boolean”,第5种基本类型null类型返回值为object( ...

  3. 深入浅出PF 学习笔记---TypeConverter

    StringToHumanTypeConverter类(从TypeConverter继承 using System; using System.Collections.Generic; using S ...

  4. C++中重载操作符[ ]

    1.首先说说为什么要重载操作符[ ] 主要是因为系统只给了整数类型(int)的重载函数,即只能在方括号中输入整数进行查找,但有时候我们可能存放数据时,下标的类型是自定义的,希望也能像数组直接通过下标访 ...

  5. Django之URL(路由系统)用法

    路由系统 路由系统概念 简而言之,路由系统就是路径和视图函数的一个对应关系.django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里 ...

  6. 23. pt-slave-delay

    略过,用原生的延迟复制: stop slave; change master to master_delay=5; start slave;

  7. c语言基础课第三次作业

    7-1找出最小值 1.实验代码 #include <stdio.h> int main(void) int n, i, m, min; scanf("%d", & ...

  8. JSP内置对象seesion

    什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定 ...

  9. tensorflow学习之(五)构造简单神经网络 并展示拟合过程

    # def 添加层 如何构造神经网络 并展示拟合过程 import tensorflow as tf import numpy as np import matplotlib.pyplot as pl ...

  10. Python11/12--GIL/互斥锁/进程池

    GIL1.全局解释器锁? 锁就是线程里面那个锁 锁是为了避免资源竞争造成数据的错乱 2.python程序的执行过程? 1.启动解释器进程 python.exe 2.解析你的py文件并执行它 每个py程 ...