Назад | Перейти на главную страницу

tmpfiles.d - разница между параметрами `x` и` X`?

Я настраиваю очистку tmp на CentOS 7. документы для tmpfiles мне немного непонятно, когда я объясняю разницу между X и x варианты в tmp.conf. Разница в соответствии с документами заключается в том, что с X вариант

в отличие x, этот параметр не будет исключать содержимое, если путь - это каталог, а только сам каталог.

Я не знаю, как это интерпретировать.

В основном у меня есть каталог, который живет в /tmp и который я не хотите удалить (включая его содержимое). Для этого достаточно добавить строку

x /tmp/myspecialdir

к /usr/lib/tmpfiles.d/tmp.conf?

Я тоже нашел это очень запутанным. Вот небольшой пример. Я думаю, что x по сравнению с X становится полезным, если у вас есть глубокое дерево внутри определенного каталога и вы хотите удалить некоторые, а не все каталоги.

Вот мой exclude.conf: root# cat /etc/tmpfiles.d/exclude.conf d /tmp/testdir 0755 root root 1s x /tmp/testdir/*

Теперь я создаю несколько каталогов: # mkdir /tmp/testdir/a ; mkdir /tmp/testdir/b; mkdir /tmp/testdir/ab

# ls -lrt /tmp/testdir/ total 0 drwxr-xr-x. 2 root root 6 Sep 1 12:55 a drwxr-xr-x. 2 root root 6 Sep 1 12:55 b drwxr-xr-x. 2 root root 6 Sep 1 12:55 ab Беги чисто

#systemd-tmpfiles --clean exclude.conf

Проверьте

# ls -lrt /tmp/testdir total 0 drwxr-xr-x. 2 root root 6 Sep 1 12:55 a drwxr-xr-x. 2 root root 6 Sep 1 12:55 b drwxr-xr-x. 2 root root 6 Sep 1 12:55 ab

Теперь, если X /tmp/testdir/*, Я получаю тот же результат. Тогда, если у меня есть x /tmp/testdir/b, то он исключает каталог 'b' из очистки.

#systemd-tmpfiles --clean exclude.conf

# ls -lrt /tmp/testdir/ total 0 drwxr-xr-x. 2 root root 6 Sep 1 12:55 b Также, X /tmp/testdir/b показывает такое же поведение. Тем не мение, X /tmp/testdir/ и x /tmp/testdir удалит все подкаталоги внутри testdir но буду держать testdir.

Я бы посоветовал проверить настройки, прежде чем устанавливать их. Страница руководства могла бы быть немного более понятной.