Je voudrais exclure des packages spécifiques de l'installation avec apt-get
, c'est-à-dire, installer un métapaquet sans la liste des packages spécifiques, de préférence avec une invocation de apt-get
.
Par exemple, dans la ligne de commande Ubuntu 14.04 LTS, j'installe l'environnement de bureau MATE. Dans 14.04 LTS MATE n'est pas une saveur officielle, donc j'ajoute un PPA:
sudo apt-get install software-properties-common # need them for 'apt-add-repository'
sudo apt-add-repository ppa:ubuntu-mate-dev/ppa
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
sudo apt-get update
puis installation:
sudo apt-get install xorg mate-core --no-install-recommends
Même sans les extras recommandés, mate-core
installe 3 émulateurs: xterm
, uxterm
et mate-terminal
, celui - ci manque de polices appropriées lorsqu'il est installé dans cette configuration minimale.
Supposons que je décide que 3 programmes de terminal seraient trop nombreux et que j'aimerais installer xorg
et mate-core
sans xterm
et mate-terminal
. je pourrais faire
sudo apt-get install xorg mate-core --no-install-recommends
sudo apt-get purge xterm mate-terminal
mais est-il possible de le faire en une seule fois? Y a-t-il une syntaxe comme
sudo apt-get install xorg mate-core --without xterm mate-terminal
la source
xterm
etmate-terminal
? En 15.04,mate-terminal
est une dépendance dure demate-desktop-environment-core
, qui est une dépendance dure demate-core
, et je suppose que le PPAmate-terminal
ne fournit pasx-terminal-emulator
(ce que fait le paquetage en 15.04).XTerm
et peut-êtreUXTerm
(je ne suis pas sûr du nom du package pour ce dernier)sudo apt-get install xorg mate-core --without xterm mate-terminal
aptitude
(ou un gestionnaire de packages graphique), vous pouvez (dé) sélectionner les packages à installer, et si l'un entraîne une dépendance cassée, une explication sera (généralement) donnée.Réponses:
Ainsi, noyau de compagnon dépend de
mate-desktop-environment-core
qui à son tour dépend demate-terminal
. Une dépendance ne peut pas être brisée facilement. Niapt-get
neaptitude
prend en charge une option--without
ou--exclude
et "conserver" les packages n'aidera pas:Bien sûr, on peut utiliser
dpkg --force-depends
pour installer un package, mais ce n'est peut-être pas ce que vous voulez.Une possibilité serait de remplir le
Depends:
drapeau avec un paquet factice:Maintenant
mate-core
devrait être en mesure d'installer sansmate-terminal
. Répétez la même chose pour les autres packages à exclure.Certes, c'est tout un effort et une
--without
option serait bien. Peut-être qu'un bogue de liste de souhaits peut être ouvert pour fournir de telles fonctionnalités à l'avenir, mais je doute que cela soit implémenté.Cependant, une option plus réaliste serait de demander au propriétaire du PPA de fournir un autre méta-package pour MATE avec des
Depends
packages de moindre importance .la source
Si vous utilisez
aptitude
ou un gestionnaire de package graphique (Synaptic, etc.), vous pouvez désélectionner les packages à installer tant qu'il ne provoque pas de problème de dépendance.Dans le cas de
aptitude
, avant d'installer un package (dans la vue graphique), il vous montrera pourquoi un package dépendant est installé. Dans mon cas, j'utilise KDE, et donc je n'ai pas de packages MATE. Si je lui dis d'installermate-core
, j'obtiens ce qui suit:Notez qu'il
mate-core
est marqué comme étant installé manuellement et que de nombreux autres packages sont en cours d'installation. Pour lemate-terminal
paquet, en bas, il est dit: "mate-desktop-environment-core
[l'univers] dépend demate-terminal
(> = 1.0.0)". Aller à l'entrée pourmate-desktop-environment-core
,"
mate-core
[l'univers] dépend demate-desktop-environment-core
(> = 1.8.0 + 9)". C'est pourquoimate-terminal
est en cours d'installation.Si, à la place, un package recommandé est en cours d'installation (plutôt que quelque chose qui dépend d'un autre package),
aptitude
vous le dira et vous pouvez lui dire de ne pas installer ce package sans aucune dépendance cassée. Par exemple:la source
Une autre méthode
Téléchargez le package principal qui dépend de l'autre. Extrayez le paquet, supprimez les dépendances indésirables, remballez-le. Ouvrez maintenant le nouveau package avec le programme d'installation du package gdebi . Il installera pour vous de nouvelles dépendances.
la source
Il existe une
apt
syntaxe spéciale pour des scénarios comme celui-ci: ajouter un trait d'union (signe moins) à un package le supprimera / ne l'installera pas, donc le plus proche du vôtresudo apt-get install xorg mate-core --without xterm mate-terminal
estsudo apt-get install xorg mate-core xterm- mate-terminal-
(repéré sur /ubuntu//a/1011439/182923 )Cela n'aidera pas dans ce cas, car vous rencontrerez
mais cela semble être la réponse à votre question spécifique. Donc pour référence, ce cross-post.
la source