标签: deployment

就地升级不好的原因

我正在编制一份原因清单,说明就地升级软件和操作系统是一个坏主意。与我一起工作的很多人认为,在旧版本的基础上安装新版本的软件或操作系统更容易、更好。然而,我认为这通常是一个坏主意,最好花额外的时间卸载软件项目的先前版本或执行操作系统的全新安装。所有这些还取决于是否有可靠的备份操作到位。

我想收集人们对就地安装与干净安装的其他想法。

  • 与软件和操作系统相关的每种方法的优缺点是什么?
  • 您遇到了哪些类型的问题,您是如何解决软件和操作系统的问题的?
  • 关于这个主题,还有什么我应该知道的可以与我的同事分享的吗?

在此先感谢您的帮助。我期待听到您分享的所有内容。

deployment upgrade

4
推荐指数
1
解决办法
7201
查看次数

用于 reg 部署的 MSI 包

创建 MSI 包以通过网络部署注册表项而不是使用 GPO 的最佳方法是什么。

deployment msi windows-registry

4
推荐指数
1
解决办法
8203
查看次数

使用无人参与文件在解聚图像中加入域

我正在通过 WDS 将 Windows 7 映像部署到我们教室的 PC 上。我试图让机器通过无人参与文件自动加入域,但遇到了问题。无人值守文件是使用 WSIM 创建的。我理解的域部分是在“无人参与”下的“专业化”阶段完成的,我的无人参与文件的部分如下所示:

 <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86"     publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Identification>
            <Credentials>
                <Domain>domainname</Domain>
                <Password>adminpassword</Password>
                <Username>domainadmin</Username>
            </Credentials>
            <JoinDomain>domainnaim</JoinDomain>
        </Identification>
    </component>
</settings>
Run Code Online (Sandbox Code Playgroud)

然而,我的问题是,一旦完成,机器仍然无法登录域。而是在登录时收到错误:

此工作站与主域之间的信任关系失败。

我可以登录到默认的本地机器管理员,我发现域设置为

域名.local

只有在将其设置回

域名

然后重新启动计算机,然后我可以登录域(基本上是手动加入域。)

无论如何,我是否可以让机器从无人参与文件中正确加入域,以便我们可以开始部署并离开?我们有许多 PC 教室要部署,因此非常需要。

active-directory unattended deployment domain-name wds

4
推荐指数
1
解决办法
2万
查看次数

克隆 Win7 机器的最佳方法是什么?

我想购买 5 个新的 Win7 机器,并希望通过克隆操作系统来简化部署。我想做的是安装一个新的操作系统(戴尔似乎不再销售没有预装垃圾软件的机器),然后在第一个上安装一些应用程序。

一旦恰到好处,我想克隆操作系统并将映像安装在其他四台机器上,只需更改机器名称即可。

这是否可以在没有任何额外第三方软件的情况下完成?我想做的是将第一台机器的磁盘映像备份到网络共享,然后将其他机器引导到 Windows 安装 DVD 并在每台机器上恢复相同的映像。

有没有人对这种技术有好运?

deployment windows-7

4
推荐指数
1
解决办法
5368
查看次数

多个安装程序附加到单个 GPO?

是否可以将多个安装程序(msi、mst)链接到一个 GPO 以一次部署多个包?

deployment group-policy msi

4
推荐指数
2
解决办法
5161
查看次数

Linux 系统配置管理:版本控制和部署

我正在寻找最好的方法(就我的目的和情况而言)来版本系统配置文件并管理两台机器(实时和备份,两者都应被视为“生产”)之间的部署(所有权和模式)。我希望能够使用该系统自动(但有选择地)复制和管理备份机器(EC2 实例)上的相关和指定配置。

目前,这些机器主要是 web 和 SMTP 服务器(我们不存储用户邮箱),但我们的项目正在增长,谁知道未来的需求可能是什么。例如,我们有可能在未来某个时候实施广播和基于网络的聊天。

我更喜欢以传统方式管理服务器(即,根据需要进入并更改实时服务器),然后将这些更改(一旦确定)存储在管理系统中。(好吧,老实说,我应该有机地说:我不想失去根据需要和情况做事的灵活性。)我发现这种方法,而不是部署在其他地方经过调整和测试的配置,更可预测,并且有可能减少意外(除了在实时系统上搞砸配置的可能性之外,就是这样!)

我意识到,从哲学上讲,这是从后到前的,如果我有资源(测试基础设施,更重要的是人力),我可能会反过来做。事实上,我必须用我所拥有的来凑合。我很喜欢结构,但是过多的基础设施会失去它自己的生命,并且在某些时候它的价值会丢失。

我做了一些功课并审查了几个选项,但它们似乎都没有真正按照我的意愿行事,因此我目前很想推出自己的解决方案。这个问题的目的是看看我没有想到什么,并在我去吠错树之前进行理智检查。

