Linux软件管理 - YUM工具

Linux软件管理 - YUM工具

文本关键字:Linux、软件管理、YUM工具、解决依赖

一、YUM介绍

1. YUM含义

YUM的全称是:Yellowdog Updater Modified,是一个基于RPM包管理的Shell前端软件包管理器。由于是基于RPM包管理器,那么使用的场景也就和RPM类似,主要支持的Linux操作系统为:RedHat、CentOS、Fedora。YUM还提供了图形化前端工具:yumex和kyum,需要在yum正常工作的前提下使用。

2. YUM特点

  • 使用python开发
  • 需要对应的软件仓库(repository)
  • 自动化升级、安装、移除rpm软件包
  • 可以很好的解决RPM软件包依赖问题
  • 可以自定义多个资源库/yum源(repository)

3. YUM工作流程

  • 执行yum命令
  • 读取yum配置文件,获取仓库信息
  • 在仓库中搜索元数据文件,确定所需软件及依赖的软件
  • 下载相关软件包及校验文件
  • 按顺序安装软件包
  • 当远程仓库更新后可以通过相应的命令更新本地缓存(软件元信息)

二、常用操作

在系统安装完毕后已经默认配置了网络源,在网络畅通的情况下,可以使用yum命令完成软件的安装、升级、卸载等操作。

1. 常用指令

  • install {package1} [package2] [...]

    • 将安装最新版的软件以及相关的依赖,可以同时安装多个软件包,用空格隔开
    • 指定的软件包可以是一个名称,也可以是一个rpm软件包文件
    • 当指定为一个rpm软件包文件时,效果等同于localinstall
  • update/update-to [package1] [package2] [...]
    • 不填写软件包参数时将更新系统的所有软件至最新版
    • 指定的软件包可以是一个名称,也可以是一个rpm软件包文件
    • 当指定为一个rpm软件包文件时,效果等同于localupdate
    • update-to:可以指定将软件升级至某一版本
  • check-update:列出所有可更新的软件清单

  • remove/erase {package1} [package2] [...]:删除指定的软件包
  • list
    • 不写任何参数时等同于all:列出所有可用的软件包信息以及已安装的软件包信息
    • available:列出所有在yum源中可安装的软件包
    • updates:列出所有在yum中可用于升级的软件包
    • installed:列出所有已安装的软件包信息

  • info:列出某一个软件或所有软件的详细信息,支持的选项与list相同

  • clean

    • 不填写参数时效果等同于clean all:将会清空所有本地缓存文件
    • packages:清空已下载的所有软件包,默认情况下不会自动删除
    • metadata:清空已下载的元信息缓存文件,再次运行yum时会重新下载进行缓存
    • expire-cache:清除过期的缓存,如果缓存数据仍然可用,将不会执行删除操作
    • rpmdb:清空所有缓存在本地的rpm软件数据库信息
    • plugins:清空所有插件对应的缓存数据
    • all:清空上面列出的所有缓存数据
  • makecache:在本地缓存元数据

  • search {string1} [string2] [...]:根据提供的信息搜索软件包,会优先根据名称搜索,如果未发现会使用描述信息和url匹配
  • localinstall {rpmfile1} [rpmfile2] [...]:使用yum安装一个rpm软件包,会自动从可用源中搜索安装所需依赖软件
  • localupdate {rpmfile1} [rpmfile2] [...]:使用yum升级一个rpm软件包,会自动从可用源中搜索安装所需依赖软件
  • reinstall {package1} [package2] [...]:重新安装某个软件包,以最近一次安装的版本为准
  • deplist {package1} [package2] [...]:列出某一个软件包相关的依赖软件列表

只截取了部分内容,嗯,果然,rpm软件依赖一不小心就会变成噩梦,yum,感谢有你。

  • repolist [all/enabled/disabled]

    • all:显示所有的yum源
    • enabled:显示所有开启状态的yum源
    • disabled:显示所有关闭状态的yum源

  • check:检查本地rpm数据库和产品信息是否有误

2. 常用选项

  • -y:自动使用yes应答过程中的选项
  • -q:取消输出内容,静默安装
  • -v:输出详细信息
  • -R:设置最大等待时长,单位为分钟
  • -‌-version:显示当前yum工具版本

  • -‌-skip-broken:解决卸载软件时产生的依赖错误问题
  • -‌-downloadonly:只进行软件的下载
  • -‌-downloaddir:指定软件包下载路径

三、YUM源的管理维护

1. yum配置文件

  • yum配置文件目录:/etc/yum.repos.d
  • yum配置文件:*.repo

    2. 配置国内镜像

    默认情况下,Base对应的是网络镜像的配置,Media对应的是本地镜像的配置,网络镜像地址是使用的centos.org提供的镜像列表,可以将镜像修改为国内的阿里、网易等镜像,提升下载速度。

  • 备份原有的Base配置文件(可选操作)
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
  • 下载阿里云yum配置文件,写入对应的文件中
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

  • 生成缓存
yum makecache

四、本地YUM源配置

