Kevin_306

学习视频笔记-软件管理-YUM源 20210407

软件包和包管理器

    CentOS 使用 yum, dnf 解决rpm的包依赖关系 ,YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定 位软件包,up2date的替代工具,CentOS 8 用dnf 代替了yum ,不过保留了和 yum的兼容性,配置也是 通用的

yum/dnf 工作原理

  • yum 服务器存放rpm包和相关包的元数据库; 
  • yum 客户端访问yum服务器进行安装或查询等

  yum命令的用法: yum [options] [command] [package ...]

  yum的命令行选项:

-y                          #自动回答为“yes” 
-q                          #静默模式 
--nogpgcheck                #禁止进行gpg check 
--enablerepo=repoidglob     #临时启用此处指定的repo,支持通配符,如:”*“ --disablerepo=repoidglob    #临时禁用此处指定的repo,和上面语句同时使用,放在后面的生效

1.查看当前仓库(系统默认自带的)

 1.1系统自动的xxxx.repo和路径

 1.2随机查看一个默认的配置.repo

2.查看国内云服务路径

  2.1cetos7路径

 2.2centos8仓库分开的,BaseOS(操作系统相关的软件)和AppSteam(不太常用的软件)

 注意:与之前的版本不同,CentOS 8 系统有两个yum 源:BaseOS和AppStream ,需要分别设置两个 仓库

 2.3BaseOS路径:

2.4AppStream 路径:

 2.5仓库路径记录:

3.将官方自带的暂时移除到Backup文件夹

4.创建本地的yum源 xxxx.repo(名字自定义,后缀名一致就行)

5.CentOS系统的yum源:

说明:$releasever只是yum里面的一个变量,不是shell中的

  • #阿里云 https://mirrors.aliyun.com/centos/$releasever/
  • #腾讯云 https://mirrors.cloud.tencent.com/centos/$releasever/
  • #华为云 https://repo.huaweicloud.com/centos/$releasever/
  • #清华大学 https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/

6.EPEL的yum源:

  • #阿里云 https://mirrors.aliyun.com/epel/$releasever/x86_64
  • #腾讯云 https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
  • #华为云 https://mirrors.huaweicloud.com/epel/$releasever/x86_64
  • #清华大学 https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64

7.确认一下路径 /mnt/xxx

8.1创建#vim base.repo

8.2本次配置使用了3个yum源,保证了坏掉一个服务器也没有影响,url对齐等一行的等号

9.确保一下挂载/mmt 

10.尝试安装软件#yum install httpd (-y表示自动回答为“yes” )

  自动加载了相互依赖的包,不加-y,就会询问是否安装

11.安装完成(走本地安装的)

12.查看仓库列表 #yum repolist

13.epel仓库(官方没有配置该仓库)

14.配置epel源仓库,和base.repo文件配置在一起

  14.1编辑base.repo,可以先把vim安装上

  14.2查看一下国内云服务的地址

 14.3配置epel源:

15.查看查看源列表,epel有了

16.yum info sl (举例查看sl的信息)

  16.1显示来自的仓库

  16.2可以查看到来自epel仓库

17.使用yum -y install sl,并查看安装了哪些文件

rpm -ql +包名  可以查看一个包安装了哪些文件)

18. 1#sl -a 

18.2安装cowsay

     #yum -y install cowsay

     #cowsay hehe

18.3 animalsay magedu 

19.卸载 #yum remove cowsay

注意centos7里面卸载的包,不会把依赖包卸载,假设安装了1个主包+4个依赖包,执行卸载后,只卸载主包;(详细卸载请看后面)

centos8则是全部卸载,包含依赖包

20.1 yum list 显示安装的和未安装的

 20.2带@的就是已经安装的,比如刚刚我们安装了sl

 20.3不带@的就是还没安装,还在仓库里面

21.1执行yum list installed只显示已经安装好的

21.2执行yum list --available只列出没有安装的包

22.卸载centos7的依赖包

  22.1下图只卸载了主包

  22.2执行yum history查看历史安装包,其中第四步就是刚刚安装的包

  22.3执行yum history info 4 可以查看第四步安装的内容

  22.4执行yum history undo 4 后,卸载干净

  22.5由于主包httpd已经卸载了,所以只卸载了4个依赖包

 

22.6 执行yum history redo 4 重装(可能会随着环境变化安装不完全成功)

建议:使用yum reinstall package1 [package2] [...]  #重新安装 

23.查询缺失的包

  23.1#yum provides 查看指定的特性(可以是某文件)是由哪个程序包所提供

注意:文件要写全路径,而不只是文件名,否则可能无法查询到

  23.2如果实在是找不到路径,或者不提示路径,加上通配符

24.清除缓存

  24.1举例:查看dnf中下载安装后的缓存

 24.2清除#du -sh /var/cache/dnf

               #yum clean all 清除缓存

posted on 2021-04-07 01:46  熊猫小虾  阅读(172)  评论(0编辑  收藏  举报

导航