安装特定版本的Ansible到Ubuntu系统.

首先

我仍然是一位新人工程师(第二年)。
之前已经将ansible相关内容容器化,因此本打算继续使用该方案,但由于突然需要在Ubuntu上安装ansible,所以要先保留下来。
由于在settingjson中遇到了安装特定版本的ansible的问题,所以我将一步步分析它。

经过

    1. 按照官方指南安装Ansible。

 

    1. 为什么在打开文件时会出现红线呢?

 

    1. 发现设置文件settig.json的内容(yaml.schemas)是原因。

 

    1. 想要更改设置,但目前使用的Ansible版本不仅需要修改内容还需要修正。

 

    1. 卸载=>安装

 

    1. 它会安装最新版本,但我不知道如何安装特定版本。

 

    1. 安装特定版本。

 

    想办法修复settig.json文件的内容(yaml.schemas)。

在这篇文章中所要进行的事情

卸载ansible => 安装特定版本的ansible 2.9.6
settings.json:修复yaml.schema

Ansible的卸载=>安装

如果什么都没有的话,可以跳过,没有问题。

我通过访问以下网站对其进行卸载。
https://www.thelinuxfaq.com/ubuntu/ubuntu-17-04-zesty-zapus/ansible?type=uninstall

ansible --version
sudo apt-get purge --auto-remove ansible

建议您使用以下命令,查看可通过的安装ansible版本。
[Ubuntu] apt-get 汇总

# どちらかで
$ sudo apt-cache showpkg ansible

$ sudo apt-cache madison ansible
ansible | 5.10.0-1ppa~focal | http://ppa.launchpad.net/ansible/ansible/ubuntu focal/main amd64 Packages
ansible | 2.9.6+dfsg-1 | http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages

# 公式の手順のままインストールする際にバージョン指定
# =2.9.6+dfsg-1をつけなければ最新バージョンインストールしてくる。
$ sudo apt-get install ansible=2.9.6+dfsg-1

$ ansible --version
ansible 2.9.6
~~~

特定版本的安装已完成。
接下来我会检查一下 setting.json 的设置。

settig.json :yaml.schemas

有一些設定不適合於環境中。

image.png
# 内容
Unable to load schema from 'https://json.schemastore.org/ansible-role-2.9': Request vscode/content failed unexpectedly without providing any details.

首先,在 VS Code 的 setting.json 文件中的 yaml.schemas 部分找不到指定的 URL。
如果这部分没问题的话,我就不用进行调查了。。(´;ω;`)

因为被告知缺少网址,所以试着删除它。
然后,结果被指责删除了“become”的部分,感觉像是在打地鼠。

# Incorrect type. Expected "boolean".yaml-schema: Become
    become: yes

有很多网站都写着YAML中的”yes”与”true”是相同的,所以我觉得写法并没有问题。
当我在VSCode中编辑YAML时,出现了”错误类型。应该为 ‘字符串’。”,情况相似。

{
    "yaml.schemaStore.enable": false
}

構文错误的内容不再显示。
虽然我认为如果有一个好的外部设置的话,将其记录在yaml.schemas中会更方便,但是因为我暂时力不从心,所以就到这里吧。可能现在YAML的扩展功能已经为我们提供了各种补充,对此我对自己的认识只是大致如此了,非常抱歉。。

如果要做的话,我想使用JSON模式存储库和ansible相关的内容,并设置所需的项目。根据氛围,我考虑大致是这样的。

{
    "yaml.schemas": {
        "https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible.json#/$defs/playbook": "*/playbook.yml",
    }
}

最后

我明白的事实。(Wǒ de .)

    • apt-getは最新版をインストールしてきてくれるが、バージョンインストールも可能。(バージョンの調べ方)

 

    • setting.jsonについて

 

    あとは全員devcontainerを使うことを私がお祈りしていることでした。

非常感谢您阅读至此。总结并简洁地表达是困难的呢(´・ω・)
在这方面失败真是痛苦,但是如果下次再遇到类似的情况,我觉得我可以设法克服。