YUM软件管理工具用法

简介: YUM软件管理工具用法

rpm工具只能进行rpm包的本地安装和卸载,而没有解决远程安装和解决依赖等问题,因此YUM应运而生。

YUM是Yellow dog Updater, Modified的缩写,是一个在RedHat、Fedora、Centos和Oracle Linux下的软件包管理器。

YUM的软件管理是基于RPM包的,它从指定的服务器下载RPM包并且安装,这些软件来自于Linux开源社区,基本都是自由软件。

YUM能够自动处理软件包依赖关系,并且自动进行依赖包的安装,非常方便。

  1. YUM语法YUM的语法格式为yum [options] [command] [package ...],重要可选项有:
可选项 含义
-h 显示帮助信息
-y 安装过程中所有的提问都回答yes
-c 指定配置文件
-v 详细模式
-q 安静模式
-C 安全从缓存运行,不下载或者更新任何头文件
  1. command常见参数有:
命令 含义
install 安装rpm软件包
update 更新rpm软件包
check-update 列出所有可更新的软件清单命令
remove 删除软件包
list 列出所有可安裝的软件清单命令
search 查找软件包
info 显示指定的rpm软件包的描述和概要信息
clean 清理yum过期缓存
shell 进入yum的shell描述符
resolvedep 显示rpm软件包的依赖关系
localinstall 安装本地的rpm软件包
localupdate 显示本地rpm软件包进行更新
deplist 显示所有的软件包依赖
groupinstall 安装程序组
groupupdate 更新程序组
groupremove 卸载程序组
groupinfo 查看程序组信息
  1. 常用的用法如下:
  • 安装软件包

[root@node1]# yum install <package_name>

  • 清除缓存目录下的软件包

[root@node1]# yum clean packages

  • 清除缓存目录下的headers

[root@node1]# yum clean headers

  • 清除缓存目录下旧的headers

[root@node1]# yum clean oldheaders

  • 清除缓存

[root@node1]# yum clean

  • 或者

[root@node1]# yum clean all

  • 相当于yum clean packages;yum clean oldheaders
  • 卸载软件包

[root@node1]# yum remove <package_name>

  • 查找软件包

[root@node1]# yum search <keyword>

  • 列出所有可更新的软件清单

[root@node1]# yum check-update

  • 更新所有软件

[root@node1]# yum update

  • 或者

[root@node1]# yum upgrade

  • update和upgrade都是更新软件包,区别在于upgrade会删除旧的软件包,而update则会保留。
  • 更新指定软件

[root@node1]# yum update <package_name>

  • 列出所有可安装的软件清单

[root@node1]# yum list

  • 列出所有已安装的软件清单

[root@node1]# yum list installed

  1. YUM配置yum配置文件位置为/etc/yum.conf,默认内容如下:

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

#启用gpg校验

gpgcheck=1

# 启用yum插件

plugins=1

pkgpolicy=newest

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

  1. 可以看到这里配置了缓存的目录cachedir和日志目录logfile,其中缓存目录引用了两个变量basearch和releasever,其中basearch是我们的系统硬件架构CPU指令集,可以使用命令`arch`获得,而releasever表示的是系统的发行版本,使用命令rpm -qi centos-release可以获得,以本人当前系统为例:

[root@node1]# arch

x86_64

[root@node1]# rpm -qi centos-release

Name       : centos-release

Version     : 7

Release     : 7.1908.0.el7.centos

Architecture: x86_64

Install Date: Sun 12 Jan 202001:15:37 AM CST

Group       : System Environment/Base

Size       : 42295

License     : GPLv2

Signature   : RSA/SHA256, Thu 05 Sep 201909:19:24 PM CST, Key ID 24c6a8a7f4a80eb5

Source RPM : centos-release-7-7.1908.0.el7.centos.src.rpm

Build Date : Thu 05 Sep 201909:05:40 PM CST

Build Host : x86-01.bsys.centos.org

Relocations : (not relocatable)

Packager   : CentOS BuildSystem <http://bugs.centos.org>

Vendor     : CentOS

Summary     : CentOS Linux release file

Description :

CentOS Linux release files

  1. 配置YUM源yum从远程镜像源仓库拉取软件,Linux发行版默认都会提供一个yum源,例如Centos下的mirrorlist.centos.org,默认的源配置以.repo为文件格式后缀的配置文件存储在/etc/yum.repos.d目录下。以nginx repo为例,repo文件的格式如下:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/6/$basearch/

gpgcheck=0

enabled=1

  • [nginx]为serviceid,用于区分不同的repository
  • name为repository的名称,描述信息
  • baseurl最为重要,是获取软件的路径
  • pgpcheck表示是否进行gpg校验,1为启动gpg,0为不启用
  • enabled 表示是否启动,1为启动,0为禁用
  1. 创建新的repo文件以后,使用yum clean all;yum makecache重建yum缓存。
    当多个repo文件配置的repo仓库都有同一个软件时,将会根据yum.conf配置文件中的pkgpolicy配置项决定从哪个repo拉取软件包,默认情况下是newest,从最新版本的repo拉取,pkgpolicy的值还可以是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。
  2. yum fastmirror
    fastestmirror是yum提供的插件,用于在配置了多个repository的情况下探测决定哪个repository是速度最快的,这个插件非常有用,能够显著提高安装速度。
    想要使用fastestmirror,则在repo配置文件中不能使用baseurl指定软件包服务器地址,而是要使用mirrorlist代替baseurl。
    如Centos-Base.repo

[base]

name=CentOS-$releasever- Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

  1. 当使用yum命令的时候可以看到以下输出,代表已经使用了fastestmirror。

[root@node1]# yum repolist

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

相关文章
|
1月前
|
缓存 运维 Ubuntu
掌控软件管理:详解 APT、YUM 和 DNF 的使用方法
掌控软件管理:详解 APT、YUM 和 DNF 的使用方法
80 0
|
4月前
|
缓存 安全 Linux
本地YUM源大揭秘:搭建您自己的Linux软件宝库,从此告别网络依赖!一文掌握服务器自给自足的终极技能!
【8月更文挑战第13天】在Linux中,YUM是一款强大的软件包管理工具,可自动处理依赖关系。为适应离线或特定安全需求,本指南教你搭建本地YUM源。首先创建存放软件包的`localrepo`目录,复制`.rpm`文件至其中。接着,安装并运用`createrepo`生成仓库元数据。随后配置新的`.repo`文件指向该目录,并禁用GPG检查。最后,清理并重建YUM缓存,即可启用本地YUM源进行软件搜索与安装,适用于网络受限环境。
300 3
|
6月前
|
Ubuntu Python
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
814 1
|
5月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
5月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
6月前
|
缓存 人工智能 Linux
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
【Linux】--- 详解Linux软件包管理器yum和编辑器vim
98 0
|
7月前
|
存储 缓存 Ubuntu
Linux:软件包管理器 - yum
Linux:软件包管理器 - yum
113 2
|
7月前
|
C语言
软件管理rpm与yum
软件管理rpm与yum
|
7月前
|
Linux Windows
【Linux】Linux 软件包管理器 yum
【Linux】Linux 软件包管理器 yum
【Linux】Linux 软件包管理器 yum
|
7月前
|
缓存 Linux Android开发
【Linux】软件包管理器 yum
【Linux】软件包管理器 yum
153 0