Linux软件包管理-yum命令使用
1、基础
1.1、什么是yum
yum/dnf是 RedHat及CentoS系统中的软件包管理器。它能够通过互联网下载.rpm 格式包进行安装,并能自动处理其依赖间关系,无须繁琐地一次次下载安装。
1.2、什么是yum源
要使用yum命令工具安装更新软件,需要有一个包含各种rpm软件包的仓库,这个软件仓库我们一般称为yum源。当然这个源可以是本地仓库、也可以是网络仓库。
如 : client --ftp/http/file-> yum地址--->yum仓库(rpm包集合)
1.3、yum配置文件解析
1.3.1、centos 7
]# vi /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever # 缓存目录 keepcache=0 # 缓存软件包,1启动,0关闭 debuglevel=2 # 调试级别 logfile=/var/log/yum.log # 日志记录位置 exactarch=1 # 检查平台是否兼容 obsoletes=1 # 检查包是否废弃 gpgcheck=1 # 检查来源是否合法,需要有制作者的公钥信息 plugins=1 installonly_limit=5 # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制 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 # metadata_expire=90m # 每小时手动检查元数据
# in /etc/yum.repos.d # repo加载的配置目录
1.3.2、centos 8
]# cat /etc/ yum.conf[main] gpgcheck=1 # 检查来源是否合法,需要有制作者的公钥信息 installonly_limit=5 # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制 clean_requirements_on_remove=True # 删除包时,是否将不再使用的包删除 best=True # 升级时,自动选择安装最新版,即使缺少包的依赖 skip_if_unavailable=False
2、配置yum源
2.1、配置阿里云yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.2、配置第三方yum源
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.3、配置nginx yum源
cat >/etc/yum.repos.d/nginx.repo<<'EOF' [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 EOF
3、yum常用操作
3.1、yum查询软件包
3.1.1、查询所有仓库中httpd软件包
yum list | grep httpd
3.1.2、查询所有已安装至系统中的软件包
yum list installed
3.1.3、查询系统命令来自于哪个软件包
yum provides cd
yum provides ls
3.2、通过仓库获取软件包进行安装
3.2.1、yum install-链接仓库安装
# 交互式 yum install vsftpd # 非交互式 yum install vsftpd -y
3.2.2、yum localinstall-本地有rpm包自动解决依赖安装
yum localinstall samba-4.10.16-5.el7.x86_64.rpm
3.3、重装软件包
yum reinstall vsftpd -y
3.3、yum软件包更新
3.3.1、对比Linux已安装的软件和yum仓库中的软件,有哪些需要升级
yum check-update
3.3.2、更新rpm包
yum update expat -y
3.3.3、更新所有rpm包
yum update -y
3.4、删除软件包
yum remove vsftpd -y
3.5、yum管理组包
3.5.1、yum groups install-安装—整个组的软件
# 查看组 yum groups list yum groups install Development Tools
3.5.2、yum groups remove-删除组包
yum groups remove Development Tools
3.6、yum管理仓库
3.6.1、列出yum repolist源可用的软件仓库
# 显示可用的 yum repolist # 显示所有的 yum repolist all
3.6.2、yum-config-manager命令找不到的解决方法
]# yum provides yum-config-manager Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com yum-utils-1.1.31-54.el7_8.noarch : Utilities based around the yum package manager Repo : base Matched from: Filename : /usr/bin/yum-config-manager yum-utils-1.1.31-54.el7_8.noarch : Utilities based around the yum package manager Repo : @base Matched from: Filename : /usr/bin/yum-config-manager
3.6.3、关闭nginx仓库
yum-config-manager --disable nginx
# 可以使用yum repolist查看可用的仓库
# 本质都是在修改repo文件中的enable参数值日 不启用 1启用
3.6.4、启动nginx仓库
yum-config-manager --enable nginx
# 本质都是在修改repo文件中的enable参数值日 不启用 1启用
3.7、yum管理历史记录
3.7.1、删除vsftpd软件,然后查看操作记录
yum remove vsftpd -y yum history
3.7.2、查看删除版本信息
]# yum history Loaded plugins: fastestmirror ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 23 | remove vsftpd | 2023-04-21 11:33 | Erase | 1
]# yum history info 23 Loaded plugins: fastestmirror Transaction ID : 23 Begin time : Fri Apr 21 11:33:47 2023 Begin rpmdb : 383:f2d2c72bfde77c877957a6090107a59e0d4ae9ba End time : (0 seconds) End rpmdb : 382:a03272796ea7c79f3985be41c12dff65f5502326 User : root <root> Return-Code : Success Command Line : remove vsftpd Transaction performed with: Installed rpm-4.11.3-45.el7.x86_64 @anaconda Installed yum-3.4.3-168.el7.centos.noarch @anaconda Installed yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch @anaconda Packages Altered: Erase vsftpd-3.0.2-29.el7_9.x86_64 @updates
3.7.3、撤销删除
yum history undo 23 # 相当于重新安装软件
3.8、yum缓存软件包
3.8.1、全局的配置
vi /etc/yum.conf cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 # 1表示启用 # 安装软件包 ]# yum install httpd -y # 查看是否缓存 ]# find /var/cache/yum -type f -name '*.rpm' /var/cache/yum/x86_64/7/base/packages/apr-1.4.8-7.el7.x86_64.rpm /var/cache/yum/x86_64/7/base/packages/apr-util-1.5.2-6.el7.x86_64.rpm /var/cache/yum/x86_64/7/base/packages/mailcap-2.1.41-2.el7.noarch.rpm /var/cache/yum/x86_64/7/updates/packages/httpd-2.4.6-98.el7.centos.7.x86_64.rpm /var/cache/yum/x86_64/7/updates/packages/httpd-tools-2.4.6-98.el7.centos.7.x86_64.rpm
3.8.2、下载软件至本地,不用安装
yum install httpd -y --downloadonly --downloaddir=/tmp/yum-pag/ # 只能下载单个软件包 ]# ll /tmp/yum-pag/ total 2784 -rw-r--r-- 1 root root 2849180 Apr 6 01:37 httpd-2.4.6-98.el7.centos.7.x86_64.rpm
3.8.3、清除缓存包
yum clean packages
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战