如何使用-Ansible-安装软件 (如何使用ai软件)

教程大全 2025-07-19 07:28:31 浏览

使用 Ansible 剧本自动安装和更新设备上的软件。

Ansible 是系统管理员和开发人员用来保持计算机系统处于最佳状态的一种流行的自动化工具。与可扩展框架一样,Ansible本身功能有限,它真正的功能体现在许多模块中。在某种程度上,Ansible 模块就是Linux系统的命令。它们针对特定问题提供解决方案,而维护计算机时的一项常见任务是使所有计算机的更新和一致。

我曾经使用软件包的文本列表来保持系统或多或少的同步:我会列出笔记本电脑上安装的软件包,然后将其与台式机或另一台 服务器 之间进行交叉参考,手动弥补差异。当然,在 Linux 机器上安装和维护应用程序是 Ansible 的一项基本功能,这意味着你可以在自己关心的计算机上列出所需的内容。

寻找正确的 Ansible 模块

Ansible 模块的数量非常庞大,如何找到能完成你任务的模块?在 Linux 中,你可以在应用程序菜单或中查找要运行的应用程序。使用 Ansible 时,你可以参考Ansible 模块索引。

这个索引按照类别列出。稍加搜索,你就很可能找到所需的模块。对于包管理,Packaging 模块几乎适用于所有带包管理器的系统。

动手写一个 Ansible 剧本

首先,选择本地计算机上的包管理器。例如,如果你打算在运行 Fedora 的笔记本电脑上编写 Ansible 指令(在 Ansible 中称为“剧本playbook”),那么从模块开始。如果你在 Elementary OS 上编写,使用模块,以此类推。这样你就可以开始进行测试和验证,并可以在以后扩展到其它计算机。

第一步是创建一个代表你的剧本的目录。这不是绝对必要的,但这是一个好习惯。Ansible 只需要一个配置文件就可以运行在 YAML 中,但是如果你以后想要扩展剧本,你就可以通过改变目录和文件的方式来控制 Ansible。现在,只需创建一个名为 install_packages 或类似的目录:

$ mkdir ~/install_packages

你可以根据自己的喜好来命名 Ansible 的剧本,但通常将其命名为:

$ touch ~/install_packages/site.yml

在你最喜欢的文本编辑器中打开,添加以下内容:

---- hosts: localhosttasks:- name: install packagesbecome: truebecome_user: rootdnf:state: presentname:- tcsh- htop

你必须调整使用的模块名称以匹配你使用的发行版。在此示例中,我使用是因为我在 Fedora Linux 上编写剧本。

就像 Linux 终端中的命令一样,知道 如何 来调用 Ansible 模块就已经成功了一半。这个示例剧本遵循标准剧本格式:

下的节点是模块专用的。这是模块文档的关键所在。就像 Linux 命令的手册页一样,模块文档会告诉你可用的选项和所需的参数。

安装软件包是一个相对简单的任务,仅需要两个元素。选项指示 Ansible 检查系统上是否存在 软件包 ,而选项列出要查找的软件包。Ansible 会针对机器的 状态 进行调整,因此模块指令始终意味着更改。假如 Ansible 扫描了系统状态,发现剧本里描述的系统(在本例中,和存在)与实际状态存在冲突,那么 Ansible 的任务是进行必要的更改来使系统与剧本匹配。Ansible 可以通过(或或者其它任何包管理器)模块进行更改。

每个模块可能都有一组不同的选项,所以在编写剧本时,要经常参考模块文档。除非你对模块非常熟悉,否则这是期望模块完成工作的唯一合理方法。

验证 YAML

剧本是用 YAML 编写的。因为 YAML 遵循严格的语法,所以安装来检查剧本是很有帮助的。更妙的是,有一个专门针对 Ansible 的检查工具称为 ansible-lint ,它专门为剧本而生。在继续之前,安装它。

在 Fedora 或 CentOs 上:

$ sudo dnf ins tall yamllint python3-ansible-lint

在 Debian、Elementary 或 Ubuntu 上,同样的:

$ sudo apt install yamllint ansible-lint

使用 ansible-link 来验证你的剧本。如果你无法使用 ansible-lint ,你可以使用。

$ ansible-lint ~/install_packages/site.yml

成功则不返回任何内容,但如果文件中有错误,则必须先修复它们,然后再继续。复制和粘贴过程中的常见错误包括在最后一行的末尾省略换行符、使用制表符而不是空格来缩进。在文本编辑器中修复它们,重新运行 ansible-llint ,重复这个过程,直到 ansible-lint 或没有返回为止。

使用 Ansible 安装一个应用

现在你有了一个可验证的有效剧本,你终于可以在本地计算机上运行它了,因为你碰巧知道该剧本定义的任务需要 root 权限,所以在调用 Ansible 时必须使用 如何使用 --ask-become-pass 选项,因此系统会提示你输入管理员密码

开始安装:

