Remover lista de pacotes do Portage
Publicado por Darlan de Campos 30/04/2007
[ Hits: 3.990 ]
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"; } } }
Algoritmo de Euclides estendido em Perl
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Discord no Fedora 40
Instalando Discord no Ubuntu 24.04 LTS
Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
Sistema da Coréia do Norte - Red Star OS (38)
Problemas de instalação hyprland + Void Linux (1)
Acento til, agudo e circunflexo nao funcionam com Debian (4)