Модуль community.general.filesize — создание файла заданного размера или изменение его размера, если файл существует
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 псевдонимы: attr строка | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов см. на странице руководства Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
blocksize любое значение | Размер блоков в байтах, если после значения не указан множитель. Числовое значение (до единицы измерения) ДОЛЖНО быть целым числом (или Если значение не задано, размер блоков определяется на основе ОС. Обычно он составляет |
force логическое значение | Следует ли перезаписать существующий файл, то есть усечь его до 0. При значении Параметры Варианты:
|
group строка | Имя группы, которой должен принадлежать объект файловой системы; передается команде Если значение не указано, используется текущая группа текущего пользователя. Если пользователь — root, можно сохранить прежнего владельца. |
mode любое значение | Права доступа, которые должен иметь результирующий объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим можно указывать в символьном формате (например, Если Если Указание |
owner строка | Имя пользователя, которому должен принадлежать объект файловой системы; передается команде Если значение не указано, используется текущий пользователь. Если пользователь — root, можно сохранить прежнего владельца. Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя. Во избежание путаницы не используйте числовые имена пользователей. |
path путь / обязательный | Путь к обычному файлу, который нужно создать или изменить по размеру. |
selevel строка | Компонент уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано значение |
serole строка | Компонент роли контекста объекта файловой системы SELinux. Если задано значение |
setype строка | Компонент типа контекста объекта файловой системы SELinux. Если задано значение |
seuser строка | Компонент пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика Если задано значение |
size любое значение / обязательный | Запрашиваемый размер файла. Значение представляет собой число ( Если множитель не указан, значение рассматривается как целое количество блоков по Если значение Если значение Если значение Это означает, что файл произвольного размера можно увеличить до любого другого размера, а затем уменьшить до исходного размера, не изменив его исходное содержимое. |
source путь | Устройство или файл, предоставляющий входные данные для заполнения файла. Этот параметр игнорируется, если задано По умолчанию: |
sparse логическое значение | Следует ли создавать разреженный файл. Этот параметр действует только для вновь созданных файлов; при увеличении файла — только для добавляемых байтов. Этот параметр не поддерживается ОС или файловыми системами, которые не поддерживают разреженные файлы. Параметры Варианты:
|
unsafe_writes логическое значение | Этот параметр молча игнорируется. Модуль всегда изменяет размер файла на месте. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
См. также
См. также
- Страница руководства dd(1) для Linux
-
Страница руководства по реализации dd для GNU/Linux (из GNU coreutils).
- Страница руководства dd(1) для IBM AIX
-
Страница руководства по реализации dd для IBM AIX.
- Страница руководства dd(1) для Mac OSX
-
Страница руководства по реализации dd для Mac OSX.
- Страница руководства dd(1M) для Solaris
-
Страница руководства по реализации dd для Oracle Solaris.
- Страница руководства dd(1) для FreeBSD
-
Страница руководства по реализации dd для FreeBSD.
- Страница руководства dd(1) для OpenBSD
-
Страница руководства по реализации dd для OpenBSD.
- Страница руководства dd(1) для NetBSD
-
Страница руководства по реализации dd для NetBSD.
- Страница руководства busybox(1) для 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/filesize_module.html