📜  SaltStack-Salt Package Manager

📅  最后修改于: 2020-10-31 14:28:51             🧑  作者: Mango


盐配方被打包并使用包管理器分发给盐主。这个概念受到RPMYumPacman包装系统的影响。公式使用盐状态,支柱,文件模板和其他文件,然后将其打包为单个文件。

创建公式包后,将其复制到“存储库系统”,以供Salt Master使用。在转到软件包管理器之前,让我们看一下如何使用Salt基本命令安装“ nginx”软件包。

以下语法用于安装“ nginx”软件包。

root@saltmaster:/home/vagrant# salt '*' pkg.install nginx

在这里, pkg.install nginx命令用于安装软件包。执行后,您将看到以下响应。

它将产生以下输出

minion2:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
minion1:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:

现在,您已经安装了一个软件包。要启动该软件包的服务,请使用以下命令。

root@saltmaster:/home/vagrant# salt '*' service.start nginx

运行此命令后,结果看起来如下面的代码块所示。

minion1:
   True
minion2:
   True

因此,我们已经使用基本命令为“ nginx”软件包安装并启动了服务。现在让我们讨论如何在Salt软件包管理器中构建和安装软件包。

建筑配套

软件包可以在可以安装Salt的任何系统上构建。共有三种类型的软件包,如下。

  • 反应堆
  • Conf

现在让我们了解如何使用Fomula文件构建软件包。

公式文件

默认情况下,软件包中的大多数文件都位于– / srv / spm / salt /目录中,但基本文件可以位于– / srv / spm / pillar /目录中。公式文件描述了程序包。

name: apache
os: RedHat
os_family: RedHat
version: 201607
release: 2
summary: Formula for installing Apache
description: Formula for installing Apache

这里,

  • 名称-包的名称。在这里,软件包名称是apache

  • os-用于了解哪些操作系统可以支持此软件包。

  • os_family-用于了解哪些操作系统家族可以支持此软件包。

  • 版本-软件包的版本。以YYYYMM格式指定。

  • 发布-此字段主要是指版本的发布。

  • 摘要-包装的简短说明。

  • 描述-软件包的更详细描述。

反应堆

反应堆文件位于/ srv / spm / reactor /目录中。

大会

此类软件包中的文件是Salt的配置文件,通常位于/ etc / salt /目录中。除Salt以外的软件包的配置文件可以并且应该使用Salt State处理(使用软件包的公式类型)。

让我们继续以下步骤来构建程序包。

  • 创建一个FORMULA文件并将其放置在package文件夹的根目录中。

  • 将公式文件汇编到构建系统上的文件夹中。

  • 运行spm build 。该软件包已构建并放置在/ srv / spm_build文件夹中。以下命令用于构建软件包。

spm build /path/to/salt-packages-source/formula
  • 现在,将.spm文件复制到存储库系统上的文件夹中。

  • 您可以共享网络上的srv / spm_build文件夹,或将文件复制到FTP或Web服务器。

  • 使用以下命令生成回购元数据。

spm create_repo /srv/spm_build

安装套件

本节说明有关安装Salt软件包管理器软件包的信息。

配置远程存储库

要配置远程存储库,Salt Master需要通过配置过程知道存储库在哪里。

文件位于/etc/salt/spm.repos.d/spm.repo目录中。

file_repository:
   url: https://spm.example.com/

在此,文件包含存储库的名称以及到存储库的链接。您也可以使用http,https,ftp或文件路径。要使用文件路径,可以使用以下URL访问它:file:/// srv / spm_build。

更新元数据

在Salt主数据库上配置存储库后,可使用以下命令下载存储库元数据。

spm update_repo

更新文件根

SPM软件包位于srv / spm / salt目录中。将以下路径添加到Salt主数据库上的文件根目录中,

file_roots:
   base:
      1. /srv/salt
      2. /srv/spm/salt

现在,重新启动盐管理器。

安装Apache包

要安装软件包apache,请使用以下命令。

spm install apache

您也可以使用以下命令直接从SPM文件安装。

spm local install /srv/spm/apache-201607-1.spm

取出包装

要删除软件包(例如apache),请使用以下命令,

spm remove apache

请注意,如果修改了任何文件,则不会将其删除。