Aristotle
发布于 2023-02-11 / 6 阅读 / 0 评论 / 0 点赞

YUM命令

yum

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

安装软件

yum install yourSoft

yum -y install yourSoft, 自动确认

安装监测最快镜像的插件,以便于自动选择最快的源

yum install yum-fastestmirror

同时安装xxx yyy两个软件包:

[root@zcwyou ~]# yum -y install xxx yyy

更新所有软件

[root@zcwyou ~]# yum update 

只更新某款软件

[root@zcwyou ~]# yum update xxx

检查可用的更新

[root@zcwyou ~]# yum check-update

升级指定的软件xxx

[root@zcwyou ~]# yum groupinfo xxx

删除xxx软件

[root@zcwyou ~]# yum remove xxx

查看xxx软件的依赖情况

[root@zcwyou ~]# yum deplist xxx

清除缓存目录下的软件包及旧的headers,此命令相当于yum clean package加yum clean oldheaders

[root@zcwyou ~]# yum clean all

yum的查询功能

我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。

使用YUM查找软件包

[root@zcwyou ~]# yum search XXX

列出所有可安装的软件包

[root@zcwyou ~]# yum list XXX

列出所有可更新的软件包

[root@zcwyou ~]# yum list updates XXX

列出所有已安装的软件包

[root@zcwyou ~]# yum list installed XXX

Linux使用yum列出所有可更新的软件包信息

列出所有已安裝的软件包信息

[root@zcwyou ~]# yum info installed

列出所有已安裝但不在 Yum Repository 內的软件包信息

[root@zcwyou ~]# yum info extras

查询软件包提供哪些文件,比如你参考网上的命令是ifconfig

[root@zcwyou ~]# yum provides ifconfig

获取ifconfig命令所对应的软件。然后使用yum -y install net-tools

查询某软件的详细信息

[root@zcwyou ~]# yum info xxx

yum仓库的配置文件

放在/etc/yum.repos.d/目录下

[root@zcwyou ~]# ll /etc/yum.repos.d/

查看某仓库配置:

[root@zcwyou ~]# cat /etc/yum.repos.d/epel.repo
[ec2-user@ip-172-31-6-9 yum.repos.d]$ cat amzn2-core.repo 
[amzn2-core]
name=Amazon Linux 2 core repository
mirrorlist=$awsproto://$amazonlinux.$awsregion.$awsdomain/$releasever/$product/$target/$basearch/mirror.list
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2
enabled=1
metadata_expire=300
mirrorlist_expire=300
report_instanceid=yes

[amzn2-core-source]
name=Amazon Linux 2 core repository - source packages
mirrorlist=$awsproto://$amazonlinux.$awsregion.$awsdomain/$releasever/$product/$target/SRPMS/mirror.list
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2
enabled=0
metadata_expire=300
mirrorlist_expire=300
report_instanceid=yes

[amzn2-core-debuginfo]
name=Amazon Linux 2 core repository - debuginfo packages
mirrorlist=$awsproto://$amazonlinux.$awsregion.$awsdomain/$releasever/$product/$target/debuginfo/$basearch/mirror.list
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2
enabled=0
metadata_expire=300
mirrorlist_expire=300
report_instanceid=yes

参考:https://www.cnblogs.com/ziliaoka/p/14952909.html

centos 多个yum源,系统怎么选择

yum配置文件:/etc/yum.conf

pkgpolicy:包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。

如果包在两个yum源中都有,会在下面的文件中按顺序:

/var/cache/yum/x86_64/6/timedhosts.txt

参考:https://www.cnblogs.com/liang-wei/p/6837124.html

修改yum源的优先级

ps:当既有本地yum源又有163源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用163源去安装软件,这里就涉及到了优先级的问题,yum提供的插件yum-plugin-priorities.noarch可以解决这个问题

参考:https://blog.csdn.net/qq_28975017/article/details/77174670

yum 安装指定版本的包 yum安装指定版本版本的rpm

参考:http://events.jianshu.io/p/607236666b09