14 votos

Cómo instalar dos paquetes que escribir el mismo archivo

Señores, un enigma. Tengo dos paquetes que cada uno crea en /usr/bin/ffprobe. Uno de ellos es ffmpeg de la Deb repositorio Multimedia, mientras que el otro es ffmbc 0.7-rc5 construido a partir de la fuente. El enrollados a mano uno es crítico para el negocio, y se utilizó para instalar sólo de la fuente de donde era necesario. Sólo puedo suponer que iba a darle una paliza a la ffmpeg archivo, y nunca hubo malos efectos.

En teoría, debería ser aceptable para nuestro ffmbc paquete para sobrescribir el archivo del paquete ffmpeg. El inconveniente que hay es que una actualización de ffmpeg sobrescribir el ffmbc binario. ¿Hay alguna forma fácil de reconciliar esto?

12voto

Zoredache Puntos 84524

En sistemas basados en Debian no es la DPKG (por debajo de apt) pueden tener desviaciones de la instalación mediante el comando dpkg-divert

dpkg-divert es la utilidad que se utiliza para la configuración y actualización de la lista de los desvíos.

Archivo de diversiones son una manera de forzar a dpkg(1) no instalar un archivo en su ubicación, pero para un desviado ubicación. ... Los administradores del sistema pueden también el uso de reemplazar algún paquete del archivo de configuración, o cuando algunos archivos (que no están marcados como "conffiles') deben ser conservados por dpkg, cuando la instalación de una nueva versión de un paquete que contiene los archivos.

Así que para tu caso podrías usar un comando como este para la instalación de un desvíos. (Yo no lo he probado, consulte la página man y verificar que esto se parece a la derecha.)

dpkg-divert --local --divert /usr/bin/ffprobe.ffmpeg --rename /usr/bin/ffprobe

8voto

Joel E Salas Puntos 4489

Otra solución que he encontrado es cambiar la forma en la que construí el ffmbc paquete. Generalmente es posible pasar una alternativa prefijo para el propósito de cambiar el final de las rutas de los archivos instalados:

./configure --prefix=/usr/local

Para los paquetes de Debian, esto va en el ${package}/archivo debian/rules de la siguiente manera:

override_dh_auto_configure:
    ./configure --enable-gpl --prefix=/usr/local

Poniendo el ffmbc archivos en /usr/local, puedo mantener el ffmpeg archivos en /usr y permitir que cada paquete para actualizar de forma independiente.

-1voto

Onlyjob Puntos 176

Los paquetes que proporcionan mismo archivo(s) debe entrar en conflicto unos con los otros, esto no es un bug (por favor, considere la posibilidad de denunciar tales casos). Si usted construir software de fuentes e instalar usando make install (o similar), asegúrese de que va a /usr/local para evitar conflictos con la gestión de paquetes.

Por favor, tenga en cuenta que deb-multimedia.org está en desuso repositorio no oficial conocido por causar conflictos con los paquetes oficiales.

Si el software que usted necesita no está empaquetado para Debian , a continuación, puede enviar embalaje solicitud RFP pero por favor, consulte las solicitudes existentes primera.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: