Digamos que hay un software que no quiero instalar apt
, pero de forma manual. (TeXLive, porque quiero usar la versión 2011 y apt
solo tengo la versión 2009).
Digamos que hay otro software que me gustaría instalar apt
, pero que depende del primer software. (Vim LaTeXSuite, ya que es difícil instalarlo manualmente para uso en todo el sistema).
Por defecto, apt
no "ve" el primer software y procede a instalar muchos cruft innecesarios y no deseados (es decir, TeXLive 2009) solo para satisfacer los metadatos de dependencia.
¿Cómo puedo:
¿Dice
apt
que un paquete dado (por ejemplotexlive
) está instalado para todos los fines prácticos y que no debe instalarse como dependencia de otro paquete?¿Le dice
apt
a instalar un paquete dado (por ejemplovim-latexsuite
) sin preocuparse por sus dependencias?
apt
Revisé varias páginas de manual relacionadas y llegué vacía, y también encontré esta pregunta en este sitio, pero siento que tiene que haber una manera menos hack de hacerlo, ¿no?
(De mis tiempos en Gentoo, recuerdo emerge --inject
y /etc/portage/package.provides
básicamente busco los apt
equivalentes).
fuente
Respuestas:
Debe usar el
equivs
paquete para generar metapaquetes que proporcionen estas dependencias, y luego usarlodpkg
para instalar estos paquetes.Instalar
equivs
y leer su documentación debería ser suficiente, pero esta guía para Ubuntu es bastante extensa y debería aplicarse también a otros sistemas APT.Además, si considera que un paquete debería poder instalarse sin la dependencia especificada, debe presentar un error contra el paquete, explicando el caso en el que la dependencia no es necesaria.
En este caso ,
texlive-base-bin
parece ser solo "Recomendado" y no una "Dependencia" en la distribución base de Debian al menos (probablemente en parte porquetexlive
es un paquete tan enorme), pero porque es común instalar TeX Live en Debian desde arriba la versión de distribución a menudo se queda muy rezagada (por la razón de que el paquete es una bestia que a menudo no se puede empaquetar sin un trabajo sustancial, que es realizado principalmente por una o unas pocas personas, que afirman que tienen vidas al lado de Debian), elequivs
El truco se usa a menudo con TeX Live (wow, esa oración se salió de control :-)).Adición : para obtener instrucciones más detalladas para aquellos que buscan instalar TeXLive fuera del sistema de paquetes, estas instrucciones en TeX.SX son más extensas y probablemente continuarán actualizándose. También incluyen instrucciones más explícitas sobre el
equivs
paso.fuente
equivs
paquete.equivs
funcionó muy bien Creé la versión 9999 detexlive-base-bin
, anulando el paquete original "ficticio" del mismo nombre (proporcionado portexlive-binaries
), e instalévim-latexsuite
sin ningún problema.Puede usar el
--nodeps
indicador en dpkg, que debería instalar el paquete sin ninguna dependencia.Hay una pregunta muy similar sobre Serverfault que vale la pena ver también
fuente
Lo siguiente eliminará la dependencia de un archivo .deb, en este caso eliminando la dependencia de libperl5.20 de freeradius:
Esto le permite instalar el paquete sin saber que existe la dependencia.
Si está instalando manualmente versiones específicas de paquetes, es posible que también desee dejar
apt-get upgrade
de actualizar el paquete en el futuro:fuente