谅解 在2015.8.0及更高版本中

时间:2021-10-30 06:12:09

https://docs.saltstack.com/en/latest/topics/windows/windows-package-manager.html

可以看官网文档,本人英文差,翻译欠好,谅解

在2015.8.0及更高版本中,Windows Software Repository缓存是在Salt Minion上编译的

SaltStack Windows软件资源库供给了一个软件承打点器和软件资源库,类似于Linux上的yum和apt供给的资源库。该存储库可以使用长途Windows系统上的安置措施来安置软件。

 

In many senses, the operation is similar to that of the other package managers salt is aware of:

the pkg.installed and similar states work on Windows.

the pkg.install and similar module functions work on Windows.

和yum的区别

1,存储库元数据(SLS文件)通过salt或git托管。

2,软件包可以从salt货仓,git货仓或http(s)或ftp URL下载。

3,包之间的依赖关系需要手动打点。

使用之前的要求是:GitPython 0.3或更高版本,或者在Salt mast上安置libgit 0.20.0或更高版本的pygit2 0.20.3。Windows软件包界说是使用Git下载和更新的。

默认情况下salt不会进行分发用于安置Windows软件包的SLS文件,需要运行以下命令以初始化您的Salt主机上的存储库:

salt-run winrepo.update_git_repos SYNC REPO TO WINDOWS MINIONS

Run pkg.refresh_db on each of your Windows minions to synchronize the package repository.

salt -G‘os : windows‘pkg.refresh_db

接下来就可以安置windows软件

显示已安置的软件包      salt -G‘os : windows‘pkg.list_pkgs

您可以使用Salt pkg模块盘问软件包的可用版本    salt winminion pkg.list_available firefox

安置最新版本的Firefox salt winminion pkg.install‘firefox

卸载WINDOWS软件

使用pkg模块卸载软件

salt winminion pkg.remove firefox salt winminion pkg.purge firefox

Note

pkg.purge just executes pkg.remove on Windows. At some point in the future pkg.purge may direct the installer to remove all configs and settings for software packages that support that option

存储库位置

Salt维护SLS文件的存储库来安置大量的Windows软件包:

默认情况下,这些存储库被镜像到/srv/salt/win/repo-ng 和/srv/salt/win/repo

通过设置选项,,可以在主配置文件中变动此位置 

MAINTAINING WINDOWS REPO DEFINITIONS IN GIT REPOSITORIES

可以托管在一个或多个Git存储库中,默认存储库由SaltStack托管在GitHub上。这些包孕各类开源软件项目的软件界说文件。这些软件界说文件是.sls文件。有两个默认的存储库:salt-winreposalt-winrepo-ngsalt-winrepo 包罗旧版本(旧版本2015.8.0)的软件界说文件。salt-winrepo-ng是为更新的奴才(2015.8.0和更新)。

每个软件界说文件都包罗salt在安置该软件所需的所有信息,包孕安置措施文件的HTTP或FTP位置,用于静默安置的所需命令等, Anyone is welcome to send a pull request to this repo to add new package definitions. The repos can be browsed here: salt-winrepo salt-winrepo-ng

Note

The newer software definition files are run through the salt‘s parser which allows for the use of jinja.

通过改削或扩展和 选项,配置主处事器可以搜索包界说的那些git存储库

Important

winrepo_remotes was called win_gitrepos in Salt versions earlier than 2015.8.0

软件包界说通过运行runner 从online存储库中取出 该命令在主处事器上运行:

  salt-run winrepo.update_git_repos

This will pull down the software definition files for older minions (salt-winrepo) and new minions (salt-winrepo-ng). They are stored in the file_roots under win/repo/salt-winrepo andwin/repo-ng/salt-winrepo-ng respectively.

重要

如果您有自界说的软件界说文件,而这些软件界说文件不是在版本库中维护的,那么应该将这些文件存储在win/repo较旧的版本和 win/repo-ng较新版本的版本中。这样做的原因是,内容win/repo/salt-winrepowin/repo-ng/salt-winrepo-ng在每次运行时断根winrepo.update_git_repos