1.yum管理

1.1yum介绍与工作原理

yum的工作需要俩部分来合作,一部分是yum服务器,一部分是client工具

yum服务器:yum服务器只要提供简单的下载,ftp/http形式,整理出每个rpm包的基本信息,(版本号,conf文件,binary信息)yum服务器上提供了createrepo工具

client端工作:client调用search的时,会解析/etc/yum.repos.d下面以.repo结尾的配置文件,每次调用yum包的时会去这个cache目录下去清单,根据清单信息去yum服务器下载rpm安装。

1.2yum配置文件

yum定义repo文件:

1.[repo-name]:仓库名字

2.name:描述信息

3.具体路径类型:http:// ftp:// file:///

4.enabled:1/0,启动/禁用仓库

5.gpgcheck:1/0,1检查软件包来源合法性,0不经常来源

gpgcheck=0 或者gpgkey=/etc/pki/rpm-gpg/

[root@clq rpm-gpg]# ll
total 8
-rw-r–r--. 1 root root 1683 Nov 10 08:32 RPM-GPG-KEY-centosofficial
-rw-r–r--. 1 root root 1687 Nov 10 08:32 RPM-GPG-KEY-centostesting

vim /etc/yum.conf
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       //是否启用插件
tolerant={1|0}  //容错功能,1为开启,0为关闭,当设为0时,如果用yum安装多个软件包且其中某个软件包已经安装过就会报错;当设为1时,当要安装的软件已经安装时自动忽略
installonly_limit=5
bugtracker_url
# metadata_expire=90m //每小时手动检查元数据
# in /etc/yum.repos.d   //包含repos.d目录 
1.挂载光盘
[root@clq ~]# mount /dev/cdrom /mnt/
mount: /mnt: /dev/sr0 already mounted on /run/media/root/CentOS-Stream-8-x86_64-dvd.
[root@clq ~]# ll /mnt/AppStream/
total 1092
dr-xr-xr-x. 2 root root 1114112 Mar 16 22:56 Packages
dr-xr-xr-x. 2 root root    4096 Mar 16 22:56 repodata
[root@clq ~]# ll /mnt/BaseOS/
total 304
dr-xr-xr-x. 2 root root 307200 Mar 16 22:56 Packages
dr-xr-xr-x. 2 root root   4096 Mar 16 22:56 repodata
[root@clq ~]# 

2.创建本地仓库(8.0版本)
[root@clq ~]# cat /etc/yum.repos.d/RHCE.repo 
[AppStream]
name=RHCE.8.0
enabled=1
gpgcheck=0
baseurl=file:///mnt/AppStream 

[BaseOS]
name=RHCE.8.0
baseurl=file:///mnt/BaseOS 
gpgcheck=0
enabled=1
#7.0版本
[root@clq ~]# cat /etc/yum.repos.d/RHCE.repo 
[RHCE]
name=RHCE.7.0
enabled=1
gpgcheck=0
baseurl=file:///mnt/ 就行 
    
3.清理缓存  
[root@clq ~]# dnf clean all

4.包列表
[root@clq ~]# dnf list all|head -4
Last metadata expiration check: 0:21:54 ago on Mon 19 Apr 2021 11:16:00 AM CST.
Installed Packages
GConf2.x86_64                                          3.2.6-22.el8                                      @AppStream
Judy.x86_64                                            1.0.5-18.module_el8.3.0+599+c587b2e7              @appstream

1.3yum网络仓库

  • 官方网络yum仓库(国外)
  • 阿里云yum仓库
  • 163yum仓库
  • xx大学yum仓库
  • epel源

搜索:开源镜像站

默认国外官方源

1.系统自带下载:/usr/bin/curl 需下载:wget

#不用本地源

2.用国外源:

[root@clq ~]# curl -o /etc/yum.repos.d/service.repo (http://mirrors.aliyun.com/repo/Centos-8.repo)

#个人主机

baseurl=https://mirrors.aliyun.com/centos/$releasever

#云主机 (cloud云计算)

baseurl=http://mirrors.aliyuncs.com/centos/$releasever

baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever

#$releasever:变量版本

3.修改

:%s/releasever/8/g (%:全文,8:redhat版本8)

:/mirrors.aliyuncs.com/d

:/mirrors.cloud.aliyuncs.com/(这俩行删了,不用)

4.清理缓存

[root@clq ~]# dnf clean all

国外epel源

[root@clq ~]# yum -y install epel-release

阿里云epel源

[root@clq ~]# curl -o /etc/yum.repos.d/rhce.repo (http://mirrors.aliyun.com/repo/epel-8.repo)

1.4软件官方仓库

#zabbix,mysql,saltstack,openstack等源查找方式一样

nginx:(http://nginx.org/packages/centos/7/$basearch/)

redhat7使用centos7的yum源

#下载base和epel仓库

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-

Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@localhost ~]# sed -i ‘s#$releasever#7#g’ /etc/yum.repos.d/CentOS-Base.repo

[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


1.5yum command:

list:列表

all:所有默认项

​ available:列出仓库中,未安装的所有可用的包

clean:清理缓存

​ packages包缓存

​ headers头

​ metadata数据

​ dbcache

​ all:默认项

repolist:显示repo列表信息

all:所有的

enabled:开启

disabled:关闭

install :安装

update:升级

​ update_to:升级指定版本

downgrade packge1:降级

remove/erase:卸载

info:显示信息 |同rpm -qi

provides:查看文件或命令哪个包安装的

history:显示yum的历史事务信息

localinstall:安装本地rpm包,自动解决依赖关系

frouplist:列出可用的组

groupinstall “group name”:安装一组软件

createrepo:创建yum仓库的元数据信息

reinstall :重新安装软件

1.6命令实例

#查询软件包
1.列出可用软件
[root@clq ~]# yum list all

2.过滤查询
[root@clq ~]# yum list|grep httpd

3.软件包详细情况
[root@clq ~]# yum info httpd
Last metadata expiration check: 2:57:27 ago on Mon 19 Apr 2021 01:14:38 PM CST.
Installed Packages
Name         : httpd
Version      : 2.4.37
Release      : 30.module_el8.3.0+462+ba287492.0.1
Architecture : x86_64
Size         : 4.9 M
Source       : httpd-2.4.37-30.module_el8.3.0+462+ba287492.0.1.src.rpm
Repository   : @System
From repo    : appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and
             : extensible web server.

4.哪个包产生
[root@clq ~]# yum provides /etc/my.cnf
[root@clq ~]# yum provides cd
[root@clq ~]# yum provides *bin/pstree


#安装软件包
1.安装php
[root@clq ~]# yum -y install php

2.安装本地rpm包,有依赖关系,则自动从软件仓库中下载所需依赖(非来自自定义的软件仓库)
[root@clq ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm

3.安装网络上rpm包
[root@clq ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
#重装软件包
1.查看软件包
[root@clq ~]# rpm -qa|grep vsftpd
vsftpd-2.2.2-24.el6.x86_64

2.查看vsftpd配置文件
[root@clq ~]# rpm -qc vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

3.不小心删了vsftpd配置文件
[root@clq ~]# rm -rf /etc/vsftpd/vsftpd.conf

4.重新安装软件
[root@clq ~]# yum reinstall vsftpd

5.检查
[root@clq ~]# rpm -qc vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
#删除软件包,不会删除依赖
[root@clq ~]# yum -y remove httpd
[root@clq ~]# yum -y erase httpd

#仓库相关的软件命令
列出可用和禁用的仓库
[root@clq ~]# yum repolist all

Logo

更多推荐