yum管理工具

Posted 0_o

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yum管理工具相关的知识,希望对你有一定的参考价值。


yum管理工具


[TOC]

yum概述


什么是yum

yum也是一直rpm包管理工具,相比于rpm命令,优势是可以自动解决依赖关系

自动解决依赖关系的前提条件,你的yum源中要有这些依赖包

举例

nginx​​安装需要​​pcre-devel​​​ 、​​ openssl-devel​

yum install -y nginx


什么是yum源

yum源:可以理解为手机中的应用商店

yum其他名称:镜像站,yum仓库,rpm仓库

配置yum源

# 使用阿里云的yun源
http://mirrors.aliyun.com

# 系统中需要的基础yum源
base源:和镜像中的linux基础rpm包差不多
epel源:一些扩展安装包

# yum源存的配置文件存放目录
[root@zxw <sub>]# ll /etc/yum.repos.d/
total 40
-rw-r--r--. 1 root root 1664 Oct 23 2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo

# 1.删除所有官方yum源
[root@zxw </sub>]# rm -f /etc/yum.repos.d/*
[root@zxw <sub>]# ll /etc/yum.repos.d/
total 0
# 2.安全方式,不使用yum源
[root@zxw </sub>]# gzip -r /etc/yum.repos.d/

# 3.下载base源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@zxw <sub>]# ll /etc/yum.repos.d/
total 4
-rw-r--r--. 1 root root 2523 Apr 23 15:43 CentOS-Base.repo

# 下载epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@zxw </sub>]# ll /etc/yum.repos.d/
total 8
-rw-r--r--. 1 root root 2523 Apr 23 15:43 CentOS-Base.repo
-rw-r--r--. 1 root root 664 Apr 23 15:54 epel.repo

## 注意:在/etc/yum.repos.d/目录下所有的yum源配置,必须以.repo结尾


举例
# 安装nginx服务,使用nginx官方yum源
# 1.打开官网 http://nginx.org/
# 2.找nginx的仓库
# 3.vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
sudo sed -e s|^mirrorlist=|#mirrorlist=|g \\
        -e
s|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g \\
        -i.bak \\
        /etc/yum.repos.d/CentOS-*.repo
       
[root@zxw ~]# ll /etc/yum.repos.d/
total 12
-rw-r--r--. 1 root root 2523 Apr 23 15:43 CentOS-Base.repo
-rw-r--r--. 1 root root 664 Apr 23 15:54 epel.repo
-rw-r--r--. 1 root root 614 Apr 23 16:06 nginx.repo


1.阿里云镜像站:http://mirrors.aliyun.com

2.网易镜像站:http://mirrors.163.com/

3.清华源:https://mirrors.tuna.tsinghua.edu.cn

4.中科大源:https://mirrors.ustc.edu.cn/

5.华为源:https://mirrors.huaweicloud.com/home

yum包管理


更改yum源​这是阿里云的​

  • 打开对应的yum源的镜像网站:mirrors.aliyun.com

yum管理工具(一)_nginx

  • 下载两个源(base,epel)
  • base源:所有系统的基础软件包
  • centos

yum管理工具(一)_yum源_02

yum管理工具(一)_centos_03

  • epel:扩展的软件包


yum管理工具(一)_centos_04

yum管理工具(一)_centos_05

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


yum包管理命令


# 1.查询仓库中所有的rpm包
yum list
可以配合|grep过滤出想要的rpm包
# 2.查看仓库中所有安装包的详细信息
yum info
yum info tree
# 3.根据命令或文件查找该命令属于哪个rpm包
yum provides 命令
注意:尽量接命令的绝对路径,不知道命令的绝对路径的情况下,*/命令


yum命令实践


yum查询

# 查看yum仓库中的所有可以安装的rpm包
[root@zxw <sub>]# yum list

# 过滤看看yum仓库中是否有wget包
[root@zxw </sub>]# yum list|grep wget
wget.x86_64 1.14-18.el7_6.1 base
包名 版本和发布次数 这个包在那个仓库中

# 查看指定包的详细信息
[root@zxw <sub>]# yum info wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Available Packages
Name : wget
Arch : x86_64
Version : 1.14
Release : 18.el7_6.1
Size : 547 k
Repo : base/7/x86_64
Summary : A utility for retrieving files using the HTTP or FTP protocols
URL : http://www.gnu.org/software/wget/
License : GPLv3+
Description : GNU Wget is a file retrieval utility which can use either the HTTP or
: FTP protocols. Wget features include the ability to work in the
: background while you are logged out, recursive retrieval of
: directories, file name wildcard matching, remote file timestamp
: storage and comparison, use of Rest with FTP servers and Range with
: HTTP servers to retrieve files over slow or unstable connections,
: support for Proxy servers, and configurability.

# 产看yum仓库中,所有安装包的详细信息
yum info

# 根据命令查找包
[root@zxw </sub>]# yum provides ifconfig(那个命令安装了才可以这样写)
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
No matches found(# 因为没有安装,所以它找不到)

# 该命令率属于的包名
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
# 该命令率属于的仓库
Repo : base
Matched from:
# 装完后,命令会在/usr/sdin下叫ifconfig
Filename : /sbin/ifconfig

# 根据命令查找属于那个安装包,最好写命令的绝对路径
[root@zxw ~]# yum provides */ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo : base
Matched from:
Filename : /sbin/ifconfig


yum报错


# 1.报错
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/python-srpm-macros-3-
34.el7.noarch.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com;
Unknown error"
(# 原因:是aliyun的Base源中有另外两个 baseurl= 那两个网址不是咱们使用的,可以删除 )

# 2.报错
[root@zxw ~]# yum install -y tree
Loaded plugins: fastestmirror
Existing lock /var/run/yum.pid: another copy is running as pid 37209.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
  Memory :  24 M RSS (769 MB VSZ)
  Started: Thu Apr 21 21:33:34 2022 - 00:06 ago
  State : Sleeping, pid: 37209
(# 原因:后台已经有yum进程在安装服务,要么就等安装结束,要么 kill PID )

# 3.网络波动
多执行几次

# 4.环境变量损坏
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

$releasever : 7
$basearch   : x86_64



以上是关于yum管理工具的主要内容,如果未能解决你的问题,请参考以下文章

CentOS修改yum源为阿里云

yum详解

Linux Yum仓库源配置

Linux Yum仓库源配置

yum 命令详解-yum仓库配置文件详解

linux安装MongoDB