$ ansible-playbook --ask-become-pass ~/install_packages/site.ymlBECOME password:PLAY [localhost] ******************************TASK [Gathering Facts] ******************************ok: [localhost]TASK [install packages] ******************************ok: [localhost]PLAY RECAP ******************************localhost: ok=0 changed=2 unreachable=0 failed=0 [...]

这些命令被执行后,目标系统将处于与剧本中描述的相同的状态。

在远程系统上安装应用程序

通过这么多操作来替换一个简单的命令可能会适得其反,但是 Ansible 的优势是它可以在你的所有系统中实现自动化。你可以使用条件语句使 Ansible 在不同的系统上使用特定的模块,但是现在,假定所有计算机都使用相同的包管理器。

要连接到远程系统,你必须在 /etc/ansible/hosts 文件中定义远程系统,该文件与 Ansible 是一起安装的,所以它已经存在了,但它可能是空的,除了一些解释性注释之外。使用在你喜欢的文本编辑器中打开它。

你可以通过其 IP 地址或主机名(只要主机名可以解析)定义主机。例如,如果你已经在 /etc/hosts 中定义了并可以成功通,那么你可以在 /etc/ansible/hosts 中将设置为主机。或者,如果你正在运行一个域名服务器或 Avahi 服务器并且可以通,那么你就可以在 /etc/ansible/hosts 中定义它。否则,你必须使用它的 IP 地址。

你还必须成功地建立与目标主机的安全 shell(SSH)连接。最简单的方法是使用 ssh-copy-id 命令,但是如果你以前从未与主机建立 SSH 连接,阅读我关于如何创建自动 SSH 连接的文章。

一旦你在 /etc/ansible/hosts 文件中输入了主机名或 IP 地址后,你就可以在剧本中更改定义:

---- hosts: all tasks:  - name: install packages   become: true   become_user: root   dnf:    state: present    name:    - tcsh    - htop

再次运行 ansible-playbook

$ ansible-playbook --ask-become-pass ~/install_packages/site.yml

这次,剧本会在你的远程系统上运行。

如果你添加更多主机,则有许多方法可以过滤哪个主机执行哪个任务。例如,你可以创建主机组(服务器的,台式机的 workstations 等)。

适用于混合环境的 Ansible

到目前为止,我们一直假定 Ansible 配置的所有主机都运行相同的操作系统(都是是使用命令进行程序包管理的操作系统)。那么,如果你要管理不同发行版的主机,例如 Ubuntu(使用)或 Arch(使用),或者其它的操作系统时,该怎么办?

只要目标操作系统具有程序包管理器(MacOs 有 Homebrew,windows 有 Chocolatey),Ansible 就能派上用场。

这就是 Ansible 优势最明显的地方。在 shell 脚本中,你必须检查目标主机上有哪些可用的包管理器,即使使用纯 Python,也必须检查操作系统。Ansible 不仅内置了这些功能,而且还具有在剧本中使用命令结果的机制。你可以使用关键字来执行由 Ansible 事实收集子系统提供的变量定义的任务,而不是使用模块。

---- hosts: all tasks:  - name: install packages   become: true   become_user: root   action: >   {{ ansible_pkg_mgr }} name=htop,transmission state=present update_cache=yes

关键字会加载目标插件。在本例中,它使用了 ansible_pkg_mgr 变量,该变量由 Ansible 在初始 收集信息 期间填充。你不需要告诉 Ansible 收集有关其运行操作系统的事实,所以很容易忽略这一点,但是当你运行一个剧本时,你会在默认输出中看到它:

TASK [Gathering Facts] *****************************************ok: [localhost]

插件使用来自这个探针的信息,使用相关的包管理器命令填充 ansible_pkg_mgr ,以安装在参数之后列出的程序包。使用 8 行代码,你可以克服在其它脚本选项中很少允许的复杂跨平台难题。

使用 Ansible

现在是 21 世纪,我们都希望我们的计算机设备能够互联并且相对一致。无论你维护的是两台还是 200 台计算机,你都不必一次又一次地执行相同的维护任务。使用 Ansible 来同步生活中的计算机设备,看看 Ansible 还能为你做些什么。



adobe acrobat怎么安装

