Como faço para desfazer uma instalação acidental de todos os módulos Perl?

7

Eu estava tentando atualizar meus módulos Perl através do CPAN, mas não forneci um nome de regex / módulo para atualizar: perl -MCPAN -e 'upgrade' ; Eu só posso assumir o pior (o que parece ser suportado pela saída de perldoc perllocal ), ou seja, todos os módulos Perl do CPAN estão instalando.

Como posso desfazer essa bagunça? Eu suponho que posso remover /usr/local/share/perl , mas quais são as implicações disso?

Editar: ainda tenho 95% de espaço livre no disco rígido, por isso não é uma grande preocupação. Eu só não quero muita desordem desnecessária. Estou considerando rm 'esse diretório, fazendo dpkg --purge perl e refazendo o processo de instalação apt-get e CPAN. Mas é realmente necessário, ou posso apenas remover os módulos desnecessários de /usr/local/share/perl ?

    
por paulrehkugler 07.03.2013 / 03:02

2 respostas

4

Olhando isso um pouco mais perto, eu não acho que você precise ou deve apagar quaisquer diretórios ou arquivos em seu sistema.

A execução do comando perl -MCPAN -e 'upgrade' da linha de comando não instalará módulos adicionais em seu sistema.

Ele somente tentará atualizar os módulos instalados, através do sistema de gerenciamento de pacotes CPAN, e não através do Synaptic .

Isso é semelhante a executar o comando 'r' e executar o comando upgrade no prompt cpan[1]> . Veja aqui .

CPAN e Synaptic são dois sistemas distintos e distintos de gerenciamento de pacotes.

Este não irá instalar todos os módulos Perl possíveis do CPAN. Nem irá modificar o pacote de sistema existente dB. Então, você pode definitivamente reverter isso com segurança.

No entanto, isso ainda é potencialmente arriscado se um aplicativo ou seu sistema depender de uma versão específica de um módulo Perl.

Se você interrompeu o processo de atualização, é bem provável que você tenha evitado prejudicar seu sistema.

Opções de recuperação:

Em uma linha de comando, inicie cpan e execute o comando r para ver a lista de módulos instalados e as atualizações disponíveis. Por exemplo, aqui está a saída abreviada do meu cpan:

cpan[7]> r

Package namespace         installed    latest  in CPAN file
App::Cpan                    1.5701      1.61  BDFOY/App-Cpan-1.61.tar.gz
DBD::mysql                    4.020     4.022  CAPTTOFU/DBD-mysql-4.022.tar.gz
DBI                           1.616     1.623  TIMB/DBI-1.623.tar.gz
DB_File                       1.821     1.827  PMQS/DB_File-1.827.tar.gz
Error                       0.17010   0.17019  SHLOMIF/Error-0.17019.tar.gz
Eval::Closure                  0.06      0.08  DOY/Eval-Closure-0.08.tar.gz
....

Pegue o módulo Eval::Closure , neste exemplo. Digamos que você deixe o comando perl -MCPAN -e 'upgrade' completo e agora você tenha a versão 0.08 instalada.

Olhando para o Synaptic, neste caso, ele mostrará que a versão mais recente no repositório ainda será 0.06 (0.06-1, especificamente, na minha instância).

Você pode reverter para a versão do sistema, executando o seguinte comando:

sudo apt-get install --reinstall libeval-closure-perl

Se você tiver instalado qualquer módulo Perl manualmente e quiser revertê-los para uma versão anterior, precisará fazer o download deles novamente (a partir de source.cpan.org ou de outro lugar) e reinstalá-los manualmente.

Para resumir: A atualização dos módulos Perl no CPAN não deve afetar o repositório do sistema.

Melhor da sorte. Não entre em pânico.

    
por Kevin Bowen 07.03.2013 / 23:54
0

Eu recomendaria fazer: apt-get remove <installed-packages> && apt-get autoremove (para remover dependências) && apt-get purge <installed-packages> (para remover arquivos de configuração remaning) então você pode remover as pastas que você não precisa, mas já deve ser feito para você:)

    
por Stefan 07.03.2013 / 04:04

Tags