Quando o dpkg deletará diretórios?

2

No /etc/cron.d/ do Debian Jessie, existe um arquivo chamado .placeholder , cujo conteúdo diz:

# DO NOT EDIT OR REMOVE
# This file is a simple placeholder to keep dpkg from removing this directory

Agora, os arquivos .place são mencionados vários lugares , mas em que condições seria necessário? Quando o dpkg decidirá excluir um diretório vazio em /etc ?

    
por Parthian Shot 11.08.2015 / 19:21

1 resposta

3

Isso provavelmente é resultado do comportamento histórico em dpkg . Atualmente, a remoção é feita em remove.c , e os diretórios são removidos apenas se estiverem vazios e o pacote atual (sendo removido) é o único que os utiliza (isso é determinado em help.c , em dir_is_used_by_others() e dir_is_used_by_pkg() ).

Observar o pacote cron revela que os espaços reservados foram introduzidos em 2004 como um remédio para corrigir # 217760 ; É possível que, no momento, dpkg não tenha verificado as coisas tão bem como agora, de forma que, se a remoção de um pacote fizesse com que um diretório ficasse vazio, esse diretório também seria excluído. Portanto, cron instalaria /etc/cron.d , mas nenhum arquivo dentro desse diretório; então outro pacote descartaria um arquivo lá, e a remoção desse pacote excluiria o arquivo e também o diretório (desde que ficou vazio). Isso quebrou cron , então, para evitar o bug, um espaço reservado foi adicionado.

    
por 11.08.2015 / 19:40

Tags