如何使用 Ansible 创建新分区

2023-12-20

当我在命令行上运行它时,它工作正常:

 echo -e "n\np\n1\n\n\nw" | sudo fdisk /dev/sdb

但在 Ansible 中它不想在 shell 中运行:

 - name: partition new disk
   shell: echo -e "n\np\n1\n\n\nw" | sudo fdisk /dev/sdb

它不会返回错误,但也不会创建分区。

我检查过 Ansible 和 LVM 不能满足我的需要。

有什么建议吗?


对于 Ansible 2.3 及更高版本,您可以使用parted module https://docs.ansible.com/ansible/latest/collections/community/general/parted_module.html从块设备创建分区。 例如:

 - parted:
     device: /dev/sdb
     number: 1
     flags: [ lvm ]
     state: present

要格式化分区,只需使用filesystem module https://docs.ansible.com/ansible/latest/collections/community/general/filesystem_module.html如下所示:

 - filesystem:
     fstype: ext2
     dev: /dev/sdb1

假设要将分区安装到,/work文件夹只需使用mount module https://docs.ansible.com/ansible/latest/collections/ansible/posix/mount_module.html如下所示:

- mount:
    fstype: ext2
    src: /dev/sdb1
    path: /work
    state: mounted
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Ansible 创建新分区 的相关文章

  • 如何在 bash 中结合超时和 eval 命令

    为了执行存储在变量中的命令eval使用命令 gt a echo e a nb wc l gt eval a 2 但如何才能与它结合起来呢 timeout命令 我尝试过以下操作 这给了我错误的输出 gt timeout 10 a a b wc
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 我的 unix 脚本出了什么问题

    bin bash while echo n Player s name read name name ZZZ do searchresult grep name playername if searchresult 0 then echo
  • 设置 Pyenv 的路径

    我正在尝试在我的服务器中设置 Pyenv 的加载路径 bashrc file 我正在关注这个tutorial https realpython com intro to pyenv 它要求我们在哪里设置pyenv到加载路径 然而 在我的 b
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • 此 bash 命令在 Makefile 中未正确运行

    在 Makefile 里面我有这样的 release version poetry version cut f2 d echo release version 如果我运行 我的终端中的语句将毫无问题地运行 gt version poetry
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • 使用带有curl 的内部字段分隔符

    当我做 ls IFS l 我得到了我期望的输出 当我做 curl IFShttp www google com 我不 我是否误解了内部字段分隔符 如何在不使用任何空格字符的情况下运行curl 命令 您需要将变量放在大括号内 否则 shell
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 语法错误:for 循环变量不正确

    我正在尝试编写一个可以在后台调高收音机音量的脚本 bin sh for i 80 i lt 101 i do amixer cset numid 1 i sleep 60 done 但我有问题 alarmclock vol sh 3 ala
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 如何制作一个 bash 脚本来同时创建 40 个程序实例?

    我是新来的bash and Linux 我编写了一个程序 我想创建多个同时实例 现在 我通过打开 10 个新终端 然后运行该程序 10 次 我运行的命令是php home calculatedata php 使用 bash 脚本执行此操作的
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • jq:将对象数组转换为对象

    我收到了来自curl的回复 格式如下 list value 1 id 12 value 15 id 13 value 4 id 14 给定 id 之间的映射 如下所示 12 newId1 13 newId2 14 newId3 我想做这个

