浅析CentOS yum简介及常用语法命令、以及 apt 安装常用命令
一、yum简介
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum相关的配置文件主要有两个:
(1)etc/yum.conf配置文件
(2)etc/yum.repos.d/目录下的众多.repo文件
1、什么是yum.conf文件
yum.conf文件是用来存储yum配置信息的文件,虽然yum.conf文件通常都比较简洁,却是yum软件管理器的重要组成部分。
2、什么是repo文件?
repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。
CentOS-Media 这个是使用光盘挂载后调用的文件
CentOS-Base 这个是联网后基础的源,一般都用这个
CentOS-Vault 这个是最近新版本的加入的老版本的yum源配置
CentOS-Debuginfo debug包尤其和内核相关的更新和软件安装
3、yum功能简介
yum是一款shell前端软件包管理工具,用其安装软件时,该工具以rpm包的包头(header)写入的依赖信息为依据,列出需要安装以满足欲装软件正常运行的所有依赖包,并在用户确认后进行自动化安装。
4、yum工作原理
执行yum命令时,会首先从”/etc/yum.repo.d”目录下的众多repo文件中取得软件仓库的地址并下载“元数据”,“元数据”包含注册于该软件仓库内所有软件包的包名及其所需的依赖环境等信息,yum得到这些信息后会和本地以后环境做对比,进而列出确认需要安装哪些包,并在用户确认后开始安装。
“元数据”由位于yum源服务器相关路径的repodata目录下的repomd.xml做索引。
5、yum工作流程
YUM的工作原理并不复杂,每一个 RPM 软件的头(header)里面都会记录该软件的依赖关系,那么如果可以将该头的内容记录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。
也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析记录下来,只要在进行安装或升级时先查询该记录的文件,就可以知道所有相关联的软件。
所以YUM的基本工作流程如下:
(1)服务器端:在服务器上面存放了所有的rpm软件包,然后以相关的功能去分析每个rpm文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
(2)客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
二、yum语法
1、yum 语法 —— yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
2、yum 常用命令
列出所有可更新的软件清单命令:yum check-update
更新所有软件命令:yum update
仅安装指定的软件命令:yum install <package_name>
仅更新指定的软件命令:yum update <package_name>
列出所有可安裝的软件清单命令(本地):yum list <package_name>
删除软件包命令:yum remove <package_name>
查找软件包命令(网络):yum search <keyword>
清除缓存命令:
yum clean packages
: 清除缓存目录下的软件包yum clean headers
: 清除缓存目录下的headers
yum clean oldheaders
: 清除缓存目录下旧的headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
:清除缓存目录下的软件包及旧的headers
生成缓存
yum clean all
yum makecache
其余常用命令
自动搜索最快镜像插件: yum install yum-fastestmirror
安装yum图形窗口插件: yum install yumex
查看可能批量安装的列表: yum grouplist
三、apt 常用命令
Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,是一个客户/服务器系统。
apt update :从软件源服务器获取最新的软件信息并缓存到本地。
apt upgrade :从本地仓库中对比系统中所有已安装的软件,如果有新版本的话则进行升级
apt list :列出本地仓库中所有的软件包名
apt list [package] :从本地仓库中查找指定的包名,支持通配符,比如"apt list zlib*"就能列出以zlib开头的所有包名
apt list --installed :列出系统中所有已安装的包名
apt search [key] :与list类似,通过给出的关键字进行搜索,列出所有的包和其描述
apt show [package] :列出指定包的详细情况,包名要填写完整。
apt install [package] :安装指定的包,并同时安装其依赖的其他包。
apt remove [package] :卸载包,但不删除相关配置文件。包名支持通配符
apt autoremove :卸载因安装软件自动安装的依赖,而现在又不需要的依赖包
apt purge [package] :卸载包,同时删除相关配置文件。包名支持通配符
apt clean :删除所有已下载的软件包
apt autoclean :类似clean,但删除的是过期的包(即已不能下载或者是无用的包)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-06-29 两行css代码实现瀑布流:html,css最简单的瀑布流实现方式
2020-06-29 浏览器指纹技术应用
2018-06-29 mybatis中@Param的用法和作用