sempre purgar remover no pacote

6

Estou mantendo um pacote debian, que inclui alguns arquivos de configuração que estão instalados em /etc/ . Existe uma maneira que eu possa de alguma forma fazer o pacote para sempre automaticamente --purge em si sempre que um usuário faz um% normalapt-get remove mypackage?

A razão é que eu tenho alguns arquivos de configuração em / etc que devem ser removidos quando os binários são removidos, caso contrário pode levar a um comportamento estranho. No entanto, eu ainda quero tratá-los como arquivos conf, ou seja, certifique-se de que o apt não os limpe em todas as atualizações do pacote. Mas eles devem ser removidos quando o pacote for desinstalado.

Atualmente estou excluindo manualmente os arquivos / etc conf no meu script postrm. No entanto, acabei de descobrir que isso tem um efeito colateral infeliz: se o usuário desinstala e depois re-instala o pacote, os arquivos conf não serão reinstalados, porque o apt pensa que eles ainda estão lá. Então, existe uma maneira que eu possa disparar manualmente uma 'purge' completa no meu postrm, de tal forma que o apt saiba que os arquivos conf desapareceram?

    
por Jeroen 18.10.2012 / 06:29

3 respostas

5

A política debian proíbe você de mexer com arquivos que pertençam a outros pacotes e / ou alterações do sistema. (ou pelo menos eu acho que faz)

Ensine seus usuários

Você pode instruir os usuários a usar purge em vez de remove :

sudo apt-get purge mypackage

Sobregravação automática

Se você precisar sobrescrever arquivos de configuração, o debian poderá solicitar ao usuário que instale os arquivos de configuração do mantenedor: link

One of the most annoying things about software is when you spend a great deal of time and effort customizing a program, only to have an upgrade stomp all over your changes. Debian solves this problem by marking such configuration files as conffiles. [55] When you upgrade a package, you'll be asked whether you want to keep your old configuration files or not.

Forçar novos arquivos de configuração por padrão

Você pode fazer isso automaticamente durante a atualização:

apt-get -o Dpkg::Options::="--force-confnew" dist-upgrade

Fontes: link e link

Fornece / Conflita / substitui

Não tenho certeza sobre isso, mas acho que você pode limpar e substituir totalmente uma versão antiga do pacote por uma nova versão do pacote.

Leia aqui: link

    
por Savvas Radevic 18.10.2012 / 09:21
1

abra o terminal e digite este comando.

alias remove='apt-get remove --purge

Ele criará um alias chamado remove e o definirá para incluir remove --purge

    
por Suhaib 18.10.2012 / 06:34
1

Eu ocasionalmente executo aptitude purge '~c' , que limpa tudo o que não foi removido antes. Incentive as pessoas a fazer isso.

    
por tumbleweed 06.11.2012 / 16:03