1. 配置项说明

  • [serverid]:repo的唯一标识,用于区分不同的repo
  • name:对repo的描述,支持使用$进行引用变量值的写法
  • mirrorlist:镜像列表地址,打开之后是一个记录多个镜像地址的列表,会自动在这些列表中扫描选择镜像资源
    • release:发行版本,对应的大版本号,如:6,7
    • arch:系统架构,32位一般对应i386,64位对应x86_64
    • repo:仓库类型,如os、fasttrack等
    • infra:该选项可省略,对应值为stock,可以在/etc/yum/vars/infra中查看


  • baseurl:直接指向一个yum源地址,支持多种协议

    • http:网络传输协议
    • ftp:文件传输协议
    • file:文件协议,可以指向一个本地磁盘路径
  • gpgcheck:是否开启gpg校验
    • 0:关闭
    • 1:开启
  • gpgkey:指定校验文件URL
  • enabled:是否启用该配置
    • 0:关闭
    • 1:开启
  • failovermethode:对应仓库出现故障时如何挑选
    • roundrobin:默认选项,随机挑选
    • priority:按顺序挑选

2. 挂载光盘镜像

由于系统镜像中包含了大部分常用的软件包,所以在离线情况下一般都是使用系统镜像作为yum源。使用虚拟机时可以直接进行光盘镜像挂载,物理机时可以搭建ftp服务器或者将光盘镜像文件烧录至U盘后挂载,亦或是将其中的内容全部拷贝至系统某一个路径下。

光盘镜像挂载后,会在/dev下被识别为cdrom,使用如下命令进行挂载:

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

3. 修改配置文件

  • 使默认的Base配置失效,否则在无网络连接的情况下会出现找不到服务器的错误
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  • 以Media文件为模板,将baseurl指定为光盘挂载路径,完整配置内容如下(CentOS-Media.repo):

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/
gpgcheck=0
enabled=1

如果gpgcheck指定为1,则需要正确指定gpgkey的值为校验文件所在路径,如:/mnt/cdrom/RPM-GPG-KEY-CentOS-6

4. 可用验证

yum makecache

原文地址:https://blog.51cto.com/10984944/2472635

时间: 2024-10-14 11:01:14

Linux软件管理 - YUM工具的相关文章

36.Linux软件管理--YUM工具

软件分类: v 源码软件包:软件开发者,源代码集合包.适用于所有的Linux系统. v 定制软件包:根据特定系统和版本从源码包提取的软件包.RPM包和DEB包都是属于定制软件包.RPM包适用于Redhat,CentOS,Fedora等操作系统.DEB包适用于Debian,Ubuntu等操作系统. 源码包和定制软件包的区别 源码包 RPM.DEB包 安装复杂,卸载容易 安装简单,卸载麻烦 安装目录集中 安装目录分散 兼容性好 兼容性差 命令执行需要跟全路径 命令执行不需要跟全路径 特定的软件也需要

Linux软件管理 - RPM工具

Linux软件管理 - RPM工具 文本关键字:Linux.软件管理.RPM工具.软件依赖 一.RPM介绍 1. RPM含义 RPM的全称是:Red Hat Package Manager,是RPM软件包管理器.在Linux系统中对应命令是rpm,我们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此之外还包括和Red Hat最亲近的CentOS,以及其他一些主流发行版:SuSE.Fedora等. 2. RPM特点 rpm也是一种打包格式,使用rpm工具来进行管理

Linux软件管理——yum命令详解

1 yum install <softwarename> #安装指定软件 2 yum remove <softwarename> #卸载指定软件 3 yum update <softwarename> #升级指定软件 4 yum search <keyword> #查询含有keyword的所有rpm软件包的描述 5 yum list (all/installed/recent/updates) #列出全部,安装过的,最近的软件 6 yum info <

linux软件管理YUM与配置YUM源

yum ---> 软件包管理器 是一个基于RPM的软件包管理器能够从指定服务器自动下载RPM包并且安装可以处理软件之间的依赖关系,一次性安装所有依赖的软件包 yum源分为本地yum源与网络yum源 yum clean all --->清除原有yum缓存repolist --->列出仓库信息install software --->安装update --->更新 (更新单个软件)list software --->查看软件list all --->查看所有软件lis

linux入门基础——linux软件管理基础:YUM

YUM软件管理 YUM(yellowdog Updater,modified)是一个RPM的前端程序,主要的目的是设计用来自动解决RPM的依赖关系问题.其特点如下: 自动解决依赖关系 可以对RPM进行分组,并基于组进行安装操作 引入仓库概念,支持多个仓库 配置简单 YUM引入了仓库的概念,仓库用来存放所有现有的rpm软件包,当使用rpm安装一个rpm软件时,如果存在依赖关系,会自动在仓库中查找依赖软件并安装 仓库可以是本地的,也可以通过http.ftp或者NFS形式使用集中的.统一的网络仓库.

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

Linux软件管理 - 编译安装

Linux软件管理 - 编译安装 文本关键字:Linux.软件管理.configure.make.make install 一.环境准备 很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序.在进行编译时,需要先使用yum安装编译工具. 1. 核心组件 必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C.C++.Objective-C.Fortran.Java.Ada.Go语言前端,也包含了对应语言的库,几乎可以

linux软件管理(六)

[教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软件的安装.升级.查询.反安装的功能.优点:a.安装方便,软件中所有数据都经过编译和打包b.查询.升级.反安装方便缺点:a.缺乏灵活性b.存在相依属性 用法: rpm  参数   软件包 指令选项-i:安装.-U:升级安装,如果不存在也安装.-F:更新安装,如果不存在不安装.-v:查看信息.-h:有进

linux入门基础——linux软件管理RPM

因为linux入门基础是基于CentOS讲解的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RPM软件包管理 源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要手动编译成二进制形式之后才能够运行使用 源代码基本编译流程: 1 ./configure   检查编译环境.相关库文件以及配置参数并生成makefile 2 make