Dans le passé, j'ai toujours utilisé tasksel
pour installer ce que l'on appelle des "tâches". Il semble cependant que cela ait été intégré à APT:
apt-cache dumpavail | grep ^Task
[...] snip
Task: lamp-server
[...]
et que je peux installer de telles "tâches" en y ajoutant un signe (^
), comme ceci:
Sudo apt-get install lamp-server^
Est-ce que cela équivaut à ce qui suit?
Sudo tasksel install lamp-server
Et qui est préféré?
De plus, comment les métapaquets entrent-ils en jeu ici? Certaines tâches semblent ne pas être un méta-paquet alors que d'autres sont:
apt-cache show lamp-server
N: Unable to locate package lamp-server
apt-cache show kubuntu-desktop
Package: kubuntu-desktop
[...]
Task: kubuntu-desktop
Ainsi, à l'aide du dernier exemple, quelle est la différence entre les trois méthodes d'installation suivantes?
Sudo apt-get install kubuntu-desktop
Sudo apt-get install kubuntu-desktop^
Sudo tasksel install kubuntu-desktop
En bref: Là il y a une différence entre tasksel et le processus d'installation de tâches par apt-get.
En regardant votre exemple:
Sudo apt-get install 'lamp-server^'
évalue les tâches suivantes:
Installez ces paquets de la manière standard:
Sudo apt-get install package1 package2...
Sudo tasksel install lamp-server
cherchera une tâche appelée "lamp-server" dans l'un de ses fichiers de configuration sous /usr/share/tasksel/**/*.desc
:
/usr/lib/tasksel/info/lamp-server.preinst
. S'il existe, exécutez ce script.Installez les paquets avec apt-get en utilisant la commande suivante:
debconf-apt-progress -- apt-get -q -y -o APT::Install-Recommends=true -o APT::Get::AutomaticRemove=true install package1 package2 ...
Recherchez /usr/lib/tasksel/info/lamp-server.postinst
. S'il existe, exécutez ce script.
tasksel est plus puissant dans le traitement et la sélection des tâches. Il peut exécuter des scripts supplémentaires avant/après l'installation/la suppression de tâches. Et le plus gros avantage: vous pouvez modifier des tâches et en créer de nouvelles très facilement. Il n'est pas possible d'éditer un fichier de liste de paquets officiel sans inconvénients (signature valide).
Retour à votre première question:
Dans votre cas particulier, les deux commandes sont presque équivalentes (supposons que vous ayez activé les deux APT::Install-Recommends
et APT::Get::AutomaticRemove
). La seule différence est l'état du paquet étendu de dépendances mysql-server
et Apache2
(défini sur "installé manuellement" avec plain apt-get).
Si vous n'utilisez pas les fonctionnalités de tasksel telles que la sélection de tâches (particulièrement utile lors de l'installation) et l'exécution de commandes supplémentaires avant et après certains blocages de tâches, une tâche est très similaire à un métapaquet. La différence est la suivante: une tâche n'est pas enregistrée en tant que package dans le cache APT.
Donc, si vous désinstallez une dépendance de tâche, les autres tâches ne sont pas marquées comme installées automatiquement, car elles ont été installées explicitement. Si vous désinstallez un méta-paquet, les dépendances sont supprimées avec autoremove
car leur état de package étendu est "installé automatiquement" (s'il n'est pas installé manuellement).
Remarque: Toutes les tâches distribuées dans Debian installent un métapaquet nommé task-TASKNAME
.
Donner votre exemple:
Sudo apt-get install kubuntu-desktop
kubuntu-desktop
. Les dépendances sont "auto installées".Sudo apt-get install kubuntu-desktop^
kubuntu-desktop
. Ils sont tous marqués comme "installés manuellement".Sudo tasksel install kubuntu-desktop
kubuntu-desktop
. Les dépendances sont "auto installées".