使用 Ansible 在 Ubuntu 21.10 上安装 Rust 和 Cargo
在您自己的 ansible playbook 中安装 rust 将确保您可以在您可能使用的所有机器上获得一致的安装,或者在您的开发机器出现故障时复制它。
个人理念
我尝试在我的 ansible playbook 中安装我想要使用的所有内容,而不仅仅是试用。这样,我总是在我的工作和家用机器上获得相同的设置,并且任何时候我都可以设置一个扔掉的 vm。
推荐安装
这就是 rust 建议您在 Ubuntu 上安装它的方式。首先更新您的系统,然后运行他们的安装程序,最后检查安装是否成功。
# system update
sudo apt update sudo apt upgrade
# download and run the rust installer
curl https://sh.rustup.rs -sSf | sh
# confirm your installation is successful
rustc --version
进入全屏模式 退出全屏模式
Ansible 安装
我在剧本中做的第一件事是检查该工具是否已安装。这里我选择找cargo,你也可以找
rustc。
- name: check if cargo is installed
shell: command -v cargo
register: cargo_exists
ignore_errors: yes
进入全屏模式 退出全屏模式
我首先检查现有安装,以便重新运行我的剧本
仅快速填写缺少的工具。更多关于这个
ansible install 有条件
接下来,我们需要下载安装程序脚本并使其可执行。
- name: Download Installer
when: cargo_exists is failed
get_url:
url: https://sh.rustup.rs
dest: /tmp/sh.rustup.rs
mode: '0755'
force: 'yes'
tags:
- rust
进入全屏模式 退出全屏模式
我选择下载安装程序,因为无法传入
-y标志否则,这是进行无人值守安装所必需的。
最后,我们只是运行带有-y标志的 rust 给我们的安装程序,这样它就可以在无人看管的情况下运行。
- name: install rust/cargo
when: cargo_exists is failed
shell: /tmp/sh.rustup.rs -y
tags:
- rust
进入全屏模式 退出全屏模式
还有一件事
确保你采购你的货物环境,否则你的外壳将找不到rustc或cargo。我选择通过将以下行添加到我的~/.zshrc来做到这一点。如果这是你的事情,你可以在~/.bashrc中,或者只是运行它你的外壳让它工作。
[ -f ~/.cargo/env ] && source $HOME/.cargo/env
进入全屏模式 退出全屏模式
完整安装手册
这是一个完整的安装手册,可帮助您入门或移植到您自己的手册中。
- hosts: localhost
gather_facts: true
become: true
become_user: "{{ lookup('env', 'USER') }}"
pre_tasks:
- name: update repositories
apt: update_cache=yes
become_user: root
changed_when: False
vars:
user: "{{ ansible_user_id }}"
tasks:
- name: check if cargo is installed
shell: command -v cargo
register: cargo_exists
ignore_errors: yes
- name: Download Installer
when: cargo_exists is failed
get_url:
url: https://sh.rustup.rs
dest: /tmp/sh.rustup.rs
mode: '0755'
force: 'yes'
tags:
- rust
- name: install rust/cargo
when: cargo_exists is failed
shell: /tmp/sh.rustup.rs -y
tags:
- rust
进入全屏模式 退出全屏模式
您可以将其保存为local.yml并在 shell 中运行以下命令以在本地计算机上运行 playbook。
ansible-playbook local.yml --ask-become-pass
进入全屏模式 退出全屏模式
注意:系统更新步骤需要
--ask-become-pass。
这将在 ansible 启动后立即询问您的密码。
我也有一篇非常相似的文章,关于我如何ansible install fonts
更多推荐




所有评论(0)