Tasksel oder einfaches Apt?
In der Vergangenheit habe ich immer tasksel
sogenannte "Tasks" installiert. Es scheint jedoch, dass dies in APT integriert wurde:
apt-cache dumpavail | grep ^Task
[...] snip
Task: lamp-server
[...]
und dass ich solche "Tasks" installieren kann, indem ich ein Caret ( ^
) anhänge :
sudo apt-get install lamp-server^
Entspricht dies dem Folgenden?
sudo tasksel install lamp-server
Und was ist bevorzugt?
Metapakete
Wie kommen hier zusätzlich Metapakete ins Spiel? Einige Aufgaben scheinen kein Metapaket zu sein, während andere:
apt-cache show lamp-server
N: Unable to locate package lamp-server
apt-cache show kubuntu-desktop
Package: kubuntu-desktop
[...]
Task: kubuntu-desktop
Worin besteht der Unterschied zwischen den folgenden drei möglichen Installationsmethoden, wenn Sie das letzte Beispiel verwenden?
sudo apt-get install kubuntu-desktop
sudo apt-get install kubuntu-desktop^
sudo tasksel install kubuntu-desktop
apt
package-management
tasksel
metapackages
gertvdijk
quelle
quelle
apt-get install -s lubuntu-desktop
versus anapt-get install -s lubuntu-desktop^
. In letzterem sehen Sie etwas Ähnliches: Hinweis: Wählen Sie 'policykit-1-gnome' für die Aufgabe 'lubuntu-desktop' / Hinweis: Wählen Sie 'gnome-keyring' für die Aufgabe 'lubuntu-desktop' / Hinweis: Wählen Sie 'libplist1' für Aufgabe 'Lubuntu-Desktop' / Note, die Auswahl 'aspell-en' für Aufgabe 'Lubuntu-Desktop' / Note, die Auswahl 'libsdl1.2debian' für Aufgabe 'Lubuntu-Desktop' / So, in diesem speziellen Fall , Ich bin mir nicht sicher, ob die "Karotte" besser ist.Antworten:
Kurz gesagt: Es gibt einen Unterschied zwischen dem Tasksel- und dem Apt-Get-Installationsprozess von Tasks.
Schauen Sie sich Ihr Beispiel an:
Der passende Weg
sudo apt-get install 'lamp-server^'
wird auswerten, um Folgendes zu tun:Installieren Sie diese Pakete wie folgt:
Der aufgabenreiche Weg
sudo tasksel install lamp-server
sucht nach einer Aufgabe namens "lamp-server" in einer der Konfigurationsdateien unter/usr/share/tasksel/**/*.desc
:/usr/lib/tasksel/info/lamp-server.preinst
. Wenn es existiert, führe dieses Skript aus.Installieren Sie Pakete mit apt-get mit folgendem Befehl:
Suchen Sie nach
/usr/lib/tasksel/info/lamp-server.postinst
. Wenn es existiert, führe dieses Skript aus.Fazit
tasksel ist leistungsfähiger beim Verarbeiten und Auswählen von Aufgaben. Es kann zusätzliche Skripte vor / nach der Installation / Deinstallation von Aufgaben ausführen. Und der größte Vorteil: Sie können ganz einfach Aufgaben ändern und neue erstellen. Es ist nicht möglich, eine offizielle Paketlistendatei ohne Nachteile zu bearbeiten (gültige Signatur).
Zurück zu Ihrer ersten Frage:
In Ihrem speziellen Fall sind beide Befehle fast gleich (vorausgesetzt, Sie haben beide
APT::Install-Recommends
und aktiviertAPT::Get::AutomaticRemove
). Der einzige Unterschied ist der erweiterte Paketstatusmysql-server
und dieapache2
Abhängigkeiten (mit einfachem apt-get auf "manuell installiert" gesetzt).Und was ist mit Metapaketen?
Wenn Sie die Funktionen von tasksel wie das Auswählen von Aufgaben (besonders hilfreich bei der Installation) und das Ausführen zusätzlicher Befehle vor und nach einigen Aufgabenblöcken nicht nutzen, ähnelt eine Aufgabe einem Metapaket. Der Unterschied ist: Eine Aufgabe ist nicht als Paket im APT-Cache registriert.
Wenn Sie also eine Taskabhängigkeit deinstallieren, werden andere Taskabhängigkeiten nicht als automatisch installiert markiert, da sie explizit installiert wurden. Wenn Sie ein Metapaket deinstallieren, werden die Abhängigkeiten mit entfernt,
autoremove
da ihr erweiterter Paketstatus "automatisch installiert" ist (falls nicht manuell installiert).Hinweis: Alle verteilten Aufgaben in Debian installieren ein Metapaket mit dem Namen
task-TASKNAME
.Geben Sie Ihr Beispiel:
sudo apt-get install kubuntu-desktop
kubuntu-desktop
. Abhängigkeiten werden "automatisch installiert".sudo apt-get install kubuntu-desktop^
kubuntu-desktop
. Sie sind alle als "manuell installiert" gekennzeichnet.sudo tasksel install kubuntu-desktop
kubuntu-desktop
. Abhängigkeiten werden "automatisch installiert".quelle