Remover addon sem reiniciar

Tutoriais BrazilFW 2.x em Português

Remover addon sem reiniciar

Mensagempor br_lemes » Ter Jul 26, 2011 1:58 am

:arrow: http://www.br-lemes.net/2011/07/brazilf ... iciar.html

Reiniciar é coisa do mal. Pelo menos eu penso assim. Se você gostou de Instalar addon sem reiniciar, então agora vamos fazer o caminho inverso: remover addon sem reiniciar.

O procedimento para instalar um addon sem reiniciar é simples. Já para remover, precisamos lidar com um inconveniente: como parar os processos que pertencem ao addon. A versão 2.32.2 do BrazilFW tem um processo padrão para iniciar os serviços: executar os arquivos /etc/rc.d/pkgs/rc.*. Mas para parar os serviços, apesar de haver o procedimento padrão que é executar os arquivos /etc/rc.d/pkgs/sd.*, poucos addons o usam. A maioria deixa por conta do sistema encerrar os processos durante o desligamento ou reinicio.

Então, se o seu addon não tem um /etc/rc.d/pkgs/rc.*, não há fórmula fácil. Use o ps para ver os processos rodando e o kill ou killall para se livrar deles. Encerrando os processos, vamos remover os arquivos que pertencem ao addon. E quais são eles? Cada addon tem um arquivo com a lista de seus arquivos (incluindo a própria lista), este arquivo fica em /var/lib/lrpkg/*.list.

Alguns addons listam seus arquivos um a um, mas outros usam coringas (*) e/ou diretórios. Então para remover vamos usar o rm -ri, a fim de remover também os diretórios (opção r) e rodar no modo interativo (opção i) confirmando cada arquivo a ser excluído a fim de não fazer alguma besteira, mas caso você esteja seguro do que está fazendo (e mantenha backup do seu sistema) pode usar somente rm -r.

Em seguida, precisamos remover o addon da lista de pacotes (o contrário do que fizemos ao instalar). E por fim remover o addon da sua partição vfat. Vamos aos comandos:

Código: Selecionar todos
killall bwmon
rm -ri `cat /var/lib/lrpkg/bmt.list`
sed -i '/bmt/d' /var/lib/lrpkg/packages
mt
rm /mnt/bmt.tgz
umt


Para instalar eu lhe dei os comandos e depois a explicação. Mas para remover, eu lhe dei primeiro a explicação para depois mostrar os comandos. A razão disso é que você deve estar bem mais atento e entender o que você está fazendo. Afinal, se você não quer reiniciar é porque não quer interromper o serviço do seu cliente. Então cuide para não fazer besteira e arruinar com todo o sistema. Ao encerrar os processos com killall você pode antes usar ps | grep bwmon para ver quais serão os processos encerrados, trocando é claro o bwmon pelo nome do processo que o seu addon roda.

Por último, você pode refinar a desinstalação procurando se o seu addon não deixa arquivos na segunda partição (/partition) ou variáveis no arquivo de configuração (/etc/coyote/coyote.conf). Se você editar o arquivo de configuração, não esqueça de fazer backup. Alguns addons também deixam arquivos em /tmp, mas não se importe com eles. Se você quiser verificar se seu addon não deixou diretórios órfãos (vazios), pode listar os diretórios vazios usando find / -type d -empty 2>/dev/null | grep -v -E '(/proc|/partition)'. Mas ATENÇÃO, não apague todos os diretórios vazios, apenas procure se entre os diretórios vazios do seu sistema tem algum que pertencia ao seu addon.

Vai aqui no final uma observação a respeito de addons que possuam módulos do kernel, deixei para o final porque eles não são muito comuns e o que estou dizendo aqui é só uma ideia, não pude fazer nenhum experimento prático para verificar a validade disso. Depois de parar os processos, mas antes de remover os arquivos, remova também os módulos do kernel. Alguns addons trazem uma lista de seus módulos no arquivo /etc/modules.*, então você poderia fazer rmmod `cat /etc/modules.*`. De qualquer forma os módulos também estão na lista de arquivos do addon, assim você pode saber quais são eles com grep /lib/modules/ /var/lib/lrpkg/*.list.

Livre do addon, pode continuar rodando seu sistema. Pode inclusive reinstalar o addon agora, sem nenhum problema. Coisas ruins não acontecerão se você deixar de reiniciar, mas poderão acontecer se você não entender o que está fazendo. Não acha?

br_lemes, o Lich insano (Hipocondríaco)
Se você tem uma maçã e eu tenho outra; e nós trocamos as maçãs, então cada um terá sua maçã. Mas se você tem uma ideia e eu tenho outra, e nós as trocamos; então cada um terá duas ideias.

http://www.br-lemes.net/
Avatar do usuário
br_lemes
BFW Beneméritos
 
Mensagens: 82
Registrado em: Dom Jun 19, 2011 12:46 am
Localização: Apiacás - MT
BrazilFW Box:

Voltar para BrazilFW 2.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron