A remoção de RPM não remove diretórios entregues e deixa lixo

6

Entrego um aplicativo por meio de um RPM.

Esta aplicação fornece vários diretórios e arquivos.
Por exemplo. em /opt/internal/com
uma estrutura de arquivos está sendo copiada.

Eu esperava que, em rpm -e , toda a estrutura de arquivos entregue em /opt/internal/com fosse removida.
Mas isso não acontece. Existem diretórios na estrutura de arquivos que não são vazios.

Este é o motivo? Mas esses diretórios (não vazios) foram criados pela instalação do RPM. Então, eu esperaria que eles fossem "possuídos" pelo RPM e removidos automaticamente.

Isso está errado? Eu deveria removê-los manualmente?

    
por Jim 06.04.2012 / 11:51

2 respostas

6

O RPM não irá excluir nenhum arquivo que não conheça, portanto, se novos arquivos forem criados em um diretório que não faz parte de um pacote, o RPM não os removerá nem os diretórios.

Ele excluirá os diretórios se eles estiverem vazios e souber sobre eles. Depende de como o arquivo de especificação foi escrito.

    
por 06.04.2012 / 12:17
1

Resposta do James O'Gorman está absolutamente certa.

Mais um cenário para adicionar, que encontrei recentemente, é que você precisa informar aos diretórios pertencentes ao pacote RPM na seção% files com uma linha "% dir / dir / path", para que ele se lembre de todos os arquivos e diretórios Banco de dados RPM quando instalado e pode ser removido (a menos que o conteúdo do diretório não possua por esse pacote) durante o apagamento de RPM.

Mais cuidado deve ser tomado ao especificar diretórios próprios, pois há diferentes métodos para processar o RPM em diferentes distros.

por exemplo. se o seu pacote contiver os seguintes arquivos & diretórios:

**DIR:** /opt/dir1/empty_dir %código% **FILE:** /opt/dir1/file1

então a sua seção de arquivos% deve se parecer com

%files
%dir /opt/dir1
%dir /opt/dir1/empty_dir
%dir /opt/dir1/dir2
/opt/dir1/file1
/opt/dir1/dir2/file2

Parte complicada é, você pode perder **FILE:** /opt/dir1/dir2/file2 e ela não será removida, mesmo se estiver vazia em algumas distros.

    
por 22.01.2015 / 10:31