Alle Pakete einer Quelle löschen
Zur Navigation springen
Zur Suche springen
Wiki ‹ Scripting Paketsystem ‹ Alle Pakete einer Quelle löschen
Es kommt vor, das man in seiner /etc/apt/sources.list eine inoffizielle Quelle aufnimmt (z.B. für KDE3) und man aus einem Grund dann alle Pakete dieser Quelle wieder entfernen will. Das kann man mit folgendem Script machen:
#
# Author: Martin Lohmeier
# E-Mail: martin@mein-horde.de
#
use strict;
if($#ARGV < 0)
{
print "Fehler: Keine Packetliste angegeben\n";
exit 1;
}
open(LIST, $ARGV[0]) ||
die "Fehler: kann die Datei $ARGV[0] nicht öffnen!\n$!\n";
while(<LIST>)
{
chomp;
if($_ =~ /^Package:/)
{
$_ =~ s/^Package:\ (.*$)/$1/;
print "$_\n";
system("apt-get remove $_");
}
}
close(LIST);
Als erstes und einzigstes Argument übergibt man dem Script die Datei mit den Paketinformationen (unter /var/lib/apt/lists zu finden).
Man kann sich die Sache auch ein bischen einfacher machen:
#
# Author: Florian Ragwitz
# E-Mail: florian@gnoppix.org
#
die("Keine Paketlisten angegeben") if(!@ARGV);
while(<>) {
if(/^Package: (.*)$/) {
print $1."\n";
system("apt-get remove $1");
}
}
Hier kann man auch mehrere Listen uebergeben. Achtung: nicht /var/lib/dpkg/status als Liste übergeben; damit würden sämtliche Pakete deinstalliert!
Autor: MartinLohmeier
Scripting / Scripting Paketsystem / Alle Pakete einer Quelle löschen