Модуль community.general.filesize – Создать файл заданного размера или изменить его размер, если он существует
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.general.filesize.
Добавлена в community.general 3.0.0
Описание
- Этот модуль является простым оболочкой вокруг
ddдля создания, расширения или обрезки файла заданного размера. Его можно использовать для управления файлами подкачки (требующими смежных блоков) или, как альтернативу, для создания больших разреженных файлов.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- dd (Data Duplicator) в PATH
Параметры
Параметр | Комментарии |
|---|---|
attributes aliases: attr строка | Атрибуты, которые должен иметь полученный объект файловой системы. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. Оператор |
blocksize любой | Размер блоков в байтах, если не указан множительный суффикс. Числовое значение (до единицы измерения) ДОЛЖНО быть целым числом (или Если не задано, размер блока определяется из ОС и обычно составляет |
force булево | Определяет, будет ли файл перезаписан, если он существует, то есть, обнуляется ли он до 0. Когда
Варианты:
|
group строка | Имя группы, которая должна владеть объектом файловой системы, как это передаётся в chown. Если не указано, используется текущая группа текущего пользователя, за исключением случая, когда вы являетесь root, в этом случае может сохраняться предыдущее владение. |
mode любой | Права доступа, которые должен иметь полученный объект файловой системы. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вам необходимо предоставить Ansible достаточно информации для её корректного разбора. Для получения согласованных результатов, заключайте восьмеричные числа в кавычки (например, Если Ansible получает число без выполнения ни одного из этих правил, это будет десятичное число, что приведёт к непредсказуемым результатам. Начиная с Ansible 1.8, режим может быть задан как символьный (например, Если Если Указание |
owner строка | Имя пользователя, который должен владеть объектом файловой системы, как это передаётся в chown. Если не указано, используется текущий пользователь, за исключением случая, когда вы являетесь root, в этом случае может сохраняться предыдущее владение. Указание числового имени пользователя будет интерпретироваться как идентификатор пользователя, а не как имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой неоднозначности. |
path путь / обязательно | Путь к обычному файлу для создания или изменения размера. |
selevel строка | Часть контекста объекта файловой системы SELinux, относящаяся к уровню. Это атрибут MLS/MCS, иногда называемый При установке в значение |
serole строка | Часть контекста объекта файловой системы SELinux, относящаяся к роли. При установке в значение |
setype строка | Часть контекста объекта файловой системы SELinux, относящаяся к типу. При установке в значение |
seuser строка | Часть контекста объекта файловой системы SELinux, относящаяся к пользователю. По умолчанию используется политика При установке в значение |
size любой / обязательно | Запрашиваемый размер файла. Значение — это число (либо Если множительный суффикс не указан, значение обрабатывается как целое число блоков по Когда значение Когда значение Когда значение Это означает, что файл любого произвольного размера может быть увеличен до любого другого произвольного размера, а затем уменьшен до первоначального размера без изменения его первоначального содержимого. |
source путь | Устройство или файл, предоставляющий входные данные для подготовки файла. Этот параметр игнорируется, когда Значение по умолчанию: |
sparse boolean | Является ли создаваемый файл разреженным. Этот параметр эффективен только для вновь созданных файлов или при увеличении размера файла, только для добавляемых байтов. Этот параметр не поддерживается на операционных системах или файловых системах, не поддерживающих разреженные файлы.
Вызовы:
|
unsafe_writes boolean | Этот параметр игнорируется. Этот модуль всегда изменяет размер файла на месте. Вызовы:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме проверки и возвращать прогноз статуса изменения без модификации целевого объекта. |
diff_mode | Поддержка: полная | При использовании режима diff возвращает подробности о том, что изменилось (или, возможно, необходимо изменить в |
См. также
См. также
- dd(1) manpage для Linux
-
Руководство по реализации dd в GNU/Linux (из GNU coreutils).
- dd(1) manpage для IBM AIX
-
Руководство по реализации dd в IBM AIX.
- dd(1) manpage для Mac OSX
-
Руководство по реализации dd в Mac OSX.
- dd(1M) manpage для Solaris
-
Руководство по реализации dd в Oracle Solaris.
- dd(1) manpage для FreeBSD
-
Руководство по реализации dd в FreeBSD.
- dd(1) manpage для OpenBSD
-
Руководство по реализации dd в OpenBSD.
- dd(1) manpage для NetBSD
-
Руководство по реализации dd в NetBSD.
- busybox(1) manpage для Linux
-
Руководство по реализации busybox в GNU/Linux, которая предоставляет собственную реализацию dd.
Примеры
- name: Create a file of 1G filled with null bytes
community.general.filesize:
path: /var/bigfile
size: 1G
- name: Extend the file to 2G (2*1024^3)
community.general.filesize:
path: /var/bigfile
size: 2G
- name: Reduce the file to 2GB (2*1000^3)
community.general.filesize:
path: /var/bigfile
size: 2GB
- name: Fill a file with random bytes for backing a LUKS device
community.general.filesize:
path: ~/diskimage.luks
size: 512.0 MiB
source: /dev/urandom
- name: Take a backup of MBR boot code into a file, overwriting it if it exists
community.general.filesize:
path: /media/sdb1/mbr.bin
size: 440B
source: /dev/sda
force: true
- name: Create/resize a sparse file of/to 8TB
community.general.filesize:
path: /var/local/sparsefile
size: 8TB
sparse: true
- name: Create a file with specific size and attributes, to be used as swap space
community.general.filesize:
path: /var/swapfile
size: 2G
blocksize: 512B
mode: u=rw,go=
owner: root
group: root
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
cmd строка | Команда, выполненная для создания или изменения размера файла. Возвращается: при изменении или ошибке Пример: |
filesize словарь | Словарь размеров, относящихся к файлу. Возвращается: всегда |
|
blocks целое число |
Количество блоков в файле. Возвращается: при успехе Пример: |
|
blocksize целое число |
Размер блоков в байтах. Возвращается: при успехе Пример: |
|
bytes целое число |
Размер файла в байтах, как произведение Возвращается: при успехе Пример: |
|
iec строка |
Размер файла в удобочитаемом формате, следуя стандарту IEC. Возвращается: при успехе Пример: |
|
si строка |
Размер файла в удобочитаемом формате, следуя стандарту SI. Возвращается: при успехе Пример: |
path строка | Абсолютный путь к файлу, если это символическая ссылка, в противном случае — такой же, как параметр модуля. Возвращается: всегда Пример: |
size_diff целое число | Разница (положительная или отрицательная) между старым и новым размерами в байтах. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/filesize_module.html