yum-plugin-priorities

Yum Priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如 Linux 发行版的官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。

  1. yum install -y yum-plugin-priorities
  1. [main]
  2. enabled = 1

rpm 与 yum

yum 是 rpm 的升级版。

centos

世界各地的镜像源

https://www.gnu.org/prep/ftp.html

yum 源配置文件路径

路径: /etc/yum.repos.d/

添加国内镜像源

  1. sudo yum-config-manager \
  2. --add-repo \
  3. https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

配置本地 yum 源

  • yum 源路径下新建文件
  1. [serverid]
  2. name=Some name for this server
  3. baseurl=url://path/to/repository/
  4. enabled=1
  5. gpgcheck=1
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥
  • 方括号里面的是软件源的名称,将被yum取得并识别
  • serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;
  • name 是对repository 的描述,支持像$releasever $basearch这样的变量;
  • baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 这个key 只能写 1 个。
  • enable, #这个选项表示这个repo中定义的源是启用的,0为禁用
  • gpgcheck, 这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的. 0 表示禁用。
  1. baseurl=url://server1/path/to/repository/
  2.      url://server2/path/to/repository/
  3.      url://server3/path/to/repository/

配置 MongoDB 的 yum 源

参考:https://blog.csdn.net/u011019141/article/details/78712320
MongoDB yum源:https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/

  • yum 源路径下新建文件,mongodb-org-4.0.repo

添加配置内容:

  1. [mongodb-org-4.0]
  2. name=MongoDB Repositoty
  3. baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
  4. gpgcheck=0
  5. enabled=1

2.安装MongoDB
安装命令:
yum -y install mongodb-org

yum 常用命令

语法,yum [options] [command] [packages]

  • options, -y 表示安装过程中的提示全部选 yes, -q 表示静默安装不显示安装过程

    清理缓存

    yum 会把下载的软件包和header存储在 /var/cache/yum 中,而不自动删除。
    如果觉得占用磁盘空间,可以使用 yum clean 指令进行清除:

  • yum clean headers清除header;

  • yum clean packages清除下载的rpm包
  • yum clean all一全部清除。

安装

一次可以安装多个包

  1. yum install -y packageA packageB packageC

使用通配符
使用通配符,相关名称的包全部安装

  1. yum install -y packa*

使用通配符安装时,如果因为版本保护问题,无法安装,可以先更新再安装

  1. yum update -y zlib*

安装时排除某些包
安装 Python 时会出现 zlibimportError, 有的解决方案是 yum -y install zlib* , 但是启动了 “多版本保护” 功能的系统,会禁止对公共依赖升级。这时我们想,如果只安装没有安装的包多好

  1. # 查看本地有哪些包安装了, 会以安装和未安装的形式分别列出来。
  2. yum list zlib*

使用 —exclude= xx 参数,排除那些已经安装的包,每个 —exclude 后面跟1个报名,可以有多个 —exclude

  1. yum install -y zlib* --exclude=zlib.i686 --exclude=zlib.x86_64

安装时全部自动回答 yes

  1. yum -y

安装本地的包

  1. yum localinstall 本地的包名

查询

查询所有可安装的包

  1. yum list

查询 zlib 相关的包

  1. yum list zlib*

显示的包会分别列出以安装和未安装的。

查看资源库中特定的包

使用 yum list

查询资源库中特定的包,不需要使用grep, 直接加包名即可. 这个命令的缺点是必须把包名写对。加 grep 来从所有结果中过滤更灵活。

  1. yum list 完整的包名
  2. yum list 关键字*

使用 yum search
  1. yum search 关键字

使用yum search,不需要完整的包名就可以查询仓库中可以使用的包了。并且结果中还有包的简介。

查询某包本地是否安装

  1. yum list installed|grep package_name

查询包信息

  1. yum info "Development Tools"

把服务器的包信息保存到本地

把服务器的包信息保存到本地:

  1. yum makecache

把本地缓存的服务器上的包信息,刷新:

  1. yum makecache fast

缓存信息完之后,可以使用下面的命令,就可以在本地快速检索服务器上的包信息

  1. yum -C search xxx

删除

包名写不全的话,建议先查询。

  1. yum remove xx包名

更新

  1. yum update

更新到指定版本

  1. yum update xxx
  2. xxx 先查出来

yum install 与 yum groupinstall

yum install 是安装 1个文件,
yum groupinstall 是安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系。
比如安装开发工具时,需要 yum groupinstall. 详见 Python 安装部署。

  1. yum groupinstall "Development Tools"

ubuntu

auto yes

  1. apt install --yes --force-yes xxx

替换为阿里云的镜像源

脚本:https://raw.githubusercontent.com/kougazhang/scripts/master/docker/ali_apt_source.sh