展开全部从网上下载Adobe Acrobat XI Pro这款软件,下载后将其解压到我们的电脑上,然后找到双击安装它,安装时选择“使用试用版本或订阅”2选择“自定义”自定义安装组件和更改安装路径点击下一步安装安装完后第一次运行软件时,如果是用防火墙拦截的话,凡是该软件弹出的联网请求全部拒绝(下同)。 在弹出的Adobe软件许可协议窗口里选择“接受”在Adobe Acrobat XI Pro30天试用版窗口里,选择“对此软件进行许可”输入序列号:1118-1768-4702-6801-1059-4923,输入后要记住这个序列号哦,一会儿会用到的!断网状态下,肯定联网不成功,等到弹出“请连接到Internet,然后重试”窗口时选择“稍后连接”并关闭程序。 再次打开软件,一会儿就会弹出“正在验证序列号。 这可能需要几秒钟时间…”的窗口。 等到出现“连接到Internet时是否出现问题?”时,单击它这时就要“脱机激活”然后就接着点击“生成请求代码”。 这时我们不要关闭上面窗口,去运行Adobe Acrobat 注册机,在第一行输入之前你输入的序列号;在第二行输入上面窗口里的“请求代码”;然后点击GENERATE生成“响应代码”,复制到上面的脱机激活窗...0;在第二行输入上面窗口里的“请求代码”。 再次打开软件。 这时我们不要关闭上面窗口,肯定联网不成功,下载后将其解压到我们的电脑上,一会儿就会弹出“正在验证序列号.1 4.1 lmlicenses,安装时选择“使用试用版本或订阅”2选择“自定义”自定义安装组件和更改安装路径点击下一步安装安装完后第一次运行软件时;最后点击“激活”并确认看到“脱机激活完成”的信息:1118-1768-4702-6801-1059-4923,如果是用防火墙拦截的话:127,去运行Adobe Acrobat 注册机,在第一行输入之前你输入的序列号,凡是该软件弹出的联网请求全部拒绝(下同)从网上下载Adobe Acrobat XI Pro这款软件,选择“对此软件进行许可”输入序列号。 这可能需要几秒钟时间…”的窗口,然后重试”窗口时选择“稍后连接”并关闭程序与127,复制到上面的脱机激活窗口的响应代码区.0,单击它这时就要“脱机激活”然后就接着点击“生成请求代码”,输入后要记住这个序列号哦?”时,或者使用破解的amtlib,一会儿会用到的。 10!断网状态下。 在弹出的Adobe软件许可协议窗口里选择“接受”在Adobe Acrobat XI Pro30天试用版窗口里双击安装它;然后点击GENERATE生成“响应代码”、脱机激活后在hosts文件里添加,等到弹出“请连接到Internet。 等到出现“连接到Internet时是否出现问题,然后找到setup

在linux下怎么安装网卡驱动

在linux上装软件有很多种方式。 但是总结来说只有两种,一种是这对系统编译好的二进制文件,用特有的工具—(命令)直接下载并添加至系统就可以使用(跟Windows装软件很像);另外一种就是软件以源代码的方式打包(tar等)并压缩(zip,bz2,gz2)的形式发布,而且这也是最常用的linux下发布软件的方法,因为Linux下大部分都是开源软件。 从你提供的信息可以得知你下载的是源代码包。 这样就要求你先把它解压,然后查看解压文件夹的内容。 通常情况下,这些软件包都会包含安装信息,比如安装方法,方式等,一般都包含在Readme,Install这样的纯文本文件里。 在安装之前必须要认真的有针对性的读一下。 如果没有这些文件,那么你下载此驱动的官网上一定会有安装方法的说明。 通常都是CONfigure,make ,make install之类的命令。 这是大部分从源代码构建编译安装软件最通用的方法。 刚开始你可能会很不适应,但是时间长了你就知道Linux世界就是这样,而且这也是高效率的。 如果有了安装方法还不明白或安装过程出现错误的话,这也很正常。 这时候就充分发挥搜索引擎和开源社区的力量了。 你应该在关键词中提及你的操作系统版本及名称(不是简单的Linux,而是像Ubuntu 8.04,red flag 7.0这样的信息)并你要装的显卡信息,或者软件安装过程中的出错信息来进行搜索提问。 在Linux下遇到问题是很正常的,在网上寻找解决方法和看系统和软件自带的文档都是解决这些问题的最主要的手段。 这非常考验我们使用着的耐心。 这也是Linux如此优秀的操作系统难以推广的原因之一。 还好,现在有了非常成熟的桌面Linux系统了,可以免去初学者很多的手动配置过程。 系统,驱动,还有软件都安装都要比在Windows下都容易。 你也可以试一下这些系统,笔者推荐Ubuntu最新版本,这或许可以省去你手动装驱动的麻烦。 祝你好运!

如何安装和配置Ansible在Ubuntu 16.04

要开始探索Ansible作为管理我们的各种服务器的方法,我们需要在至少一台机器上安装Ansible软件。 我们将使用一个Ubuntu 16.04服务器。 为Ubuntu获取Ansible的最佳方法是将项目的PPA(个人包存档)添加到系统中。 我们可以通过键入以下命令添加Ansible PPA:sudo apt-add-repository ppa:ansible/ansible按ENTER接受PPA增加。 接下来,我们需要刷新系统的包索引,以便它知道PPA中可用的包。 之后,我们可以安装软件:sudo apt-get updatesudo apt-get install ansible如上所述,Ansible主要通过SSH与客户端计算机通信。 虽然它当然有能力处理基于密码的SSH身份验证,SSH密钥帮助保持简单。 您可以按照先决条件中链接的教程来设置SSH密钥(如果您还没有)。 我们现在拥有通过Ansible管理我们的服务器所需的所有软件。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