tmpfiles.d - diferença entre as opções 'x' e 'X'?

1

Estou configurando a limpeza do tmp no CentOS 7. Os docs para tmpfiles são um pouco incerto para mim ao explicar a diferença entre as opções X e x em tmp.conf . A diferença de acordo com os documentos é que, com a opção X ,

Unlike x, this parameter will not exclude the content if path is a directory, but only directory itself.

Não sei como interpretar isso.

Basicamente eu tenho um diretório que vive em /tmp e que eu não quer ser deletado (incluindo seu conteúdo). Para isso, basta adicionar uma linha

x /tmp/myspecialdir

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

    
por limp_chimp 29.08.2017 / 19:31

1 resposta

1

Eu também achei isso muito confuso. Aqui está um exemplo rápido. Acho que x versus X se torna útil se você tiver uma árvore profunda dentro de um diretório específico e quiser excluir alguns e não todos os diretórios.

Aqui está o meu exclude.conf: root# cat /etc/tmpfiles.d/exclude.conf d /tmp/testdir 0755 root root 1s x /tmp/testdir/*

Agora, crio alguns diretórios: # 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 Correr limpo

#systemd-tmpfiles --clean exclude.conf

Verifique

# 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

Agora, se X /tmp/testdir/* , obtiver o mesmo resultado. Então, se eu tiver x /tmp/testdir/b , exclui o diretório 'b' da limpeza.

#systemd-tmpfiles --clean exclude.conf

# ls -lrt /tmp/testdir/ total 0 drwxr-xr-x. 2 root root 6 Sep 1 12:55 b Além disso, X /tmp/testdir/b mostra o mesmo comportamento. No entanto, X /tmp/testdir/ e x /tmp/testdir excluirão todos os subdiretórios dentro de testdir , mas manterão testdir .

Sugiro testar as configurações antes de colocá-lo no lugar. Eu a man page poderia ser um pouco mais clara.

    
por 01.09.2017 / 13:56

Tags