Remover lista de pacotes do Portage
Publicado por Darlan de Campos 30/04/2007
[ Hits: 4.002 ]
Homepage: http://www.iteracao.info
Este script remove um pacote e as suas dependências (não todas, apenas as que foram instaladas junto com o pacote).
Serve para o caso de ter instalado um pacote com várias dependências e querer remover todas. O modo de usar é simples:
# ./remove_lista.pl <pacote>
O pacote indicado deve conter a versão completa e ser o último da lista a ser eliminada, p.ex. "sys-fs/fuse-2.2.2".
#!/usr/bin/perl -w # Autor: Darlan Campos # O autor não se responsabiliza por nenhum efeito # causado por este script use strict; use Term::ReadKey; # Módulo requerido my $pkg = $ARGV[0] or die <<EOF; Uso: ./remove_lista.pl <pacote> O pacote indicado deve conter a versão completa e ser o último da lista a ser eliminada, p.ex. "sys-fs/fuse-2.2.2". Note que o script perguntará antes de remover os pacotes. EOF my $log = "/var/log/emerge.log"; open FILE,$log or die "Impossível abrir log. Verifique se está logado como root --"; my @file = reverse <FILE>; my ($found,$total,@rmv,$opt); # Prepara a lista para remoção for my $line (@file) { if ($line =~ m/>>> emerge \(([0-9]+) of \1\) ($pkg*) to/) { push @rmv, $2; $found = 1 if $1 != 1; $total = $1 } elsif ($found && $line =~ m/>>> emerge \(([0-9]+) of $total\) (.*) to/) { push @rmv, $2; if ($1 == 1) { $found = undef; last } } } # Remove os pacotes if (!@rmv) { print "Nenhum pacote a remover encontrado.\n"; exit } else { print "Pacotes a serem removidos ($total):\n\n"; for (@rmv) { print " * $_\n" } print "\nDeseja prosseguir com a remoção? [s/n] "; while (not defined ($opt = ReadKey(-1))) { } if ($opt eq 's') { print "Removendo pacotes...\n"; for (@rmv) { system "emerge --unmerge $_"; # A linha seguinte elimina os pacotes .tbz2 # unlink "/usr/portage/packages/All/$_.tbz2"; } } }
Nenhum comentário foi encontrado.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Instalando TeamViewer no Debian 12
Conheça o Octopi, outro frontend para o Pacman com acesso ao AUR (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Eu estou com problemas para usar o QBASIC no Dosbox X (2)
Ubuntu simplesmente morreu (8)
Como colocar uma assinatura digital em um código compilado ! (2)