Linux - Yum的常用方法总结
阅读原文时间:2024年06月21日阅读: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数据库的一致性

Yum的命令形式

yum [options] [command] [package …]

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

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

查找和显示

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 內的软件包信息

安装升级卸载

yum install 全部安装

yum install "packages" 安装新软件包

yum check-update 列出所有可更新的软件清单

yum update 下载更新系统已安装的所有软件包

yum update "packages" 更新指定的软件包

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

yum remove "packages" 卸载指定的软件包

清除缓存

yum clean headers 清除缓存中的rpm头文件

yum clean packages 清除缓存中rpm包文件

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

程序组

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”

注意事项

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

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

代理设置

暂时使用代理,在命令行输入下面一条命令:

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

长久使用代理的情况:

在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 ,去除环境变量.

问题处理示例

使用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