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

 

posted @   小粉优化大师  阅读(225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示