随机推荐

  • 如何在 IntelliJ IDEA 中创建补丁?

    在使用 Eclipse 多年之后 我已经使用 IntelliJ IDEA 9 0 Community Edition 一段时间了 似乎很难在其中找到一件事 我想在我的项目中的某些子文件夹上创建补丁 在 Eclipse 中 可以使用右键单击
  • 为什么 GCC 发出“lea”而不是“sub”来进行减法?

    我正在查看一些通过反汇编一些 C 程序生成的程序集 我对经常重复看到的单个优化感到困惑 当我没有对 GCC 编译器进行优化时 使用subl减法指令 但是当我打开优化时 O3准确地说 编译器使用leal指令而不是减法 示例如下 没有优化 83
  • 从 HttpInterceptor 中的 catchError 返回可观察到的捕获错误会导致错误循环

    我有一个简单的拦截器 可以处理请求并使用 RXJS catchError 捕获任何 http 错误 catchError 中收到的第二个参数是捕获的可观察值 在某些情况下 我想返回此错误并让它传播到订阅函数中的错误处理程序 问题是返回捕获的
  • mingw ld 找不到搜索路径中存在的某些库

    我用的是vim mingw 不知何故 终端还是window命令 所以我用谷歌搜索 并使用mintty 但是当运行 vim 时 它会永远挂起 直到我输入 C c i find 这一页 https code google com p mintt
  • 在 GCC 4.8 上构建 Python (2.7) 模块失败

    我正在尝试使用 C API 构建 Python 模块 扩展写入 但失败了 python2 cmath py build running build running build ext building c math extension cr
  • DataGridView 未在 C# 中更新[重复]

    这个问题在这里已经有答案了 有人能解释一下发生了什么吗 将代码 1 更改为代码 2 可以解决问题 尽管理论上应该没有区别 理论撞击实践就像南瓜撞击砖墙 Code 1 OutputDataGridView DataSource myList
  • 不等待 AJAX 请求的响应

    假设我从 jQuery 向后端 PHP 脚本发出 AJAX HTTP 请求 发出请求后 PHP 脚本开始运行并发挥其魔力 假设我随后更改为另一个网站 远离发出原始 AJAX 请求的网站 同样 我在 PHP 脚本完成之前执行此操作 并且有时间
  • 查找两个已排序数组的前 k 个和

    给定两个已排序的数组 大小分别为 n 和 m 你的任务 如果你选择接受它 是输出以下形式的最大 k 和a i b j O k log k 解决方案可以在这里找到 http www ocf berkeley edu wwu cgi bin y
  • 获取附件的 url

    我正在使用 CouchApp 构建一个简单的 Web 应用程序 允许上传和管理图片 实际的图像文件作为文档的附件存储 如下所示 id 09fe82d75a26f9aa5e722d6b220180d2 rev 2 5797b822c83b9d
  • 如何在 sed 的命令中使用变量?

    I have abc sh exec ROOT Subsystem xyz sh 在 Unix 机器上 如果我打印echo HOME然后我得到 HOME COM FILE 我想更换 ROOT with HOME使用 sed 预期输出 exe
  • iPhone:禁用“双击空格键。”捷径?

    默认情况下 如果您在 iPhone 或 iPad 上点击空格键两次 则不会得到 两个空格 而是得到 句点后跟一个空格 有什么方法可以在代码中禁用此快捷方式吗 更新 通过 UITextInputTraits 禁用自动更正不起作用 更新2 明白
  • Scala中涉及抽象类型时没有动态绑定?

    当我在 Martin Odersky 的抽象类型中尝试动物 食品示例时Scala 编程 class Food abstract class Animal type SuitableFood lt Food def eat food Suit
  • 将 vue-router 组件解释为一个函数

    我在几个不同的地方看到了以下类型的路由定义 path dashboard component render c return c router view children path component Dashboard 我试图理解这有什么
  • Linux 中的 SDL 桌面分辨率检测[重复]

    这个问题在这里已经有答案了 我收到一些报告称 对于某些 Linux 用户 尤其是使用 SteamOS 的用户 我的游戏以错误的分辨率打开 游戏尝试检测当前桌面分辨率并使用该分辨率创建无边框全屏窗口 例如 SteamOS 的分辨率通常为 19
  • java.lang.StackOverflowError:在 ListView 适配器中启用/禁用 TextView#setTextIsSelectable 时堆栈大小为 8MB

    我有一个活动ListView 显示TextView在每个列表项中 使用这些方法切换选定位置的属性EditText setTextIsSelectable EditText setEllipsize EditText setSingleLin
  • XCTest相对于SenTestingKit有哪些优势?

    我想在 iOS 中进行单元测试 默认情况下 测试类是使用 Xcode 5 中的 XCTest 框架类创建的 我在早期版本的 iOS 中使用了 SenTestingKit 这两个框架有什么区别 XCTest框架有哪些优势 我用谷歌搜索了相关文
  • 材料表使行在单击时可编辑

    使用材料表 https material table com 库中 我试图使表行可以通过双击进行编辑 单击该行应该与单击操作列最左侧的编辑按钮具有相同的效果 我已成功链接到正确的事件处理程序 现在双击一行时由警报框表示 https code
  • kohana3.0如何彻底删除镜像文件?

    我有一个 kohana3 0 内容和文件管理系统 当用户删除图像时 我希望能够从数据库以及我上传图像的文件夹中完全删除图像 现在我用于图像删除 public function delete id NULL parent delete id
  • gdb - 执行命令n次

    我正在使用 gdb 调试器来运行一个包含循环的程序 让我们坐在 10 中 当我进入循环时 我不想进入它 我知道我可以在循环之后设置第二个断点 而不是 c 继续 但我也记得有可能做类似 n 10 接下来的 10 次 的事情 n 10 不起作用
  • 如何使用 Ansible 创建新分区

    当我在命令行上运行它时 它工作正常 echo e n np n1 n n nw sudo fdisk dev sdb 但在 Ansible 中它不想在 shell 中运行 name partition new disk shell echo