Me gustaría excluir paquetes específicos de la instalación con apt-get, es decir, instalar un metapaquete sin la lista de paquetes específicos, preferiblemente con una invocación de apt-get.
Por ejemplo, en la línea de comandos Ubuntu 14.04 LTS, estoy instalando el entorno de escritorio MATE. En 14.04 LTS MATE no es un sabor oficial, así que agrego 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
luego instalar:
sudo apt-get install xorg mate-core --no-install-recommends
Incluso sin los extras recomendadas, mate-coreinstala 3 emuladores de terminal: xterm, uxtermy mate-terminal , este último carece de fuentes adecuadas, mientras que instalado en esta configuración mínima.
Supongamos que decido que 3 programas de terminal serían demasiados y me gustaría instalarlos xorgy mate-core sin xterm y mate-terminal. Yo podría hacer
sudo apt-get install xorg mate-core --no-install-recommends
sudo apt-get purge xterm mate-terminal
pero ¿es posible hacer esto de una vez? ¿Hay alguna sintaxis como
sudo apt-get install xorg mate-core --without xterm mate-terminal
fuente

xtermymate-terminal? En 15.04,mate-terminales una dependencia dura demate-desktop-environment-core, que es una dependencia dura demate-core, y supongo que el PPAmate-terminalno proporcionax-terminal-emulator(lo que sí hace el paquete en 15.04).XTermy tal vezUXTerm(no estoy seguro de cuál es el nombre del paquete para este último)sudo apt-get install xorg mate-core --without xterm mate-terminalaptitude(o algún administrador de paquetes gráfico), puede (des) seleccionar qué paquetes instalar, y si uno da como resultado una dependencia interrumpida, se le dará una explicación (generalmente).Respuestas:
Así, compañero de núcleos depende de
mate-desktop-environment-coreque a su vez depende demate-terminal. Una dependencia no se puede romper fácilmente. Niapt-gettampocoaptitudees compatible con una--withouto--excludeopción y "mantener" los paquetes no ayuda:Claro, uno puede usar
dpkg --force-dependspara instalar un paquete, pero tal vez eso no sea lo que desea.Una posibilidad sería llenar la
Depends:bandera con un paquete ficticio:Ahora
mate-coredebería poder instalar w / omate-terminal. Repita lo mismo para otros paquetes que se excluirán.Es cierto que esto es un gran esfuerzo y una
--withoutopción sería buena. Tal vez se pueda abrir un error de la lista de deseos para proporcionar dicha funcionalidad en el futuro, pero de alguna manera dudo que esto se implemente.Sin embargo, una opción más realista sería solicitar al propietario del PPA que proporcione otro metapaquete para MATE con
Dependspaquetes de menor tamaño establecidos.fuente
Si usa
aptitudeun administrador de paquetes gráfico (Synaptic, etc.), puede anular la selección de qué paquetes deben instalarse siempre que no cause un problema de dependencia.En el caso de
aptitude, antes de instalar un paquete (en la vista gráfica), le mostrará por qué se está instalando un paquete dependiente. En mi caso, uso KDE, por lo que no tengo ningún paquete MATE. Si le digo que se instalemate-core, obtengo lo siguiente:Observe que
mate-coreestá marcado como instalado manualmente y que se están instalando muchos otros paquetes. Para elmate-terminalpaquete, en la parte inferior, dice, "mate-desktop-environment-core[universo] depende demate-terminal(> = 1.0.0)". Yendo a la entrada paramate-desktop-environment-core,"
mate-core[universo] depende demate-desktop-environment-core(> = 1.8.0 + 9)". Por esomate-terminalse está instalando.Si, en cambio, se está instalando un paquete recomendado (en lugar de algo que depende de otro paquete),
aptitudese lo informará y usted puede decirle que no instale ese paquete sin ninguna dependencia rota. Por ejemplo:fuente
Otro método
Descargue el paquete principal que depende del otro. Extraiga el paquete, elimine las dependencias no deseadas y vuelva a embalarlo. Ahora abra el nuevo paquete con el instalador de paquetes gdebi . Instalará nuevas dependencias para usted.
fuente
Hay una
aptsintaxis especial para escenarios como este: agregar un guión (signo menos) a un paquete lo eliminará / no lo instalará, por lo que lo más cercano a ustedsudo apt-get install xorg mate-core --without xterm mate-terminalessudo apt-get install xorg mate-core xterm- mate-terminal-(visto en /ubuntu//a/1011439/182923 )No ayudará en este caso, ya que se encontrará con
pero parece ser la respuesta a tu pregunta específica. Entonces, como referencia, esta publicación cruzada.
fuente