En un CentOS 7, instalé foobar versión 2, compilado de las fuentes.
¿Cómo puedo informar a yum de esa instalación para que no instale foobar versión 1 por dependencia?
Instalación de foobar
$ git clone https://example.com/foobar.git
[...]
$ cd foobar
$ make && sudo make install
[...]
$ foobar --version
foobar v2
Instalación de un paquete que requiere foobar
$ sudo yum install baz
[...]
---> Package baz.x86_64 0:3.14.15-9 will be installed
--> Processing Dependency: foobar >= 1 for package: baz-3.14.15-9.x86_64
[...]
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
baz x86_64 3.14.15-9 example 1.1 M
Installing for dependencies:
foobar x86_64 1.0.0-0.el7 example 4.5 M
Me gustaría saber que foobar 2 está instalado y dado que baz requiere foobar >= 1
o simplemente foobar
, foobar-1.0.0-0.el7.x86_64.rpm
no debe instalarse.
Respuestas:
Haga un esfuerzo adicional al agregar software personalizado a su sistema y empaquete sus adiciones en un RPM . Consulte Martin Streicher, 12-01-2010, Creación y distribución de paquetes , IBM sobre cómo hacerlo.
A continuación, instale ese RPM resultante para que pueda funcionar bien con el manejo de conflictos y dependencias de su administrador de paquetes, los procedimientos de actualización, degradación y eliminación y los informes de seguridad.
fuente
Otra opción (aunque definitivamente no es la mejor respuesta): hacer un archivo rpm ficticio con el nombre en cuestión.
Necesitará
rpmbuild
instalado, y un tarball ficticio.Escribe el archivo de especificaciones ficticio. Este funciona para mí en Fedora 29. También debería ser bueno en CentOS 7.
Ajuste el nombre del paquete y el número de versión según sea necesario, y luego cree el paquete.
El archivo rpm "binario" de salida será
~/rpmbuild/RPMS/noarch/example-0.0.0-1.fc29.x86_64.rpm
fuente
Así no es como
rpm
funciona.rpm
utiliza un db donde almacena qué rpms están instalados en el sistema. Si instala algunos archivos manualmente,rpm
no lo sabe.La mejor manera de resolver esto es instalar foobar 2 con rpm. Otras soluciones solo serían una solución alternativa y no funcionarían a largo plazo.
fuente
¿Puede
rpm --nodeps
ser la respuesta que estás buscando? Se discutió en un hilo anterior aquí en Serverfault.( dile a yum que ignore una sola dependencia )
fuente