
yum 是什么
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。这里所谓的RPM包就是类似Windows系统里的安装文件。其他的比如 Ubuntu 系统里的 apt-get 命令也是用于管理安装包的,功能与 yum 类似,只是在 Ubuntu 中叫 deb包。
yum 主要功能是更方便的添加/删除/更新RPM包,他能够自动解决包的依赖性问题,便于管理大量系统更新问题,作用感觉和 Java 中的 Maven、PHP 中的 Composer、NodeJS 中的 NPM 类似。
yum 可以通过修改配置文件 /etc/yum.conf
,来配置多个资源库。
yum 和 apt-get 区别
一般来说著名的 linux 系统基本上分两大类:
- RedHat系列:Redhat、CentOS、Fedora等
- Debian系列:Debian、Ubuntu等
RedHat 系列
1. 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
2. 包管理工具 yum
3. 支持tar包
Debian系列
1. 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
2. 包管理工具 apt-get
3. 支持tar包
什么是 rpm包
tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。
rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。
tar 一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
tar 一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。
rpm 是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。
yum 的语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为”yes”),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:操作的对象。
yum 的使用
更新所有 rpm 包(系统升级)
yum update
升级内核
yum update kernel
安装 rpm 包
yum install <package_name>
移除指定 rpm 包
yum remove <package_name>
清理已安装过的缓存数据(相当于 yum clean packages
+ yum clean oldheaders
)
yum clean all
搜索指定包的详细信息
yum search <keyword>
列出所有包
yum list [keyword]
显示包的详细信息
yum info <package_name>
列出所有可更新的软件包
yum list updates
列出所有已安装的 rpm 包
yum list installed
列出所有已安装但不在 Yum Repository 内的软件包
yum list extras
列出指定的 rpm 包
yum list <package_name>
检查可更新的 rpm 包
yum check-update
清理缓存中的 rpm 包文件
yum clean packages
清理缓存中的 rpm 头文件
yum clean headers
清理缓存中旧的 rpm 头文件
yum clean oldheaders
按照提供商根据指定关键词进行搜索 npm 包
yum provides <keyword>
yum-fastestmirror 插件
类似java中的maven,软件包可以存在很多仓库中,有的仓库慢有的仓库快,对此,可以安装 yum-fastestmirror 这个插件,它会自动选择最快的镜像进行下载安装:
yum install yum-fastestmirror
安装插件后就会在每次安装 rpm 包时,都会先加载 fastestmirror 插件寻找最快的镜像了
centos 下安装 SCL
CentOS上的一些库比较古老,特别是我这种对新版本的PHP、Java等有强烈需求的开发者,于是,出现了许多第三方软件库,如EPEL、RPM Fusion、Remi等,这些库提供了很多安装包的新版本,方便我们的系统能与时俱进,但是第三方软件库有几个缺点:
- 他们提供的软件没有经过CentOS官方测试,在安装软件的同时,可能会替换掉系统的一些核心文件,造成系统不稳定。
- 第三方库安装的软件可能不保证兼容性,也许对系统升个级就会导致某个软件没法使用。
所以推荐用SCL(Software Collections)软件库。SCL属于CentOS官方的软件库,经过充分测试,安装软件时不会替换系统的核心文件,保证了系统的稳定性。安装很简单,命令就这一条:
install centos-release-scl-rh
此时如果你运行php命令,系统依然会提示你command not found。这是因为,SCL的风格就是把软件对系统的影响减少到最小,甚至安装完PHP,php命令都不会被添加到 $PATH 变量中,所以你没法直接执行软件中的命令的。需要通过 scl enable 命令显示执行:
查看 scl 下安装了哪些软件的命令:
scl -l
启用命令
scl enable XXX bash
本文作者: 行风
本文链接: https://acme.top/linux-yum
版权声明: 本站文章欢迎链接分享,禁止全文转载!
发表评论
沙发空缺中,还不快抢~