选项

  1. 像木偶,声明metaconfiguration系统特别,可能是不错的选择,许多服务器都参与了他们之间几乎没有差异,特别是当它的时间提前明确应该看什么样的配置等。我认为在没有临时基础设施的情况下使用这样的工具是不明智的。

    它也有点重量级和过于复杂。我是唯一的管理员,我在业余时间做这件事,如果发生什么事,我留下的任何东西都需要对跟随我的幸运的男人/女孩保持合理的理智。

  2. etckeeper 可能会,但就我所见,它并不适合管理除 /etc 之外的任何内容。即,它不适合存储传统上位于 /usr/local/bin 中的自定义脚本。此外,etckeeper 大概管理所有/etc,我想我更喜欢只对特定内容进行版本控制(例如 postfix、apache、fail2ban、ssh 和可能的 munin)。

  3. 一个简单的 git 或 svn repo 肯定不会做,因为 git 跟踪权限,它不跟踪所有权,而 svn 也不跟踪。

    svn.svn在每个跟踪目录中保留一个子目录,而.git仅存在于工作副本的根目录中。这两种情况各有利弊。.svn在某些地方(例如 /etc/apache2/sites-enabled),某个位置的目录的存在可能没问题,但会在其他地方扰乱脑残脚本/工具。(我确定我之前读过一些东西:cron 是否可以与.svn/etc/cron.d 中的目录一起使用,但 depmod 与 /lib/modules 不同?)

    另一方面,使用.gitin /,git 将所有内容都视为跟踪的候选对象,甚至(可能)其他 git 存储库!

定制解决方案

这是我建议做的:一个存储在主机上的 subversion 存储库(比如 /usr/local/sc-repo)和一个用Pysvn编写的管理脚本,它实现了以下内容:

  • 添加(但默认情况下,不是递归的),它将文件的模式和所有权存储为自定义属性。另外,我喜欢$Id$我的配置文件中的标签,所以这将确保svn:keywords正确设置。

  • 犯罪

  • 更新,在写入文件后应用所有权和模式

  • 恢复,同上

  • perms,如 …

linux deployment configuration version-control

4
推荐指数
1
解决办法
1715
查看次数

SCCM2012 中的应用程序评估疑难解答

我遇到了一个有趣的问题,一些应用程序在 SCCM 2012 中无法正确评估。我拥有的示例软件是 Adob​​e reader 11。当我通过软件中心使用 MSI 部署进行安装时,一切正常。当有人访问 adobe 网站并下载可执行安装程序并运行它时,问题就会出现。现在软件中心检测到该软件已卸载,并将列出作为可用标题。

我正在使用“Windows 安装程序”检测方法并查找此 GUID“{AC76BA86-7AD7-1033-7B44-AB0000000001}”。当我查看 AppDiscovery.log 时,我得到的只是“未发现 +++ 应用程序”。信息。

那么问题来了:我在哪里可以看到检测方法正在查询什么以及它返回什么?

附加问题:执行“Windows 安装程序”检测时,系统在哪里查找该 GUID?

提前致谢

deployment sccm-2012

4
推荐指数
1
解决办法
2万
查看次数

如何检查 nginx 配置但不将新配置文件复制到 nginx 目录中?

我有部署脚本,副本包括新的 nginx 配置文件。nginx -t在部署新的应用程序版本之前,我需要使用检查 nginx 配置。

是否可以检查特定文件的 nginx 配置,例如?:

/usr/nginx/sbin/nginx -t -c /var/www/application/vhost.conf
Run Code Online (Sandbox Code Playgroud)

deployment nginx

4
推荐指数
1
解决办法
7573
查看次数

ansible 命令 with_items

在 ansible 1.5.4 中,以下命令完美运行:

- name: Generate postfix dhparams
  command: "{{ item }}"
  with_items:
    - openssl gendh -out /etc/postfix/dh_512.pem -2 512 creates=/etc/postfix/dh_512.pem
    - openssl gendh -out /etc/postfix/dh_2048.pem -2 2048 creates=/etc/postfix/dh_2048.pem
  notify: Reload postfix
Run Code Online (Sandbox Code Playgroud)

升级到 1.9.1 后,命令失败并显示fatal: [127.0.0.1] => A variable inserted a new parameter into the module args. Be sure to quote variables if they contain equal signs (for example: "{{var}}").错误。

正如{{ item }}已经引用的那样,我不知道出了什么问题。

我怎样才能让这个命令再次工作?

postfix deployment ansible

4
推荐指数
1
解决办法
4538
查看次数

在多个 Windows Server 2016+ 端点上批量安装新证书

多年来,我一直不情愿地手动更新我们购买的通配符证书,现在我已经拥有 100 多个 Web 和客户端服务器,我已经受够了。服务器大多是独立的,分布在几个不同的域中,但有几个服务器场在运行,这可能至少对少数几个服务器场来说更容易。

所有操作系统都是 Windows Server 2016 和 2019。

我目前在每个证书有效期结束时的流程是购买一个新的(续订)证书并从我的内部管理箱中完成 CSR,然后以 .pfx 格式导出证书,并在每个服务器上手动安装它个人商店。在 Web 服务器 ( IIS ) 上,我也手动修改绑定。

我知道如果我使用域中生成的证书,我可以简单地在每个域中使用 AD CA 将它们推出,但根据我的研究,我找不到一种方法来推出我们从供应商处购买的证书。

我还看到 GPO 可能至少是在服务器上获取证书的答案 - 设置项目级目标对我来说并不难,或者将所有网络服务器放在一个组或 OU 中每个领域。我遇到的唯一问题是我找不到使用此方法将证书放入Personal store 的方法,这是必需的。

这里可能有不止 1 个“正确”的答案,但我想知道你们每年是如何处理这个过程的,所以请随时加入。如果这个社区之前已经回答过这个问题,我深表歉意,但我的搜索没有结果。

automation iis deployment ssl-certificate windows-server-2016

4
推荐指数
2
解决办法
513
查看次数